<$BlogRSDURL$>
  Wednesday, April 21, 2004

版本控制

如果你有這些問題:
1. 昨天剛改的 2000 行程序碼今天被 overwrite 掉了
2. 客戶要上星期的銷售模組的定貨程序版本
3. 主管要早上的財務模組的文件版本, 剛剛被錯誤更新了.
4. 你要的檔案被 lock 住了.

那麼你需要版本控制系統. 明顯的, 以上的問題不只是限制於團隊軟體開發環境.

市面上有不少數的版本控制軟體, CVS 應該是最受使用的一個.我覺得它的 API 不那麼的容易使用. 對比之下, 我寧可選擇 Subversion. Subversion 是一個較好的 下一代 CVS. 從安裝, 設定, 到使用, subversion 處處顯出它比 CVS 優越. 我最感到興趣的是它用 URL's 來存取 repository. URL's 包括 file:///, http://, https://, svn://, svn+ssh://, 也就是說 Subversion 支援 SSH 和 WebDAV (Apache).

這是從安裝到使用 Subversion 的步驟:
0. 下載 Apache 和 Subversion.
1. 設定 servers (Apache, Subversion)
  從 Subversion 複製 mod_dav_ svn 和 mod_auth_svn 到 Apache
  修改 Apache 的 httpd.conf:
  Uncomment LoadModule dav_module modules/mod_dav.so
  加上 LoadModule mod_dav_svn 和在末尾加上
  <Location /repos>
    DAV svn
    SVNPath physical_path_to_repository
  </Location>
2. 重新啟動 Apache
3. 在 local 端建立 project directory 和 files 類似結構:
  /project_name
    /trunk
      project files
    /branch
4. Import project 到 server 端的 repository
  $ svn import -m "New import" project_path http://server:8080/repos
  瀏覽到 http://server:8080/repos/, 你應該在頁面上看見 "Revision 0: /".
5. Checkout project
  $ svn checkout http://server:8080/repos/calc/trunk local_path
6. Commit 變更到 repository
  $ svn commit -m "modified finance module"
7. View log
  $ svn log
8. 檢查 local copy 和 server 端的最新版本
  $ svn diff main.c

如果你習慣 Windows client, TortoiseSVN 是好選擇.
 

0 Comments/評論:

Post a Comment /投評論

<< Home

Software Culture
  03/01/2004 - 04/01/2004
  04/01/2004 - 05/01/2004
  05/01/2004 - 06/01/2004
  06/01/2004 - 07/01/2004
  08/01/2004 - 09/01/2004
  11/01/2004 - 12/01/2004
  07/01/2005 - 08/01/2005
  09/01/2005 - 10/01/2005
  10/01/2005 - 11/01/2005
  01/01/2006 - 02/01/2006
  03/01/2006 - 04/01/2006
ColdFusion
日常毒藥與養料
  Smart talk always right?
  Drools on AppFuse
  Braille, braille
  可愛提示
  The Dynamic SRC of IMG
  Preferred Locale on AppFuse
  告訴你為什麼程式不 work
  絲綢之路 2000:致命病毒
  AJAX on AppFuse
  1918
  Meet Mr. Writely
  網際網路的最後一頁
  小螞蟻最短篇
  健檢, e檢
  Open source ColdFusion
  八月半個
  自行其是
  Rich DHTML client
  cfspring, seriously
  三百萬民主補給站
  敏督利小插曲
  迷上喬治亞
  說故事
  Where are they?
  宿夢
  An Architect's View
  Martin Fowler
  Loud Thinking
  Raible Designs   fullasagoog
Home


Powered by Blogger