2

我是善变的新手,很抱歉新手问题。
我在 /home/Cassie/localRepo 创建了一个名为“localRepo”的本地存储库。我在那里有两个分支,default 和 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。

非常感谢,

4

2 回答 2

2

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
于 2012-06-23T01:04:22.497 回答
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 具有不同的内容。

在这种情况下,从语义上讲,它是两个同名的不同文件。

于 2012-06-22T21:05:09.810 回答