理论上可以将 Mercurial 或 Git 捆绑到浏览器扩展中吗?
我正在 http://gnymb.us 构建基于浏览器的 Web 开发软件。最终,我们将提供有限的离线支持,以便您可以利用 localStorage、HTML5 数据库或 Google Gears 离线编辑文件。
我目前正在构建对 Subversion、Mercurial 和 Git 的源代码控制支持。当用户在线时,这非常有效。如您所知,Mercurial 和 Git 允许我们离线工作。编辑器离线支持的一个困难是,由于该软件是基于浏览器的,用户将无法利用离线SCM功能。
理论上是否可以将 Mercurial 或 Git 捆绑到浏览器扩展中,然后对其进行修改以利用基于哈希的 localStorage 或 HTML5 数据库而不是文件系统层次结构 - 而无需重写所有内容?我知道 Mercurial 使用 Python,所以我想在浏览器扩展中使用 Python。我也愿意接受其他解决方案。
I am building the browser-based web development software at http://gnymb.us. Eventually we will have limited offline support, such that you can edit your files offline by leveraging localStorage, HTML5 databases, or Google Gears.
I am currently building in source control support for Subversion, Mercurial, and Git. This works great while the user is online. As you may know, Mercurial and Git allow us to work offline. One difficulty to offline support for the editor is that, because this software is browser-based, the user will not be able to utilize offline SCM features.
Would it be theoretically possible to bundle Mercurial or Git in a browser extension and then modify it to utilize hash-based localStorage or HTML5 databases rather than a file system hierarchy--without rewriting everything? I know Mercurial uses Python, so I'd want to use Python in the browser extension. I'm open to other solutions as well.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以为每个浏览器构建一个插件(或基于本机代码的浏览器扩展),并将 VCS 代码链接到其中。但你立即遇到 3 个问题:
You can build a plugin (or a native code based browser extension) for each browser, and link the VCS code into it. But you instantly get 3 Problems:
您可以在扩展中重新实现 git 的基本部分。 Git 的模型非常简单,并且其他语言已经做到了这一点,例如 Ruby (grit)。
You could reimplement the essential parts of git in the extension. Git's model is pretty simple and this has already been done in other languages, for instance Ruby (grit).