2013-08-22 43 views
0

現在我運行hg stat並在我已驗證的文件旁邊有一個很大的紅色R實際上是在那裏。Mercurial hg stat錯誤地將文件顯示爲已刪除 - 爲什麼?

我在這裏通過:使用hg rename,試圖恢復到預先重命名的修訂版(順便說一下,它不起作用),然後將.orig複製回其原始文件名。

但是現在我仍然有大的R。我可以通過在文件上調用hg revert來處理這個問題,然後複製.orig,但爲什麼這首先發生?在其他情況下會發生嗎?

回答

1

比方說你有一個文件foo.txt和你一樣刪除(R)和加入(A)新文件bar.txt標記

$ hg rename foo.txt bar.txt 
$ hg status 
A bar.txt 
R foo.txt 

foo.txt標記。你試圖恢復。但是當你由於某種原因,說失敗:

試圖恢復到一個重命名前的版本(其中,順便說一句,沒有工作)

所以一切都沒有改變。 foo.txt仍被標記爲已刪除,並且bar.txt被標記爲已添加。

如果您手動恢復文件foo.txt並不重要。

$ mv bar.txt foo.txt 
$ hg status 
R foo.txt 
! bar.txt 

它只會說您添加重命名文件bar.txt缺失。

Mercurial記錄了您的操作並跟蹤添加和刪除的文件。手動添加和刪除文件無濟於事。要解決這個問題,您應該指示mercurial重新添加foo.txt並刪除bar.txt

$ hg add foo.txt 
$ hg status 
! bar.txt 
$ hg remove bar.txt 
$ hg status 
$ 
相關問題