views:

92

answers:

2

I would like to be able to take advantage of the benefits of GIT (and its workflows), but without the cost of disk access - I just would like to leverage the distributed revision control capabilities of GIT to produce something like a hybrid of memcached and GIT. (preferably in .NET)

Is there such a beast out there?

A: 

I don't think this can be done on the basis that the compilers and resources used by them are not open source / shared by microsoft.

Technically though there's no stopping you using C# as a scripting language in your apps and building with your own compiler ... but why would you?

I'm guessing the idea is that Microsoft handle that for you.

Having said that, maybe if you can figure out what the parts are and programmatically call them you should be able to grab a stream of JIT processed code from there you can put it where you want (in theory of course), but that would mean making unsafe calls in to undocumented assemblies that Microsoft have probably obfusticated just to make life real easy.

Has anyone seen any source for the actual compilers in .Net? Can't say i have ...

Would make for some interesting tricks though.

HOWEVER ....

In the reflection classes i'm sure you can call "Emit" somewhere that gets the framework to write things like the code for statements / type definitions, maybe there's something in those namespaces that takes the output of Emit and stuffs it in to the compilation process...

What a cool concept !!!

Wardy
I am using C#/.NET for my app, I don't want to convert GIT to .NET. Want I want is the feature set of GIT, since I think it is a good way _generally_ to manage data, without the necessary dependence on GNU/Linux and actual file persistence.
Andrew Matthews
+1  A: 

Why don't you just use the Windows version of git and call it using Process.Start()?

As for the storage, you could have the repository in a RAM disk (like Andrew suggested above), but I'm not sure how big the performance gain would be. I would think that having it on harddisk is perfectly fine, especially considering that if you use it often, it would be in cached in RAM anyway.

svick