.net 有人制作过内存中的GIT存储库吗?

.net 有人制作过内存中的GIT存储库吗?,.net,git,caching,distributed-caching,in-memory-database,.net,Git,Caching,Distributed Caching,In Memory Database,我希望能够利用GIT(及其工作流)的优势,但不需要磁盘访问成本——我只想利用GIT的分布式版本控制功能来生产memcached和GIT的混合产品。(最好是在.NET中) 有这样的野兽吗?我认为这是不可能的,因为他们使用的编译器和资源不是开源的/由微软共享的 从技术上讲,尽管无法阻止您在应用程序中使用C#作为脚本语言,并使用自己的编译器进行编译。。。但你为什么要这么做 我猜是微软帮你处理的 话虽如此,如果你能弄清楚这些部分是什么,并通过编程调用它们,你应该能够从那里获取JIT处理的代码流,你可以把

我希望能够利用GIT(及其工作流)的优势,但不需要磁盘访问成本——我只想利用GIT的分布式版本控制功能来生产memcached和GIT的混合产品。(最好是在.NET中)


有这样的野兽吗?

我认为这是不可能的,因为他们使用的编译器和资源不是开源的/由微软共享的

从技术上讲,尽管无法阻止您在应用程序中使用C#作为脚本语言,并使用自己的编译器进行编译。。。但你为什么要这么做

我猜是微软帮你处理的

话虽如此,如果你能弄清楚这些部分是什么,并通过编程调用它们,你应该能够从那里获取JIT处理的代码流,你可以把它放在你想要的地方(当然理论上),但这将意味着对未记录的程序集进行不安全的调用,而微软可能只是为了让生活变得简单而对这些程序集进行了模糊处理

有人看过.Net中实际编译器的源代码吗? 不能说我有

不过会有一些有趣的把戏

然而

在反射类中,我确信您可以在某个地方调用“Emit”,让框架编写语句/类型定义代码之类的东西,也许在那些名称空间中有某种东西接收Emit的输出并将其填充到编译过程中


多么酷的概念

为什么不使用Windows版本的git,并使用
Process.Start()调用它呢


至于存储,您可以将存储库放在RAM磁盘中(就像上面Andrew建议的那样),但我不确定性能提升会有多大。我认为把它放在硬盘上是很好的,特别是考虑到如果你经常使用它,它无论如何都会缓存在RAM中。

RAM磁盘会是一种选择吗?在C#中有git的实现,称为“git”,但它处于非常早期的开发阶段。谢谢Jakub。链接是Jakub,如果您想添加您的评论作为答案,我很乐意将其标记为答案。我不能用你的评论这么做。我的应用程序使用C#/.NET,我不想将GIT转换为.NET。我想要的是GIT的特性集,因为我认为它通常是管理数据的好方法,而不必依赖GNU/Linux和实际的文件持久性。