我在本地存储库中有两个分支:default
和s1
。
在default
分支处有一个名为def.txt
的文件,等等。 s1
分支包含名为set3.txt
,set1.txt
等的文件。我想将set1.txt
分支s1
添加到default
分支好。
当工作目录位于hg add set1.txt
分支时,我尝试使用default
命令。但是,由于default
分支没有该文件,我无法添加它,它总是会给我一条错误消息,例如"no set1.txt file found"
。
我不想使用merge
命令,因为我不想将s1
分支中的所有其他文件合并到default
分支。我只想添加一个文件set1.txt
。我也试过了hg transplant -b s1
,但似乎没有达到同样的目的。
所以任何想法如何解决这个问题?我将这两个分支的目标看作如下:
default
:def.txt
,set1.txt
等。
s1
:set1.txt
,set3.txt
等。
我的机器是Red Hat Linux Workstation 6,它有Mercurial 1.7.3和TortoiseHG 1.5。
答案 0 :(得分:5)
您可以使用技巧:将文件set1.txt
“还原”到分支s1
。由于分支是修订,这将起作用:
$ hg revert -r s1 set1.txt
答案 1 :(得分:0)
hg revert
是一个可爱的伎俩。我更倾向于使用hg cat -r s1 set1.txt > set1.txt
,但是更明确地做了你期望的事情。我认为这两个命令之间没有任何区别。
直观地说,您正在尝试将一个分支中的单个文件合并到当前分支中。快速谷歌发现这篇文章在DVCS中探索这个概念:http://josefbetancourt.wordpress.com/2011/01/13/merge-single-file-hg/