將變更集推送到名爲'A'的存儲庫後,如何查看當我處於'A'時等待應用的變更集列表?如何顯示Mercurial中未應用的變更集列表
擴展上,
- 在回購B I推到的變更回購乙
- 我改變回購乙
- 我怎麼能列出的變更在步驟1推?
將變更集推送到名爲'A'的存儲庫後,如何查看當我處於'A'時等待應用的變更集列表?如何顯示Mercurial中未應用的變更集列表
擴展上,
不確定你的意思是「未應用」的變更集,但這裏有一些想法。
在執行hg push
之前,您可以通過執行hg outgoing
來輕鬆查看將更改集推送到存儲庫的方式。這將列出將使用默認選項推送的所有變更集。
同樣,您可以在目標資源庫中使用hg incoming
來顯示將從另一個回購庫中提取的變更集。
至於「未應用」的變更集,如果我假設您的意思是比工作目錄更新的變更集,您可以使用hg log -r .:tip
,這應該(我沒有機會測試它)顯示所有較新的修訂版,但實際上並不是所有最近推動的。
編輯:我已經將-r
選項中的修訂集更新爲應該工作的內容。看看Mercurial manpage的更多可能性。
$ hg summary
parent: 0:9f47fcf4811f
.
branch: default
commit: (clean)
update: 2 new changesets (update) <<<<<
該update
位告訴你什麼(我想)你想要的。
+1,因爲我沒有注意到之前的一個:) – icabod
我已經寫了一個不同的答案,但我最終得到了一個更好的方式來做這裏需要的東西(一個更好的和最終的 - 對我來說 - 解決方案是在這篇文章的末尾,在[編輯]部分)。使用hg log
。
具體而言,首先發出hg sum
命令。這會給我:
parent: 189:77e9fd7e4554
<some commit message>
branch: default
commit: (clean)
update: 2 new changesets (update)
要看看那些2名新的變更是由我使用
hg log -r tip -r 2 -v
顯然,2
是與變更該hg sum
報告的數量來代替。
這是可行的,因爲tip
將引用最近(或「未應用」)的變更集。通過將輸出限制爲最新的兩項更改(-l 2
),僅顯示我感興趣的那些變更集的信息。使用-v
時,也會顯示受變更集影響的文件列表。
爲了讓事情變得更簡單,我在.bashrc
文件中定義的用戶命令:
alias hglog="hg log -r tip -l $1"
這讓我輸入hg sum
(獲得掛起/未應用的變更的數量),然後鍵入hglog x
哪裏x
是由hg sum
顯示的變更集的數量。
這樣做可能有更完整的方法,例如使用自定義模板,但我認爲它在推動複雜性方面推動了太多。
[編輯](第三次迭代) 我已經通過擴展別名想法達到最滿意的回答這個問題,讓我不再需要鍵入hg sum
。我的.bashrc文件現在包含此:
show_pending_changesets() {
nb=$(hg sum | grep "update:" | sed 's/update: \([0-9]*\) .*/\1/');
if [ `expr $nb + 1 2> /dev/null` ] ; then
hg log -r tip -v -l $nb
else
echo "Nothing new to report"
fi ;
}
...
alias hgwhatsnew=show_pending_changesets
說明:我使用sed
提取變更集從最後一行的數字(這是與update:
開始一個)的hg sum
輸出。然後該號碼被輸入到hg log
。我所要做的就是輸入hgw
並完成它。 HTH
您是在最近被推入回購的變更集列表之後? – icabod
這會滿足我當前的需求。 –
「等待申請」是什麼意思? –