在更改xyz之前,您可以使用什麼mercurial命令查看變更集?hg命令在hg獲取之前查看變更集
如果你做hg log -r :xyz
,你會看到所有在(包括)xyz之前的變更集 - 按升序列出。但我想輕鬆看到之前的變更集。
更新:真的我後是這樣的:如果我做一個hg fetch
,我可以用什麼命令查看變更前的那個是由拉取的變更?
hg log -r :xyz
其中xyz是由獲取作品引入的第一個變更集,但它返回了我剛想要最新的變更集的整個列表。
在更改xyz之前,您可以使用什麼mercurial命令查看變更集?hg命令在hg獲取之前查看變更集
如果你做hg log -r :xyz
,你會看到所有在(包括)xyz之前的變更集 - 按升序列出。但我想輕鬆看到之前的變更集。
更新:真的我後是這樣的:如果我做一個hg fetch
,我可以用什麼命令查看變更前的那個是由拉取的變更?
hg log -r :xyz
其中xyz是由獲取作品引入的第一個變更集,但它返回了我剛想要最新的變更集的整個列表。
你不能做到這一點。一旦你拉了(並且抓取只是拉+更新或者合併),那麼你沒有記錄你拉什麼以及你從拉取得什麼。
你應該做hg incoming
然後再拉你看看你會得到什麼。
另外,請停止使用fetch
。拉和更新和合並的行爲是完全分開的,在單個命令中執行這些操作會提供錯誤報告不充分的情況,並且會使事情混淆不清。該命令在默認情況下是禁用的,並且有關於完全刪除它的說法。合併是編碼,它不應該被隱藏。
擴展到顯示的情況下,你不能覆蓋
如果抓取您的前史是這樣的:
[A]-[B]-[C]
,你(對所有諮詢)fetch
並獲得[D]
你現在有:
[A]-[B]-[C]-[D]
而且您可以看到具體的新功能:
hg diff -r tip-1
或:
hg diff -r "parent(tip)"
但如果用A,B,C重新開始你取並獲得d,E產生這樣的:
[A]-[B]-[C]-[D]-[E]
沒有命令就可以運行看到「什麼改變了」,而沒有在之前的帖子上寫下[C]
。
如果,另一方面你的回購開始了尋找這樣的:
[A]-[B]
\
-[C]
和打水之後你有這樣的:
[A]-[B]-[D]
\
-[C]-[E]
沒有單一的命令,將告訴你「有什麼改變」。同樣,如果拉你的回購之前是這樣的:
[A]-[B]-[C]
和打水之後你有這樣的:
[A]-[B]-[C]-[E]-[F]
\ /
-[D]-------/
其中[F]
是新不明智的自動合併變更取指創建,然後命令:
hg diff -r C
會告訴你什麼是新的,但沒有先前寫下來沒有辦法查找'C'。
我假設xyz是散列形式的變更集。嘗試:
汞柱登錄-r:XYZ-1
這應該工作僅列出了變更前1
隨着parentrevspec [1]安裝的擴展,您可以使用混帳的語法下面。根據您的shell,引號可能不是必需的。
hg log -r 'xyz^'
只有在啓用了parentrevspec擴展時纔有效。 – 2011-02-03 09:05:24
似乎並沒有爲我工作.. – 2011-02-03 14:53:03
我不知道是什麼意思之前。你的問題可能意味着你可能只想要變更集的父母。這些你可以很容易地與
hg parent -r xyz
這不需要花哨的新版本的mercurial。
汞父母[-r REV] [文件]
顯示工作目錄或修訂
打印工作目錄的父目錄修訂的父母。如果通過 -r/- rev給出修訂,則打印該修訂的父級。如果給出文件參數 ,則打印上次更改文件的修訂版(在 工作目錄修訂版之前或者給定了--rev參數(如果給出))。
選項:
-r --rev show parents of the specified revision
--style display using template map file
--template display with template
--mq operate on patch repository
變更集不是散列形式 - 這是數字ID – 2011-02-03 14:52:22
它可以同時使用數字ID或散列形式。 – cbz 2011-02-03 17:36:09