2011-08-13 53 views
4

我正在使用TortoiseHg。我有一個文件A.我使用重命名工具將它重命名爲B.一切似乎都很好。現在我要創建一個名爲A的新文件。當我使用該名稱創建一個文件並將它添加到回購站時,它向我展示了新文件與舊A(現在重命名爲B)的區別。Mercurial:重命名然後用舊名稱創建新文件

如何將A重命名爲B並能夠添加新的A,這是新的,並且沒有Hg認爲我正在修改舊的,現在不存在的A?

編輯:其實我最初做的是正確的事情,我只是沒有正確地進行重命名。 (我承諾,但只承諾新更名的文件,而不是現在不存在的舊文件。)

回答

3

您需要在重命名後提交,然後創建具有相同名稱的新文件。

$ hg mv A B 
$ hg commit -m "moving A→B" 
$ touch A 
$ hg add A 
$ hg commit -m "adding new A" 
+0

這就是我所做的,只是我沒有通過輸入這些命令做到這一點,我做到了通過從菜單從TortoiseHG上下文菜單中選擇「重命名」,然後選擇「提交」。看起來這在背後做了一個「複製」。我對Hg(或VCS)的細節並不熟悉,但我讀過在重命名時維護文件歷史存在問題。如果我做你的描述,它會保留的版本歷史,新的名稱b在,也讓我用乾淨的石板創建新文件?謝謝。 –

+0

'$汞柱日誌--follow B'會告訴你文件的整個歷史之前重命名 –

+0

'$汞柱MV ...'實現爲複製和刪除 –

3

假設您在存儲庫中的文件爲a.txt。要其重命名爲b.txt並添加一個名爲a.txt,使用TortoiseHg 2.x的不同的文件,請執行下列操作:

  1. 右鍵單擊a.txt。在上下文菜單中,單擊TortoiseHg>重命名文件
  2. 重命名對話框中,輸入b.txt進入目的地文本框。點擊重命名
  3. 右鍵單擊存儲庫文件夾。在上下文菜單中,單擊Hg Commit
  4. 提交提交窗口中,使您有兩個文件檢查,添加b.txt和刪除a.txt。輸入提交說明,然後單擊提交。關閉提交窗口。
  5. 創建新文件a.txt。用鼠標右鍵單擊它。在上下文菜單中,單擊TortoiseHg>添加文件
  6. 添加窗口中,確保已選中a.txt。點擊添加
  7. 右鍵單擊存儲庫文件夾。在上下文菜單中,單擊Hg Commit
  8. 提交窗口,使您有a.txt檢查。輸入提交說明,然後單擊提交。關閉提交窗口。

現在你有一個不同的a.txt,用新鮮的歷史,b.txt它記得它曾經被命名爲a.txt

P.S.這與Vaibhav Bajpai在他的回答中發佈的步驟完全相同。如果在處理用hg命令表示的步驟時遇到問題,則可能很難。

相關問題