我正在使用Eclipse和MercurialEclipse擴展名來使用Mercurial SCM。如何同時爲多個項目提交更改
我有很多項目,每天早上我想在開始工作之前拉取所有最新更改。使用SVN或CVS,我可以簡單地選擇所有項目並單擊團隊/更新。但是當選擇多個項目時,MercurialEclipse的Team/Pull
命令被禁用。
因此,目前我必須分別在每個項目上撥打Team/Pull
。這真的很煩人。我怎樣才能一次性改變多個項目的變化?
我正在使用Eclipse和MercurialEclipse擴展名來使用Mercurial SCM。如何同時爲多個項目提交更改
我有很多項目,每天早上我想在開始工作之前拉取所有最新更改。使用SVN或CVS,我可以簡單地選擇所有項目並單擊團隊/更新。但是當選擇多個項目時,MercurialEclipse的Team/Pull
命令被禁用。
因此,目前我必須分別在每個項目上撥打Team/Pull
。這真的很煩人。我怎樣才能一次性改變多個項目的變化?
我寧願使用外部腳本,而不是直接從Eclipse中執行它。
見例如:
然後在你的Eclipse環境簡單的刷新就足夠了。
一個不完全是什麼意圖的解決方案將是使每個父倉庫的subrepo。東西用.hgsub
文件:
project1 = project1
project2 = project2
...
將足以在頂層做的所有的人拉「汞拉」。
你可能更好的只是編寫腳本。我不知道是什麼Eclipse提供了編寫腳本,但是從UNIX命令行,這將是:
for therepo in $(find /my/project/root -type -d -name .hg) ; do
hg --repository ${therepo%.hg} pull
done
你可以突出顯示所有這些,右鍵單擊,然後選擇同步。如果需要,你可以從這個視圖中拉出來(加上它會顯示你的變化)。
子庫不會工作,因爲當你在外部存儲庫中執行'hg update'時,不需要'hg pull',因爲它們是根據需要被拉入的。另外,有人必須像你所建議的那樣在每個子文件中執行'hg pull',然後在主要的repo中提交修改後的'.hgsubstate'文件。 – 2011-09-09 08:07:37