个人存储库的Mercurial扩展

时间:2012-10-17 14:02:26

标签: version-control mercurial

我有这个想法,我希望我的版本控制系统如何表现,我想我会抛出这个想法,看看是否有人知道任何现有的方法来实现这一点。 我喜欢mercurial,所以这就是我针对这个问题的目标,但我很乐意听到可以实现这一目标的其他软件。

好的,问题就是这样。 作为一名研究员,我想要发布很多不同的东西。这可以是代码(小脚本或更大的应用程序),手稿,数据,课程作业等。 我不希望将所有内容存储在一个超级存储库中,因为

  1. 我希望“hg log”只显示与当前项目相关的内容
  2. 我可能希望在别处发布代码并保留历史记录。
  3. 感觉不对......
  4. 所以我当前的想法,我实现的是在中央服务器上有一个包含不同存储库的目录层次结构。像这样的东西(只有标记为hg repo的东西是一个存储库,其他一切都是标准的文件系统目录):

    -- ~/hgrepo/
           --  Projects/
                     --  Project 1 (hg repo)
                     --  Project 2 (hg repo)
    
           -- Code
                     --  MyCoolApplication
                                      -- MyAppSource (hg repo)
                                      -- SomeExternalPatchedLib (hg repo)
    
                     --  CodeProject 1 (hg repo)
    

    现在,这可以正常工作,因为我可以破解某些内容然后执行hg clone ssh://my.university.server.com/hgrepo/Code/CodeSample1然后编辑.hg / hgrc并更改服务器的默认路径。 但它有点麻烦。

    我想要的是一个允许我

    的扩展程序
    • 列出存储库,例如hg repo ls Code/以显示Code /
    • 下面的级别
    • 使用上面的简单路径克隆(跳过繁琐的ssh://和服务器主机名等)
    • 将本地存储库发布到远程存储库(即克隆它并更改默认路径,同时处理错误)

    基本上,我认为它类似于私有,自托管,bitbucket / github。 有人知道类似的系统吗?

    我只能通过SSH访问文件服务器,因此无法在主机上运行任何服务器应用程序。但我很高兴听到系统也需要一个,因为如果软件足够好,我可以改变它:)

1 个答案:

答案 0 :(得分:0)

Bitbucket免费提供私人回购。也许subrepositories就是你想要的。