2008-09-19 80 views
3

當提交SVN時,我可以添加一個頂級提交消息來詳細說明正在提交的內容,但我最好喜歡用一種方法來評論單個文件以及哪些內容發生了更改他們。我以前看過類似的工作,但是這是使用CVS(我不記得這是否是用家庭釀造腳本生成的骨架文件實現的)是否有方法在SVN中生成更改日誌

我已經看過變更列表,但我再次看到不要認爲(儘管我願意被證明是錯誤的),這給出瞭如下所述的那種粒度。

理想我要尋找的線沿線的東西:

Foo.vb

  • 增加了新的功能吧

Bar.vb

  • 刪除函數foo
  • 在XYZ做ABC +/-修改功能附加功能來記錄錯誤

回答

2

我只想做在個人提交信息。 TortoiseSVN具有文件名自動完成功能,以便大大有助於此。

你可以做的另一件事是在提交之前將svn st複製/粘貼到提交信息中。

哦,一定要強烈質疑這個價值。我知道一些OSS項目(linux?)需要這種保真度,但對於許多項目來說,這只是噪聲。差別可以告訴你比這更多,更準確地說。

您可能要考慮的另一件事是使用Git。 Git允許你以更小的步驟在本地提交。然後,您可以單獨推送所有提交到主服務器,或者在單個消息中將所有提交消息壓縮到一個提交。這是一種簡單的解釋,但它可能是值得檢查的。

+0

'這只是噪音'......完全同意。對於提交日誌,一般概述就足夠了。爲什麼浪費時間通過文件更改輸入文件?人們會停止閱讀你的消息,因爲如果他們足夠關心的話,他們可以使用svn diff找到它。 – 2010-12-10 02:27:39

4

只要完成一項特定任務,您就可以提交。無論如何,這應該導致更好的評論。閱讀所需的三個文件中的「實現電子郵件驗證」的評論告訴我比「添加函數verify_email」更多。我可以在差異中看到後者。

0

如果在每個已提交文件中寫入評論的方式有一些規則,則可以獲得這種結果。之後這些評論可以通過svn觸發器提取。

2

SVN和CVS之間的本質區別之一是變化是自動執行的。在CVS中,每個文件都有自己的版本,但是在SVN中,版本是針對整個項目的,並且包含所有文件一起檢入。

這裏有一個解決方案四個理念:

  1. 入住單獨每個節目,用自己的日誌信息。這可能意味着,如果您檢查了五個文件,則會「耗盡」五個版本,其中四個版本可能導致構建損壞。
  2. 在一個單獨的路徑(即您自己的私人分支)上進行開發,按照上述方式進行,然後在戰略時刻將您的分支合併到主幹。
  3. 一起檢查所有內容,並將各個記錄保留爲程序標題中的註釋。這可能意味着(少許)額外的工作,但是您仍然必須編寫個人登錄消息。
  4. 對所有文件進行一次簽入,但有一個很好的完整日誌消息,詳細說明每個文件的每個部分。
2

我寫了一個項目做這種東西叫做MOAP

其功能之一是生成從當地的一個差異changelog的項目(目前支持集市,CVS,SVN,Git和的darcs )。您可以通過運行'moap changelog prepare'或'moap cl prep'來執行此操作。如果啓用該選項,那麼該條目可以包含已更改的功能。

然後,您將更改該條目並描述您的更改。您可以刪除不想提交的文件,作爲下一次提交的一部分。

然後,您可以運行'moap changelog commit'來提交ChangeLog條目中描述的更改。它只會提交那裏列出的文件,並將所有其他更改保留在本地。

希望有幫助!

相關問題