是否有任何替代Floobits与GIT / CVS,如编辑器日志记录

时间:2014-07-21 09:07:50

标签: git svn intellij-idea liveedit

我喜欢Floobits,但是对于这个项目,我需要一个替代方案来跟踪文档的更改和时间,特别是因为我们将这个项目作为学位的一部分而且教学人员想要一种保持方式跟踪谁为团队工作做出贡献。

由于显而易见的原因(广泛使用,行业标准等),他们建议使用GIT和CVS(Subversion)但老实说我讨厌这些系统因为当你需要一个以上的人时它们不起作用同时编辑代码。因此我发现并使用了Floobits。我知道您可以并行运行Floobits和GIT(使用支持的IDE,我们将使用Jetbrains构建的IDE,我们可能会使用Java,因此它可能是IntelliJ)但是当我们提交GIT时,所有更改都会归功于推动者。所以......那不是一个选择。

不需要意见。只是一个解决方案,因为我肯定不是第一个遇到这个问题的人!?

我会接受涉及自定义服务器设置的黑客攻击,只要“最终用户”设置不会过于复杂。

1 个答案:

答案 0 :(得分:0)

好的,在这个时候,没有任何协议或服务具有适合上述描述所需的功能(我只是编辑我的问题,但这只是一个解决方案的答案,如果只有像我这样的人实际上实现原型。)

在这个阶段,一个好的解决方案是在Node.js之类的异步服务器系统上运行的基于云的编辑器(cloud9以类似于所需的方式运行),在那里可以独立地在编辑器级别维护同步性每个人的变化都会改变他们的文件副本。该系统将是一个痛苦的调试,但一旦运行

每个新用户都可以: 1.使用GIT / CVS / Mercurial帐户登录 2.环境将克隆最新代码的副本。 然后他们可以实时编辑,看看其他人在制作时的变化。 4.然后根据其文件副本中包含的代码进行提交和提取,同时仍然能够看到其他未提交的更改(此类更改需要标记为此类,锁定以防止并行编辑,除非受到邀请原作者[有限的协作编程]并用原作者userId标记。

建议的系统组件:

  1. Node.js服务器(简单)
  2. 基于HTML的实时同步编辑器(简单)
  3. 每个用户的GIT集成,同步文件副本的相关分离,同时保持实时更改。 (不那么容易)
  4. 将2和3合并到一个系统中(我进行了更改:我的文件副本更新,并且通用编辑环境显示一个锁定的代码段,其中相应的用户原始代码与更改I'已制作(GIT差异分辨率GUI样式);其他人进行更改:我的代码不受影响,但我可以看到他们所做的更改,但我无法对我的代码块副本进行更改)
  5. 将来

    1. 允许对同一代码块进行并行更改,并允许所有用户查看尚未提交到中央存储库的每个代码段的所有不同更改。所有用户都可以访问主代码库的几乎无限的分支,但分叉只包含文档特定部分的代码,而不是整个项目。
    2. 最简单的分解我可以实现,如果你还没有得到它。 (我正在重读这篇文章而我的脑袋正在旋转)我们使用了2个并行版本控制系统。

      1. 顶级(编辑)会在进行更改时对所有用户进行更改,同时显示谁进行了相关更改。
      2. 第二级(传统方法)维护每个用户代码的分离,并且只有在用户请求的更改合并到中央存储库后才提交更改。
      3. 从理论上讲,这就是现有系统的工作方式,但是......在他们仍在编辑时,没有简单的方法可以查看代码库中的其他人的分支。除非您使用像Github或Stash这样的基于Web的系统。即使这样,你也无法看到代码,直到他们已经承诺了他们的分支,并且我已经一次又一次地看到过GIT可以在中央回购中过时的文件。 t解决对fork已经合并的其他更改所做的更改,因为行号和代码已经发生了巨大的变化。

        无论如何,这是我解决问题的方法。我知道很多人对目前已经使用的非同步系统感到满意但是......根据我迄今为止在UNI的团队合作经验,对于某种形式的同步编辑环境存在巨大需求,同时仍然提供问责制由现有的GIT / CVS / Mercurial系统提供。