在Subversion的旧时代,我有时会从现有的文件中获取一个新文件svn copy.然后,如果在他们共同的部分中更改了某些内容,我仍然可以使用svn merge更新派生版本.
要使用来自hginit.com的示例,请说"guac"配方已经存在,我想创建一个"superguac",其中包含如何为1000名狂热的足球迷提供鳄梨酱的说明.使用我刚才描述的过程,我可以:
svn cp guac superguac
svn ci -m "Created superguac by copying guac"
(edit superguac)
svn ci -m "Added instructions for serving 1000 raving soccer fans to superguac"
(edit guac)
svn ci -m "Fixed a typo in guac"
svn merge -r3:4 guac superguac
Run Code Online (Sandbox Code Playgroud)
因此错字修正将适用于superguac.
Mercurial提供了一个hg copy命令,将文件标记为原始文件的副本,但我不确定存储库结构是否支持类似的工作流程.这是相同的例子,我只仔细编辑我想在合并中使用的提交中的单个文件:
hg cp guac superguac
hg ci -m "Created superguac by copying guac"
(edit superguac)
hg ci -m "Added instructions for serving 1000 raving …Run Code Online (Sandbox Code Playgroud) mercurial ×1