2012-03-07 21 views
2

私は_project_ディレクトリを持っています(プロジェクトという名前はありませんが、下線が引かれていますが、いくつかのサブディレクトリがあります)。 100Mbのサイズの周りには、内部に.hgレポを持つサイズがあります。hg status新しい移動されたディレクトリを無視する

もう1つは持っていましたが、ディレクトリに.hgレポが入っています。これは_project_に完全に移動し、hg statusに移動しました。何も現れなかった! 5年間の後ろまで実行されている日付のファイルがあり、そのうちのいくつかは、プロジェクトレポよりも古いですが、私はそれは問題べきではないと思う

何か。

いいえ.higignoreは、これらのいずれの場所でも使用できません。

hg statusがサブディレクトリにこれらの「新しい」ファイルを表示しない理由を知りましたか?名前の下線には何か関係がありますか?

...

「ネストされた」repos?

\_project_\.hg 
\_project_\_something_\.hg 
+0

入れ子になったリポジトリがあります。正しい? – zerkms

+0

@zerkms - 上記の意味ですか?うん。 – Rook

+0

それらをネストすることはできません。ネストされたリポジトリは特別な方法で処理されます:http://mercurial.selenic.com/wiki/Subrepository?action=show&redirect=subrepos – zerkms

答えて

5

リポジトリを手動でネストしたため、問題が発生しました。それは間違っていて、動作するはずがありません。外側にはhg statusを使用している間は、ネストされたリポジトリに追加されたファイルは表示されません。正しいネストが問題を解決します。

https://www.mercurial-scm.org/wiki/Subrepository

+0

ありがとうございます!私はネストされたリポジトリを気にしない、ちょうどその状態は私にファイルの現在の状態を示す。いずれにしても、私は何も失うことはないことが非常に重要です...いずれにせよ、...ありがとう! – Rook

2

あなたのようなあなたの巣のリポジトリはと表示される場合:

\_project_\.hg 
\_project_\_something_\.hg 

、すべてのMercurialのコマンドは非常に慎重に、ネストされた_something_リポジトリを無視します。

これは2つのリポジトリ内の_something_にあるファイルを追跡するのが奇妙なので、これが行われます。また、

/home/mg/.hg/ 

/home/mg/src/foo/.hg/ 

の両方が存在するように、内側fooリポジトリは、私が上の仕事何かの単なるクローンである自分のホームディレクトリを制御するバージョン多くの人々があります。ここでは、hg statusが私のホームディレクトリのルートにあるときにfooにファイルを表示しないことが本当に素晴らしいです。

zerkmsが指摘するように、私たちはsubrepositoriesと呼ばれる機能を備えており、ネストされたリポジトリを特別な方法で扱うことができます。私はそれがあなたがここで欲しいものだとは思わない。

は、私はあなたが_something_でファイルの履歴を失いたくないということ、それを取ると、あなたが行うこと_project__something_を持っていると思います。その場合は、_something_内のファイルの名前を1つ下の階層にプッシュし、最上位に_project_のファイルを追加することができます。詳細はthis answerをご覧ください。

関連する問題