2013-03-09 23 views
1

我希望在推送之前獲得我已修改和確認的文件列表。如何僅列出我在Mercurial中的傳出更改?

我一般可以用hg傳出來做這個事情。

但是,如果我在做了一些額外的更改後,我已經提交了我的內容,那麼這些新更改也會列出,甚至會列在我的名下。我做了一個合併提交,但沒有真正合並,我只是拉進了一個無關的變更集。如果我從其他用戶處收到很多更改,我的更改會在所有這些更改中丟失。

有沒有辦法只列出我的更改?

回答

2

您可以隨時使用記錄與revset的功能和一些模板的關鍵詞爲了得到這樣的文件清單

hg help revsets建議的用法傳出():

"outgoing([path])" 
    Changesets not found in the specified destination repository, or the 
    default push location. 

--template "{files}\n",文件中的空格分隔的列表在範圍中的每個變更集以及來自不同變更集的集合的新行分隔。 --template "{files % '{file}\n'}"做trivk「每行文件」

可以登錄的管道輸出,以便排序,得到排序,沒有重複,文件

最終草案hg log -r outgoing() --template "{files % '{file}\n'}" | sort -u

+0

+1但是你不需要revset'outgoing()而不是merge()'來排除僅受外出合併變更集影響的文件? – Edward 2013-03-10 22:30:53

+1

非常好。我注意到我可以在日誌中使用--no-merges選項。所以這正是我所需要的。謝謝。 – user2152438 2013-03-12 14:12:40

1

您可以使用

​​

篩選出合併的變更(-M是短版看到hg help outgoing)。

如果您推送的是您從其他人創作的變更集的相同回購站,則應該只能看到您創建的變更集。

+0

大名單。這將有所幫助。 – user2152438 2013-03-12 14:13:52

相關問題