我們的項目最近從SVN切換到Mercurial。在SVN中,爲了版本我們的css/js文件,我們從它們所在的目錄中獲得最新的修改版本,並將它用作打包文件名的前綴。獲取分支中給定目錄的所有更改文件
我們想在Mercurial中使用相同的方法。不幸的是,說起來似乎比做起來容易,儘管它可能是由我們的分支方法引起的。
簡而言之,我們有一個主分支(trunk)。每兩週我們都會從樹幹分支創建一個生產測試版,最終將合併到我們的直播分支中。
現在,此刻,我們基本上是用
hg log -b live some_folder/js
hg log -b live some_folder/css
得到那個最近在這些目錄中改變文件的變更。
我們遇到的問題是我們的合併變更集沒有被使用這種方法檢測到。因此,如果我們在修改some_folder/css中的文件的變更集中合併,hg不會將其視爲已更改,因爲該文件並未在合併變更集中進行實際修改,而是在正在合併的其中一個變更集中進行修改。
我們也試着嘗試解析日誌,但它似乎有同樣的問題。只有這樣,才能得到汞日誌列出這些文件的改變似乎是使用--stat選項,但
hg log -b live --stat some_folder/css
沒有任何顯示的變更。
我點在哪裏,我只考慮使用
hg log -b live --stat
獲取該日誌的整個分支,然後解析它找到最近修改的文件目錄中的變更,但我寧願不去,因爲它似乎會隨着分支變大而變得越來越慢。
任何想法,以更好的方式來解決我的問題?
但爲什麼這是一個問題?如果文件已經更改,它肯定會顯示在該文件的日誌中。然後,更改集編號將與之前的版本不同。那麼爲什麼變化發生在哪個分支上呢? – Ringding 2011-05-26 07:53:03
我們只希望在我們的直播分支中更改文件的版本號。有時候,我們推出了根本不修改css/js的修補程序,而且我們希望我們的用戶無需再次無故下載文件。 – 2011-05-26 08:27:26