2016-07-07 101 views
1

目前我有一個代碼庫,沒有很好的文檔,在遠程服務器中稱爲''A''。
我有一個本地克隆它,叫''B''。Doxygen本地回購

我要陪以下兩件事情:

  1. 添加的Doxygen風格的註釋爲「」 B'生成的文件。
  2. 在「B」中沒有這些註釋的情況下將更改集推送到「A」。

什麼是最好的方式來設置回購/分支機構實現這一目標?

+0

我看到git和svn標籤是在編輯中添加的。如果你特別要求如何在mercurial中實現這一點,我建議你在你的問題中指定並刪除svn和git標記 –

回答

1

你可以設置一個第二支在B其中:

  • 可用於合併的B其中增加的Doxygen的風格註釋主枝(這樣:從主分支合併到第二分公司)
  • ,但有一個配置激活smudge content filter driver,與smudge是一個腳本,刪除所有的Doxygen註釋(也就是說,如果這些意見很容易分析和檢測)

smudge (圖片來自 「Customizing Git - Git Attributes」,從 「Pro Git book」)

,涉及.gitattributes文件(目前僅在第二分支)

*.cpp filter=removeDoxygen 

(由右擴展爲您的項目替換cpp源)

這涉及到一個本地配置:

git config filter.removeDoxygen.smudge 'removeDoxygen' 

隨着removeDoxygen是您的$PATH中任何地方的shell腳本。
(它可以是一個shell腳本,即使是在Windows,因爲它會通過msysgit shell執行)

這合併將導致自動修改(由smudge腳本)的文件,他們將需要添加和在第二個分支承諾。

然後將第二個分支推回去回購A

+0

對我的用戶案例更具體:''A'由mercurial維護,一些代碼' 'A''已經有doxygen風格的評論。這裏最好的動作是什麼? – user103500

+0

@ user103500我假設是由git管理的。回購沒有任何變化B:評論將在第二個分支中刪除。當推回到A(http://hg-git.github.io/)時,這些評論應該保持不變。 – VonC

+0

@ user103500如果B沒有直接從A克隆,我會建議推送到A中的新分支,然後在mercurial repo A中進行mercurial merge。 – VonC