我正在试验Hg,以便远离SVN但是想要了解我应该如何构建我的Hg存储库.我来自SVN背景(这可能会影响我对这应该如何工作的看法!)我的存储库目前看起来像这样:
Project1
trunk
branches
1.0
1.1
Project2
trunk
Run Code Online (Sandbox Code Playgroud)
这似乎是构建SVN存储库的"传统"方式.
我该如何用Hg重现这个?为了增加这一点,我喜欢'稳定','qa'和'dev'存储库/文件夹的想法,并且如果可能的话想介绍这个.
我是一名Hg初学者,所以欢迎任何帮助或建议.
giz*_*zmo 26
Subversion(SVN)和Mercurial(HG)存储库之间存在一些结构差异,或者简称repo,意味着您将如何"设计"您的层次结构:
trunk
/ branches
/ tags
结构可以帮助您找回"副本",不再需要.另一方面,分支和标签在mercurial中定义良好.标签实际上是您放在特定修订版上的名称,您可以要求提供所有现有标签.对于分支,您会看到有很多方法可以处理它们,但最适合SVN理念的方法是命名分支.考虑到这一点,并将其与您的稳定,质量保证(QA)和开发(开发)过程相结合,我建议如下:
示例:MyProject-1.0
[STABLE Repository, pulls from any/all QA]
- MyProject-1.0
[QA Repositories, branched from STABLE, pulls from any/all DEV ]
- QA_MyProject-001 (Person A)
- QA_MyProject-002 (Person B)
- QA_MyProject-003 (Person C)
...
- QA_MyProject-### (Person #)
[DEV Repositories, branched from STABLE or QA]
- DEV_MyProject-001 (Feature X)
- DEV_MyProject-002 (Feature Y)
- DEV_MyProject-003 (Feature Z)
...
- DEV_MyProject-### (Feature #)
1. DEV completes feature(s)
2. QA pulls feature(s) from DEV
3. STABLE pulls from all approved QA(s) (consolidating all changes)
Run Code Online (Sandbox Code Playgroud)
Hau*_*uge 19
但在你这样做之前 - 请检查一下:hginit.com - 这是一个半小时的读取,它有一个svn用户的部分.
让我更加明智,我决定放弃/ trunk/tag结构,并以不同的方式使用mercurial.我现在有一个每个项目的存储库,它只包含项目的结构,并使用mercurial tag命令进行标记.
杰斯豪格
Mercurial确实有很好的记录.您只需要知道在Wiki中查看的位置.
您可以查看Mercurial的wiki文章RepositoryNaming来查找您的一些答案.
您还应该阅读官方的Mercurial手册:Mercurial:The Definitive Guide
祝好运!