SVN的介紹
https://zh.wikipedia.org/wiki/Subversion
安裝說明:
系統環境:CentOS 6.75
安裝方式:YUM安裝
安裝:
先确認本地是否已經安裝subversion
1
<code>rpm -qa subversion</code>
如果有安裝subversion,先删除舊版本
<code>yum remove subversion</code>
安裝svn
<code>yum -y </code><code>install</code> <code>subversion</code>
檢查版本
<code>svnserve --version</code>
安裝後的配置:
建立SVN庫:
<code>mkdir</code> <code>-p </code><code>/opt/svn</code>
建立repo代碼庫
<code>svnadmin create </code><code>/opt/svn/repo</code>
建立完成後,生成以下檔案
2
3
4
5
6
7
8
<code>[root@localhost repo]</code><code># ll</code>
<code>total 24</code>
<code>drwxr-xr-x. 2 root root 4096 Jun 15 20:05 conf</code>
<code>drwxr-sr-x. 6 root root 4096 Jun 15 20:26 db</code>
<code>-r--r--r--. 1 root root 2 Jun 15 19:08 </code><code>format</code>
<code>drwxr-xr-x. 2 root root 4096 Jun 15 19:08 hooks</code>
<code>drwxr-xr-x. 2 root root 4096 Jun 15 19:08 locks</code>
<code>-rw-r--r--. 1 root root 229 Jun 15 19:08 README.txt</code>
配置代碼庫:
cd /opt/svn/repo/conf
添加賬戶密碼psswd配置
修改passwd檔案,通過在檔案中追加 賬号 = 密碼來建立使用者
<code>[</code><code>users</code><code>]</code>
<code># harry = harryssecret</code>
<code># sally = sallyssecret</code>
<code>zeng = 123456</code>
<code>zhou = 123456</code>
權限控制authz配置
svn的權限控制都是在authz檔案中設定,該檔案定義了哪些使用者可以通路哪些目錄
[groups] #組
admin = hello,www #建立一個admin組,将使用者hello、www加入到組
[/] #根目錄權限設定(就是“svn”這個檔案夾)
aaa = rw #aaa對svn下的所有版本庫有讀寫權限
[repo:/] #repo:/,表示對repo版本庫下的所有資源設定權限
@admin = rw #admin組的使用者對repo版本庫有讀寫權限
[repo2:/occi], ,表示對版本庫repo2中的occi項目設定權限
[repo2:/occi/aaa], ,表示對版本庫2中的occi項目的aaa目錄設定權限 權限主體可以是使用者組、使用者或*,使用者組在前面加@,*表示全部使用者。權限可以是w、r、wr和空,空表示沒有任何權限。
服務svnserve.conf配置
[root@admin conf]#vim svnserve.conf
追加以下内容:
[general]
#匿名通路的權限,可以是read,write,none,預設為read
anon-access = none
#使授權使用者有寫權限
auth-access = write
#密碼資料庫的路徑
password-db = passwd
#通路控制檔案
authz-db = authz
#認證命名空間,subversion會在認證提示裡顯示,并且作為憑證緩存的關鍵字
realm = repo //這裡也可以寫完成路徑 /opt/svn/repo
防火牆配置
使用svn必須在SVN伺服器上開發防火牆端口,或者直接關閉防火牆
防火牆開發svn的端口,編輯/etc/sysconfig/iptables檔案,加入以下配置
<code>-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT</code>
SELinux配置
建議直接disable掉selinux
啟動SVN
<code>svnserve -d -r </code><code>/opt/svn/</code>
停止svn服務
<code>killall svnserve</code>
檢視svn的服務程序
<code>[root@localhost conf]</code><code># netstat -tunlp | grep svn</code>
<code>tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 1473</code><code>/svnserve</code>
用戶端的安裝:
windows上安裝用戶端
需要安裝tortoisesvn用戶端和語言包。
安裝完成後,需要重新開機。然後更改語言
<a href="http://s1.51cto.com/wyfs02/M00/83/11/wKiom1dqF4Pgd8X6AAFmDEdn3bU770.png" target="_blank"></a>
<a href="http://s2.51cto.com/wyfs02/M01/83/10/wKioL1dqF4WjsoxDAAKRFurgTFU004.png" target="_blank"></a>
測試
在用戶端桌面上建立一個svntest的目錄。然後在桌面上右鍵 ==> SVN檢出
<a href="http://s5.51cto.com/wyfs02/M00/83/11/wKiom1dqGRbgN9c_AADX55TFBeQ200.png" target="_blank"></a>
注意上圖中svn位址不能寫成svn://172.16.42.133/opt/svn/repo的完整路徑,否則會報錯
<a href="http://s4.51cto.com/wyfs02/M00/83/10/wKioL1dqGUCywdK4AAGmR0mgM-Y197.png" target="_blank"></a>
用戶端上傳檔案
将windows上要添加的檔案移動至repo檔案夾進行上傳,上傳哪個檔案就點選右鍵—添加
添加完成後,再次右鍵==>送出
用戶端的具體使用,可以參考下面的官網文檔。
<a href="http://ufpr.dl.sourceforge.net/project/tortoisesvn/1.9.4/Documentation/TortoiseSVN-1.9.4-zh_CN.pdf" target="_blank">http://ufpr.dl.sourceforge.net/project/tortoisesvn/1.9.4/Documentation/TortoiseSVN-1.9.4-zh_CN.pdf</a>
修改檔案的正确操作流程:
先更新要修改的檔案,然後将檔案鎖定,這樣别人雖然能同時修改這個檔案,但是不能送出。當你編輯完成并送出後,檔案自動解除鎖定
如何建立并啟用多個代碼庫?
跟前面的操作一樣,建立代碼庫,這裡以建立一個名為it的代碼庫為例
<code>svnadmin create </code><code>/opt/svn/it</code>
然後和前面一樣,修改配置檔案。
啟用代碼庫,監聽在不同的端口上
<code>svnserve -d -r </code><code>/opt/svn/it</code> <code>--listen-port 3691</code>
<code>tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 1740</code><code>/svnserve</code>
<code>tcp 0 0 0.0.0.0:3691 0.0.0.0:* LISTEN 1791</code><code>/svnserv</code>
本文轉自 曾哥最愛 51CTO部落格,原文連結:http://blog.51cto.com/zengestudy/1791678,如需轉載請自行聯系原作者