搭建svn伺服器(linux和windows環境下)&伺服器客戶端使用筆記
來自專欄無名軟體開發札記4 人贊了文章
參考借鑒文章:http://www.cnblogs.com/vijayfly/p/5711962.html
之前嘗試著用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 |