1. 程式人生 > >局域網簡單的SVN服務器的搭建

局域網簡單的SVN服務器的搭建

嘗試 端口 默認 ima 代碼 exe 操作 bubuko 參與

????????最近組織在做一個比較大的項目,需要多人參與配合,經常會對項目文件增刪查改,因此使用了SVN作為項目管理工具。但大家都很“盲”,所以搭建SVN服務器的任務就落在了我這個菜鳥身上。

  • 工具使用TortoiseSVN,安裝過程中記得把命令行工具也安裝上,不然無法使用命令行提交代碼。

  • 選擇一個空文件夾,比如E:\SVN,進入後鼠標右鍵創建一個版本庫
    技術分享圖片

  • 進入conf文件夾,打開svnserve.conf文件,分別找到

    anon-access = read
    auth-access = write
    password-db = passwd

去掉前面的註釋,並註意不要留空格。

  • 打開同目錄下的passwd

    文件,在[users]下添加用戶名和密碼,默認有兩個示例:

    # harry = harryssecret
    # sally = sallyssecret

    左邊是賬號,右邊是密碼,供組織內不同成員登錄用,但如何為每個角色賦予不同權限不太會弄,似乎需要用到hook腳本。比如要為Lucy添加一個賬戶,可以添加:
    Lucy = Lucy_123,這樣Lucy就能以密碼Lucy_123訪問項目了。

  • 還有一點比較關鍵,就是要共享這個版本庫所在的文件夾,並設置好讀寫權限,不然除了主機外別的成員是訪問不到的。

  • 然後開啟主機上的SVN服務,在命令行中輸入

    svnserve.exe -d -r E:\

    即將E盤作為服務的根目錄

  • 上述操作完成後,可以在主機上用

    file:///E:\SVN\respotityName

    檢出項目文件,在局域網的其他計算機可以用

    svn://主機ip/SVN/respotityName

    進行檢出操作,至於外網,理論上可用

    http(s)://主機ip/服務器資源庫名稱

    訪問,不過沒有試驗過,不知道防火墻會不會阻止端口的連接。

配置獨占簽出

  • 在檢出的項目文件夾上點擊右鍵,選擇TortoiseSVN -> 屬性 -> 新建 -> 需要鎖定,這樣項目裏的子文件夾就都加上了needs-lock的屬性,以後每次簽出都會鎖定文件。但SVN不會主動發出通知告訴其他用戶文件被鎖了,所以每次編輯文件前先嘗試加一次鎖,如果提示失敗就表示文件被其他用戶獨占了。

局域網簡單的SVN服務器的搭建