2010-05-18 1 views
10

Я хотел бы иметь возможность воспользоваться преимуществами GIT (и его рабочих процессов), но без затрат на доступ к диску - я просто хотел бы использовать возможности распределенного контроля версий GIT для создания чего-то вроде гибрида memcached и GIT. (желательно в .NET)Кто-нибудь создал репозиторий GIT в памяти?

Есть ли такой зверь там?

+6

Будет ли RAM-диск опцией? –

+0

Существует реализация git в C#, называемая git #, но она находится на очень ранних стадиях разработки. –

+0

Спасибо Якуб. Ссылка http://www.eqqon.com/index.php/GitSharp –

ответ

0

Я не думаю, что это можно сделать на том основании, что используемые ими компиляторы и ресурсы не являются открытым исходным кодом/совместно используемыми Microsoft.

Технически, хотя вы не запрещаете использовать C# в качестве языка сценариев в своих приложениях и создаете свой собственный компилятор ... но зачем вам?

Я предполагаю, что идея Microsoft заключается в том, что это для вас.

Сказав это, возможно, если вы сможете выяснить, какие части и программно назвать их, вы должны иметь возможность захватить поток обработанного кода JIT, там вы можете поместить его туда, где хотите (теоретически, конечно) но это означало бы сделать небезопасные звонки в недокументированные сборки, которые Microsoft, вероятно, устранила, просто чтобы сделать жизнь реальной.

Кто-нибудь видел какие-либо источники для реальных компиляторов в .Net? Не могу сказать, что у меня есть ...

Сделал бы для некоторых интересных трюков.

ОДНАКО ....

В классах отражения я уверен, что вы можете назвать «Выделяют» где-то, что попадает в рамки, чтобы писать такие вещи, как код для определения заявлений/типа, может быть, есть что-то в этих пространствах имен который берет выход Emit и вставляет его в процесс компиляции ...

Какой классный концепт !!!

+0

Я использую C# /. NET для своего приложения, я не хочу конвертировать GIT в .NET. Хотелось бы, чтобы я хотел использовать набор функций GIT, так как я считаю, что это хороший способ для управления данными без необходимой зависимости от GNU/Linux и фактического сохранения файлов. –

1

Почему бы вам просто не использовать версию git для Windows и назвать ее с помощью Process.Start()?

Что касается хранилища, вы можете иметь репозиторий в RAM-диске (например, Andrew, предложенный выше), но я не уверен, насколько велика будет эффективность. Я бы подумал, что иметь его на жестком диске отлично, особенно учитывая, что, если вы его часто используете, он будет в кэшированном в RAM в любом случае.