我是新手,对新手问题感到抱歉 我在/ home / Cassie / localRepo创建了一个名为“localRepo”的本地存储库。我有两个分支,默认和src1-branch。对于默认分支,它具有file1,file3,对于src1-branch,它具有file1,file2和file4。每当我尝试列出该存储库中的所有文件时,它只显示属于当前分支的文件。
例如,如果当前分支是src1-branch,那么如果我键入
ls -l
仅显示
file1 file2 file4
是否有任何方法可以查看所有文件属于同一个存储库,例如
file1 file2 file3 file4
我试过了
hg status --all
它仍然只显示了file1 file2和file4。
我的机器是带有mercurial 1.7和tortoisehg的redhat linux工作站6。
非常感谢,
答案 0 :(得分:1)
hg manifest --all
列出所有修订版中的所有文件,包括已删除和重命名的文件。
假设:
o 5: Removed file1, Renamed file3->file6
|
| @ 4: Added file5
| |
| o 3: Added file4
| |
o | 2: Added file3
| |
o | 1: Added file2
|/
o 0: Added file1
hg manifest --all
的结果:
file1
file2
file3
file4
file5
file6
答案 1 :(得分:0)
我没有标准的方法,但您可以使用您提到的方法。
hg branches ------ tells you all the branch
branch1
branch2
.....
hg update -C branch1 ----- switches you to a branch1
hg status --all ----- provides all files for branch1
hg update -C branch2 ----- switches you to branch2
hg status --all ----- provides all the files for branch2
您可以合并所有分支的输出并删除冗余文件名。 你可以写一个脚本来做到这一点。
-C
也很危险,因为它在更改为分支时会丢弃文件。因此,只有在您要提交的工作目录中没有任何更改时才应该使用它。
警告:这个想法通常不是查看两个不同分支中的文件的好方法。
您可以在branch1中添加文件c.txt,然后在branch2中添加另一个具有不同内容的c.txt。
在这种情况下,从语义上讲,它是两个具有相同名称的不同文件。