在Windows上使用Subversion

來源:互聯網
上載者:User
 Subversion(以下簡稱svn,官方網站為http://subversion.tigris.org)是鼎鼎大名的cvs的繼任者,使用方法和 cvs幾乎一樣,而且在管理二進位檔案、目錄方面比cvs更勝一籌,其作者就是cvs之父,所以完全不用擔心從cvs轉移到svn上會有任何困難。
    正式基於以上優點,前幾天我嘗試了一下svn,在Windows上不僅svn client可以使用,而且svn server也非常方便,看來以後就用svn替代cvs吧。
    主要參考的文章是:
    [1] http://www.nedbatchelder.com/text/quicksvn.html
    [2] http://excastle.com/blog/archive/2005/05/31/1048.aspx

    step1: 首先從http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 下載最新的subversion的windows setup安裝檔案,按照提示一路next下去就可以了。這個安裝包就包含了client和server的全部檔案,安裝後就可以在命令列下使用svn, svnadmin, svnserve等程式了。
    step2: 設定注釋編輯器。在系統變數裡添加SVN_EDITOR變數,值為任意一個文字編輯器的名字,比如notepad.exe。
    step3: 建立svn repository。比如選擇c:/svn_repo作為我們的目錄,那就先建立這個檔案夾,然後再命令列下輸入:
    svnadmin create c:/svn_repo
    注意,這個repository只是一個倉庫而已,你可以在裡面建立“虛擬資料夾”,每個檔案夾下就可以存放不同的module了。
   
    下面介紹如何從網路上訪問你的repository。
    svn的地址採用url的方式,如果通過svnserve(後面會介紹)建立網路可訪問的伺服器,那url地址就是svn: //your_ip/module_dir。如果你只想在本地檔案系統上訪問你的svn repository,那url地址就是file:///c:/svn_repo/module_dir(按照上面例子)。以後不管你import還是 checkout,都只需要這個url作為地址,而且登陸一次後,只需要輸入一次url地址,svn會自動記住你的url地址,簡單吧。下面就只介紹如何 設定一個svn網路伺服器。
   
    step4: 設定網路伺服器的許可權。進入到剛才建立的c:/svn_repo,開啟conf/svnserve.conf,去掉[general]前的#,去掉 auth-access = write前的#,如果你希望匿名使用者存取,那就去掉anon-access前的#。去掉password-db前的#。
    step5: 設定使用者名稱和密碼。還是在那個目錄下,開啟passwd檔案,去掉[user]前的#。按照已有的例子,添加可訪問的使用者名稱及其密碼,去掉前面的#。這和 cvsnt的做法很不一樣,cvsnt要求可訪問使用者在cvs repository所在機器上必須有windows帳戶,這實在太苛刻了……,還是svn的做法更簡單,雖然純文字密碼不是很安全……。
    step6: 啟動網路服務svnserve。在命令列下輸入
    svnserve --daemon --root "C:/svn_repo"
    然後就可以通過ip地址來訪問你的伺服器了,假設伺服器IP地址是192.168.2.168,那你的伺服器位址(也即c:/svn_repo的svn地址)就是svn://192.168.2.168。
    不過svnserve會一直block在命令列上,如果要把它做成一個真正的後台服務程式,還需要一個第三方程式SVNService,可以在http://dark.clansoft.dk/~mbn/svnservice/ 下載。
   
    step7: 建立module的虛擬資料夾。新開一個命令列視窗,輸入
    svn mkdir svn://192.168.2.168/proj1
    如果你是第一次登陸伺服器,則會提示你輸入使用者名稱和密碼。
   
    step8: import你的工程。進入到c:/proj檔案夾,在命令列下輸入:
    svn import . svn://192.168.2.168/proj1
    表示把目前的目錄下的所有檔案(及其子目錄)都import到url地址所指定的位置上。

    step9: checkout你的工程。進入到任意一個檔案夾下,輸入:
    svn checkout svn://192.168.2.168/proj1 testdir
    proj1模組就下載到testdir下了。之後的專案管理方式就和cvs一樣了。

    後續問題:
    一台機器上只能跑一個svnserve,也即同一時刻,一台機器只能提供一個repository。當然,你可以通過給svnserve指定不同連接埠,讓 一台機器提供多個repository,但是這顯然沒有cvs那樣靈活。不過也許有多repository的功能,但是還沒發現。
    如果喜歡gui的操作方式,有TortoiseSVN這個強大的工具。它可以在Windows資源管理員的右建中加入svn的功能。

註:以上內容來自網路,本人不承擔任何連帶則責任。
文章轉自:http://windows.chinaitlab.com/accessing/713621.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.