35

最近、職場のサーバーで非常に整理されていないサイトを再編成しました。この Web サイトは、Mercurial を使用してバージョン管理されています。すべてを再編成しました。何千ものファイル。を実行すると、 で表される大量hg statusの新しい追跡されて?いないファイルと、 で表される追跡されていないファイルと同じファイルである大量の欠落ファイルが表示されます!

これらのファイルを移動したことを Mercurial に伝えるにはどうすればよいですか? 1 つずつ実行できることはわかっていますが、数千あることを考えると、これはオプションではありません。

4

3 に答える 3

92

hg mv --afterすでにファイルを移動したことを示すために使用できます。

于 2012-05-31T21:22:59.970 に答える
25

hg addremoveファイルがデフォルトで 100% 類似している場合、事後的に名前変更を検出します。類似性のしきい値は で上書きできます-s

また、TortoiseHg をthg guess使用している場合は、スライダーを使用して類似性を設定し、追加されたファイルと削除されたファイル間の結果の一致を表示できるダイアログが表示されます。次に、名前を変更して記録するペアを選択します。

例:

C:\>hg init test
C:\>cd test
C:\test>echo >file1
C:\test>echo ONE>file1
C:\test>echo TWO>file2
C:\test>hg ci -Am init
adding file1
adding file2

C:\test>ren file1 file3
C:\test>ren file2 file4
C:\test>hg st
! file1
! file2
? file3
? file4

C:\test>hg addrem
removing file1
removing file2
adding file3
adding file4
recording removal of file1 as rename to file3 (100% similar)
recording removal of file2 as rename to file4 (100% similar)

C:\test>hg status -C   # -C shows file copies.
A file3
  file1                # file3 copied from file1...
A file4
  file2                # file 4 copied from file2...
R file1
R file2
于 2012-06-01T04:54:38.973 に答える
14

を使用しhg addremoveます。ファイルを移動するだけで、Mercurial がそれを認識していると期待することはできません — 追跡対象のファイルを移動する場合は、hg mv.

于 2012-05-31T21:06:58.740 に答える