2013-03-26 135 views
1

我在這個文件中工作,我遇到了一段代碼,我認爲這段代碼在歷史的某個時刻已經發生了變化,我想知道它發生了什麼變化。Mercurial - 在沒有更新的情況下查看文件的歷史記錄

這是一個非常大的文件,有很多歷史,所以當我使用hg diff時,我得到一個巨大的列表,我認爲它不是高效的搜索。

如果我可以查看文件的舊版本,看看文件在某個時間點看起來是什麼樣子,那將會非常簡潔。然後我可以看到代碼是如何工作的,這樣我就可以得出錯誤是如何演變的。當然,我想在不更新文件的情況下執行此操作,因爲我目前正在使用該文件並對其進行了更改。

那麼,有沒有什麼辦法可以查看文件的歷史記錄而不更新它?

回答

2

有幾個工具可以幫助您:

獲取文件的歷史,你可以只用hg log FILE這可能是最好的起點。

您還可以使用hg annotate FILE,其中列出了文件中的每一行,並說明哪個修訂版將其更改爲與當前版本相同。它也可以使用--rev REV命令尾來進行修訂,以查看文件的舊版本。

要僅列出給定修訂版中文件的內容,您可以使用hg cat FILE --rev REV

如果證明使用這些工具來追蹤錯誤非常困難,那麼您可以將您的資源庫克隆到別處,並使用hg bisect來追蹤它。

+0

謝謝,hg貓文件--rev REV是我一直在尋找 – rednaw 2013-03-26 12:49:07

0

hg bisect讓您找到導致問題的變更集。要開始搜索,請運行hg bisect --reset命令。這是很好的文檔在Mercurial:權威指南

相關問題