我正在http://gnymb.us构建基于浏览器的Web开发软件。最终,我们将提供有限的离线支持,以便您可以通过利用localStorage,HTML5数据库或Google Gears离线编辑文件。
我目前正在构建Subversion,Mercurial和Git的源代码控制支持。这在用户在线时非常有用。您可能知道,Mercurial和Git允许我们离线工作。离线支持编辑器的一个难点是,由于该软件是基于浏览器的,因此用户将无法使用离线SCM功能。
理论上可以将Mercurial或Git捆绑在浏览器扩展中然后修改它以利用基于散列的localStorage或HTML5数据库而不是文件系统层次结构 - 而不重写所有内容吗?我知道Mercurial使用Python,所以我想在浏览器扩展中使用Python。我也对其他解决方案持开放态度。
答案 0 :(得分:1)
您可以为每个浏览器构建一个插件(或基于本机代码的浏览器扩展),并将VCS代码链接到其中。但你立即得到3个问题:
答案 1 :(得分:1)
你可以在扩展中重新实现git的基本部分。 Git的模型非常简单,已经在其他语言中完成,例如Ruby (grit)。