2011-04-28 130 views
5

我在someFolder中創建並使用了Mercurial存儲庫。現在我發現需要跟蹤文件的一級。所以我需要的是創建someOtherFolder並將其移動someFolder。這應該沒問題。移動Mercurial存儲庫

在這一點上,我將有

someOtherFolder 
    someFolder 
     .hg 
     many other files 

有沒有辦法告訴水銀,以擴大其範圍,並開始跟蹤文件內someOtherFolder呢?

回答

6

有可能做到這一點一個更好的方式,但有一兩件事你可以做的是hg mv所有文件到一個新的子目錄someFolder,然後重命名父someFoldersomeOtherFolder,如:

someFolder$ mkdir someFolder 

someFolder$ hg locate | xargs --replace=FILE hg mv FILE someFolder/FILE 

someFolder$ hg status 
A someFolder/a.txt 
A someFolder/foo/b.txt 
R a.txt 
R foo/b.txt 

someFolder$ hg commit -m "moved files to subfolder" 
someFolder$ cd .. 
$ mv someFolder someOtherFolder 
+0

+1太棒了。我必須使用'-I FILE'而不是'--replace FILE' – Dori 2012-09-25 17:43:05

2

你應該能夠使用hg convert extension來做到這一點。

我沒有測試這一點,但這樣的事情可能工作:

$ echo include someFolder > /tmp/myfilemap 
$ echo rename someFolder someOtherFolder/someFolder >> /tmp/myfilemap 
$ hg convert --filemap /tmp/myfilemap /path/to/repo/foo /tmp/mysubfoo-repo