Subversion – 先 tag 或先 commit trunk

人多的 project 應該不太會要考慮這個,自己玩玩的小 project 比較會遇到

比如說現在 working copy 版本是 3

trunk 裡的東西修改一些後確定要成為 release 1.0

這時可以先 commit trunk,版本變成 4,再做 tag,版本變成 5

也可以先用 svn copy 把 trunk 複製到 working copy 的 tags/1.0 裡,再一起 commit,版本變成 4

看起來好像只有最後的版本號碼差一號

不過分別用 incremental 方式 dump 第一種的 -r 4:5,和第二種的 -r 4

會發現第一種的 dumpfile 對於 revision 4 部份記錄的是 trunk 在 3 之後的更動

revision 5 部份只記錄由 trunk 複製到 tags/1.0 該增加的頂層目錄,並標記由 revision 4 的 trunk 複製過來

而第二種則是對 trunk 的處理和第一種在 revision 4 部份的處理一樣

但對 tags/1.0 的處理是標記由 revision 3 的 trunk 複製,並記錄和 trunk 3 到 4 同樣的更動

也就是同樣的更動在 trunk 和 tags/1.0 被重複記錄了,如果 dump 的結果對應記錄的方式的話(我不確定)

如果真的是這樣,代表第一種省空間,第二種只是省個號碼

我是覺得只做 tag 就多個版本號碼有點多餘才試了第二種

但發現似乎有上面這種情形,所以又覺得還是都用第一種好 😛


  • 留言者: JiaYun
  • Email:
  • 網址:
  • 日期: 2007-05-31 00:21:07

http://www.jeffhung.net/blog/articles/jeffhung/903/

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *