一月 16, 2008
» rename support

習慣版本控制後寫程式會大膽許多,反正比對修改之處很簡單,復原到特定版本也只是舉手之勞。不過這僅限於納入追蹤控管的內容。大部份的版本控制系統能控管的項目還是有限 (我沒用過商業版,不曉得有沒有比較厲害),例如目錄與更名 (rename) 的控管。

» rename support

習慣版本控制後寫程式會大膽許多,反正比對修改之處很簡單,復原到特定版本也只是舉手之勞。不過這僅限於納入追蹤控管的內容。大部份的版本控制系統能控管的項目還是有限 (我沒用過商業版,不曉得有沒有比較厲害),例如目錄與更名 (rename) 的控管。 有時在開發初期隨手寫幾個測試用的程式,隨後越來越龐大後開始整理並組織現有的程式碼,先不管開發流程的好壞,應該很多人都有類似經驗。不過若是一開始有導入版本控管,接下來就是頭大的問題了。以 cvs 來說,檔案一改名字或改路徑 (整理到特定目錄),history 就會中斷,日後要 diff 也不容易。 後起之秀 svn 雖然可以記錄 snapshot,checkout 特定版本不會掉檔案,印象中一樣不會有 rename 的記錄,只能人眼觀察前後幾個 revision 的檔案變化,但總是比 cvs 方便多了。 Wikipedia 上有一張 比較表 ,其中就包含 rename 項目。我目前有在使用的 svn、hg 和 git 都有支援 rename,但只有 hg 和 git 的記錄上看得到 reanme 的資訊 (svn 很久沒用了,要再確認看看)。rename 時需要用內建指令才會加入記錄:(-n 為測試指令用,不會真的執行動作) $ hg -v mv -n a.c b.c copying a.c to b.c removing a.c 或是 $ git mv -n a.c b.c Checking [...]

九月 16, 2007
» hg 筆記

因為我在考慮把一些 HOME 裡的設定檔 (甚至是系統的) 丟進 hg 控管,所以做了一個小實驗瞭解一下 hg 的能力 Support: copy/rename/mv file control soft (symbolic) link control Not support: file permission control folder control owner/group control partial repo 不過關於 file permission 的部份,我在 debian 上測試是會納入控管的,用 hgk 可以看到 permission 變更的記錄,但回到 slackware 卻看不到這些東西。這部份的機制還要再實驗看看…但仔細一想似乎也合理,畢竟有些東西不能跨平台,萬一在 Linux 上的 commit 將這些東西記錄進去,到了 Windows 上 clone 出來不曉得會發生什麼事。萬一真的支援了這些特性,可能也代表在跨平台的能力上要打點折扣了。 會想到 partial repo 是因為在 cvs 上可以很方便 checkout 某一個子目錄出來,結果發現 hg 沒辦法只 clone 某一個子目錄,大概是因為 hg 的 .hg 目錄只放在 repo [...]

» hg 筆記

因為我在考慮把一些 HOME 裡的設定檔 (甚至是系統的) 丟進 hg 控管,所以做了一個小實驗瞭解一下 hg 的能力

九月 8, 2007
» 加入水銀黨

前陣子一直覺得 cvs 和 svn 並不是真的那麼好用,因此在看了許多人的介紹後,我也決定加入水銀黨了 (誤… 之前在 OSDC.tw 聽過 svk 的介紹後其實就有點心動,想把手上的程式碼轉過去試試,不過安裝起來沒那麼方便,就一直拖著 (是不難啦,但就是懶….)。後來因為要裝 X.org,所以在系統裝了 git,但也就用過那麼一次,看到一大堆指令就放棄了,沒有實際拿來管理檔案。一直到知道 mercurial 的存在,才下定決心要來瞭解一下 DVCS 到底是怎麼回事… 首先是 clone、pull 和 push 的概念,用於 repo 之間的操作。在沒有實際使用 DVCS 前一直不能理解這兩個指令的用途。除了 repo 可以無限複製外,同一個 repo 甚至可以有多個 HEAD。除此之外 tag 和 branch 的概念也不太一樣了,使用觀念上雖然需要不少修正,但在操作上卻沒有增加太多複雜度,反而讓寫程式的人可以更放心修改,更隨意修改 之前使用 cvs 最麻煩的一點是少了網路就什麼都不能做;svn 雖然有一點改善,但也只是比 cvs 好一點而已。除了對網路的依賴性大減外,易用性才是我最欣賞的。以前在在 cvs server 建立新的 module,得先 import,然後再 checkout 出來,同一份專案得經過兩次網路傳輸才能開始使用。但 hg 可以直接把要控管的目錄變成 repo,直接就能開始控管,因為都是在本地端的操作,所以速度相當快 另外在一些文章中有看到 hg 會保留檔案權限 (permission),應該把 etc 丟進去試試看,以後管理系統會更方便,不用複製一大堆備份的設定檔了 唯一比較有礙於推廣的理由大概就是 GUI frontend 的支援了。雖然有一個 hgk 可以用,但也只能看看目前 repo 長什麼樣子 (雖然如此,幫助也很大了)。目前似乎還沒有出現像 wincvs [...]

» 加入水銀黨

前陣子一直覺得 cvs 和 svn 並不是真的那麼好用,因此在看了許多人的介紹後,我也決定加入水銀黨了 (誤…

A Feedjack powered Planet
A Django site.