2

私はmercurialが初めてなので、初心者の質問で申し訳ありません。
/home/Cassie/localRepo に「localRepo」というローカル リポジトリを作成しました。そこには、default と src1-branch の 2 つのブランチがあります。デフォルト ブランチの場合、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、ブランチに変更する際にファイルを破棄するので危険です。したがって、コミットする作業ディレクトリに変更がない場合にのみ使用する必要があります。

警告: 通常、この考え方は、2 つの異なるブランチにあるファイルを表示するのには適していません。

ブランチ 1 にいるときにファイル c.txt を追加し、別の内容でブランチ 2 に別の c.txt を再度追加できます。

この場合、意味的には、同じ名前の 2 つの異なるファイルです。

于 2012-06-22T21:05:09.810 に答える