檢查svn是否有存在
svn –version
如果已安裝舊版本,先卸載
yum remove subversion*
檢查操作系統版本
cat /etc/redhat-release
ps:該命令只支持redhat和centos,fedora系統
查看當前可安裝的版本
yum list | grep subversion
手動下載最新版本的svn
我使用的操作系統為centos7,相關地址為
http://opensource.wandisco.com/centos/7/svn-1.10/RPMS/x86_64/libserf-1.3.8-1.el7.x86_64.rpm
http://opensource.wandisco.com/centos/7/svn-1.10/RPMS/x86_64/subversion-1.10.0-1.x86_64.rpm
安裝svn
rpm -ivh libserf-1.3.8-1.el7.x86_64.rpm
rpm -ivh subversion-1.10.0-1.x86_64.rpm
創建SVN版本庫文件夾
mkdir -p /data2/svn
創建SVN版本庫
svnadmin create /data2/svn
執行命令后/data2/svn文件夾下新增了一些文件夾
添加用戶密碼和訪問權限
進入conf目錄,可以看到以下文件
authz文件是權限控制文件
passwd是帳號密碼文件
svnserve.conf是SVN服務配置文件
修改passwd文件,在[users]段添加用戶admin和訪問密碼
admin=123456
修改authz文件,[/] 權限范圍目錄 用戶=讀寫
[/]
admin=rw
修改svn配置文件 svnserve.conf
anon-access = read #匿名用戶可讀 設置為 none
auth-access = write #授權用戶可寫
password-db = passwd #使用哪個文件作為賬號文件
authz-db = authz #使用哪個文件作為權限文件
realm = /data2/svn # 認證空間名,版本庫所在目錄
啟動
svnserve -d -r /data2/svn/ --config-file=/data2/svn/conf/svnserve.conf --listen-port=3690
這條指令的參數-d表示以守護進程形式運行Svn服務器,-r表示Svn服務器的根目錄,后接SVN的根目錄。不指定端口默認是3690
--config-file是Svn服務器啟動所引用的配置文件,后接配置文件路徑。
相關啟動參數參見: https://linux.die.net/man/8/svnserve
1、下載TortoiseSVN。
下載地址:http://tortoisesvn.net/downloads,當中也包含了中文語言包的下載。
2、安裝TortoiseSVN。一路“Next”就可以。
安裝完TortoiseSVN后,重新啟動計算機。
3、安裝中文語言包。安裝下載的中文語言包安裝程序。
完畢后,在TortoiseSVN右鍵菜單的Settings選項中。選擇中文簡體就可以。
連接
svn://IP:port/svn
輸入用戶名/密碼:admin/123456
就可以使用了
最近因為需要重啟一個幾年前開發的老項目,該項目使用代碼版本管理軟件是CVS(Concurrent Versions System),一個古老的版本控制系統。
為方便在windows10桌面可視化管理,需要安裝tortoiseCVS。可能有的朋友會問,現在代碼管理基本都使用Git或者SVN,為什么還有人在用老掉牙的CVS?其實個人認為,CVS在簡單的開發中,更簡單實用,特別是其本身的庫管理文件,也是文本的,這就有可能不用任何工具就可以在極端情況下查看源代碼的變更情況。
tortoiseCVS其實也是一個老掉牙的工具,其最近的版本是tortoiseCVS-1.15.2,于2011年發行,距今已過去10年了,看樣子其作者也無心再繼續開發下去。之前我們嘗試安裝過一些tortoiseCVS的各種版本,但總會有一些莫名的問題出來。這次也不例外。
問題1: windows10安裝tortoiseCVS-1.15.2后,項目文件夾中,圖標不會自動疊加文件狀態
有文件狀態疊加的圖標,方便管理
無狀態疊加圖標,無法了解文件修改狀態
經測試,在windows7安裝tortoiseCVS-1.15.2后重啟系統,沒有出現上面問題。百度的結果,其中一種說法是,Microsoft只能支持不超過15種的疊加圖標,可以改注冊表里面的信息:
運行regedit打開注冊表編輯器,然后找到如下層次的目錄:
在HKEY_LOCAL_MACHINE 查找 ShellIconOverlayIdentifiers,
然后將所有Tortoise命名的項目名重新命名,在前面增加一個空格+0,目的是讓其排在前面。修改完后重啟系統問題解決。
問題2:文件修改后提交,修改日志中文顯示亂碼
提交后,查看日志中顯示亂碼
直接到倉庫中查看相應文件,日志寫入是utf-8字符,但是在TortoiseCVS顯示時沒有正確識別并轉換字符編碼。在作者沒有推出新版本之前,解決的辦法是,卸載TortoiseCVS自帶的CVSNT,版本號是,2.5.05.3744,然后安裝其他版本。
CVSNT其他版本從何而來?點擊右鍵,然后選擇Checkout TortoiseCVS就可下載。
我安裝版本的是 cvsnt-2.5.03.2382.msi,其他的版本也可以嘗試一下。
更新cvsnt版本后,不再顯示亂碼
問題3,遠程提交時報告cvs找不到錯誤
這個問題百思不得其解,在早期版本中根本沒有這一問題,后來在TortoiseCVS系統配置找到相應的條目,如圖所示,將ssh cvs server 的路徑填寫完整:
至此,windows10下面TortoiseCVS的幾個問題,均得到解決。TortoiseCVS從易用性來講,也算一個不錯的桌面工具,特別是可以和putty完美配合,使用:ext:方法來登錄遠程服務器,避免重復屬于密碼的弊端。
我們在用TortoiseCVS早期的某些版本,曾出現每次提交后,自動把本地文件unix換行修改為dos方式換行符的問題,在1.15.2這個版本還沒有出現,但不知道究竟是cvsnt原因,還是TortoiseCVS的原因,不得而知。