2013-02-12 128 views
0

我有一個情況,我有一個開發商和QA版本的回購。當在推送/推送在mercurial時忽略目錄

我有一個目錄foo,其中包含我始終希望被推/拉的代碼。 我有一個目錄欄,其中通常包含特定於該區域的項目(它們是什麼都不相關),但有時會包含我想要推/拉的項目。

  • 推到qa - 以這樣一種方式,它只會採取富,但忽略酒吧的變化。
  • 推到qa - 以這樣一種方式,它會採取foo和酒吧。
  • 推到qa - 以這樣一種方式,它會採取富和一些酒吧。

從我可以告訴,我需要合併,然後恢復某些文件,然後提交這些。這是好的,但似乎有點倒退。有沒有更好的方式讓Mercurial支持這個工作流程(或類似的)?

+0

在變更組級別推送作品。如果更改集包含您不想要的內容,則需要以某種方式自行解決該問題。 – 2013-02-12 17:51:58

回答

1

正如Chris Morgan所說,這不是Mercurial的工作方式。當您推送到另一個存儲庫時,您會推送一些更改集 - 這些更改集中的任何內容都會被推送。

一個可能的解決方案,雖然這是一個非常可怕解決方法(在我看來)是使用Convert擴展來創建新的存儲庫,篩選出你不使用--filemap選擇想要的東西。

但是,如果這是QA,他們是否需要Mercurial存儲庫?您可以簡單地歸檔(標記)版本。默認情況下,存檔將包含有關要歸檔到.hgarchival文件中的變更集的信息。例如

hg archive -X "bar/**" archive.tgz 

...將創建一個包含您的回購在當前點的存檔文件archive.tgz,沒有「條」目錄。如果您希望排除特定文件,則可以多次使用-X選項。