2010-12-29 19 views
9

を(HG ST、HGが追加)、それはhg st?状態で表示され、hg addに追加されます。水銀をサブディレクトリに追加されたファイルに気づかせるには?私は私のプロジェクトのルートに新しいファイルを追加する場合

ただし、新しいファイルをサブディレクトリに追加すると、それはhg stには表示されず、明示的にファイルを追加すると追加されます(ファイルのディレクトリを追加しても追加されません)。

は、どのように私はSubversionがそれらに気づく方法と同じように、サブディレクトリ内のファイルに気付く水銀得ることができますか?

おかげ

+0

これは(すなわち、その名の独立した)、または特定のもののための任意のサブディレクトリのために発生しますか? –

+0

私の答え/推測の例のように、 'hg init'から始めて、問題を示す具体的な例を投稿してください。 –

+0

は 'HG状態--all'あなたのファイルのリストを与えていますか? – Matt

答えて

14

まあ、平野hg add余分な引数なしでは、同様にサブディレクトリ内のファイルを追加し、それは基本的に追跡するために、未知のステータスを持つすべてのファイルを追加します。

しかし、単純なマスクを指定すると、現在の作業ディレクトリ(つまり、リポジトリに関連付けられている作業ディレクトリではなくhgコマンドの作業ディレクトリ)上でのみ動作します。それらのファイルを追加します。ルートディレクトリにいる場合は、それらのファイルを追加します。言い換えれば

、この:

hg add test* 

は、あなただけが現在位置しているディレクトリ内のファイルを操作します。

hg add **/test* 

これは、「現在のディレクトリとすべてのサブに 『テスト*』と一致するすべてのファイルを追加すると言う:

あなたはサブディレクトリを操作するためにHGを伝えるマスクを指定することによって、その動作をオーバーライドすることができますディレクトリ。あなたは星印のいずれかを削除した場合

、あなただけの現在の作業ディレクトリのサブディレクトリで動作する。

あなたが実行されたコマンドどの特定の投稿場合、それが役立つだろう、と出力があれば、の出力前後。

+1

私はマスクを適用していません。私は、サブディレクトリ内のファイルを追加し、 'HG st'を行うと、何も出力(ファイル用もない未知の'​​? '状態を)見ません。私がルートディレクトリで同じことをすると、ファイルが不明な状態で表示されます。サブディレクトリが.hgignoreで無視されないことに言及する価値はあります –

+0

ディレクトリの名前は何ですか?ファイルの名前は何ですか?場合によっては.hgignoreファイルを投稿できますか? –

+0

ああ、ここでも@マークトーロネンの答えをチェックしてみると、それがあなたの問題なのかもしれない。 –

3

は、同様にあなたのサブディレクトリにhg initましたか?もしそうなら、しないでください。以下は、問題を示しています

C:\>hg init project 
C:\>cd project 
C:\project>hg init sub 
C:\project>echo >file1 
C:\project>echo >sub\file2 
C:\project>hg st 
? file1 

それを修正するためのサブフォルダの.hgディレクトリを削除します。

C:\project>rd /s/q sub\.hg 
C:\project>hg st 
? file1 
? sub\file2 

Subversionのとは異なり、Mercurialは唯一のプロジェクトのルートに.hgディレクトリを使用しています。

+0

ありがとうございました。しかし、いいえ、私は 'hg init'をサブディレクトリとしていませんでした。私のルート以外に' .hg'ディレクトリはありません。他のアイデア? –

+0

問題の原因となっているコマンドの完全な例を投稿することだけが考えられます。あなたは.hgignoreをまったく持っていますか?多分何かが偶然マッチングしているかもしれません。まったく新しいディレクトリで 'hg init'を実行し、ファイルを作成し、サブディレクトリを作成し、サブディレクトリにファイルを作成し、' hg status'を実行するとどうなりますか?両方のファイルが表示されます。 –

関連する問題