搭建svn伺服器(linux和windows環境下)&伺服器客戶端使用筆記

搭建svn伺服器(linux和windows環境下)&伺服器客戶端使用筆記

來自專欄無名軟體開發札記4 人贊了文章

參考借鑒文章:cnblogs.com/vijayfly/p/

之前嘗試著用git管理公司代碼,但被一個問題困惑了很久無法解決,那就是git該如何只pull自己想要本地更新的代碼?git的fetch命令會把遠程庫下過來作為本地的遠程分支,然後自己來合併,而pull則是fetch+merge。無論fetch還是pull我都沒找到合適的解決這一問題的方法。

svn的話會很容易,有了搭建git伺服器的經驗,svn伺服器也很容易。

我的伺服器是騰訊雲主機,linux centos。

在centos安裝svn伺服器需要命令yum -y install subversion

之後配置版本庫

mkdir -p /opt/svn/repos/svn1 svnadmin create /opt/svn/repos/svn1

創建版本庫之後,在版本庫目錄下的conf目錄就會生成三個文件passwd、authz、svnserve.conf

之後再passwd文件配置用戶名密碼

[users]# harry = harryssecret# sally = sallyssecret#user1 = 123user2 = 123

authz文件配置許可權

[svn1:/]user1 = rwuser2 = rw#svn1是具體版本庫的標籤

svnserve.conf配置基礎svn設置,將一些注釋的#符號取了

[general]anon-access = none #非授權用戶無法訪問auth-access = write #授權用戶有寫許可權password-db = passwd #密碼數據所在目錄authz-db = authz

啟動svn:

svnserve -d -r /opt/svn/repos/ #注意目錄,不包含svn1ps aux | grep svnserve #查看服務是否啟動

關閉svn命令:

killall svnserve

補充一個報錯,出現類似報錯是配置文件問題,配置svnserve.conf去掉#注釋符時前面不能留空格,svn這方面格式似乎要求比較嚴格:

客戶端:

本地安裝客戶端版本svn,然後checkout就可以了。地址:svn://192.168.1.1/svn1

以後有什麼要補充記錄的再更新,例如一些svn伺服器命令。

遇見一個問題,本地svn沒有顯示綠色的對號,修改了文件也沒有顯示紅色的對號。

解決方法:在文件夾右鍵選擇TortoiseSVN然後選擇settings,選擇Icon Overlays,status cache選擇shell

之後找到之前安裝包,運行,選擇repair(修復)項,之後進行修復,重啟應用,重啟電腦,就ok了。

2017-05-08

最後定位是svn伺服器端服務沒啟動,因為之前伺服器重啟過。

2018-05-02 更新 Windows環境下svn server配置情況

1首先安裝Visual Svn Server軟體,基本一路選默認就可以

2然後再圖形界面下添加倉庫,右鍵選擇倉庫,選擇屬性,可以添加用戶

之後客戶端checkout,一開始遇到問題

這個問題是路徑寫錯了

注意路徑格式是 svn伺服器IP:埠號/svn/庫名稱

這裡有兩個容易落下,一是埠號,二是路徑中要有『svn』

如果沒有選擇默認埠號,例如我選了8443,一定要路徑里寫埠號

之後遇到問題,SVN Access …… forbidden

說明網路連接已經連上了,但在用戶驗證方面遇到問題

網上說需要客戶端清除用戶名密碼緩存,再重新填寫用戶名密碼,試過,問題依舊存在

後來發現是因為伺服器端創建倉庫許可權設置有些問題

創建庫的時候有上圖三個選項

我之前選了第二個選項,然後再添加用戶,客戶端使用伺服器配置的用戶名、密碼 會報上文提到那個錯誤

選擇第三個選項,Customize permissions,再添加用戶,客戶端再使用配置的用戶名、密碼,checkout就不會出現問題

推薦閱讀:

TAG:伺服器 | SVNSubversion |