一眉撵、svn服務(wù)端和客戶端安裝:
1、安裝程序:
服務(wù)端程序:Setup-Subversion-1.8.17.msi
客戶端程序:TortoiseSVN-1.9.7.27907-x64-svn-1.9.7.msi
注意把敞,安裝過(guò)程中弥奸,建議放在盤(pán)符根目錄,即安裝路徑中不要有空格和中文奋早。
以往做開(kāi)發(fā)的經(jīng)驗(yàn)得知盛霎,空格和中文會(huì)導(dǎo)致錯(cuò)誤或bug出現(xiàn)冒冬。
如果環(huán)境變量路徑是C:\Program Files (x86)\Subversion\bin; 建議修改。
不存在說(shuō)服務(wù)端和客戶端程序版本不一致等問(wèn)題摩渺。
2简烤、重啟電腦!R』谩:嵴臁!绰姻!
3枉侧、安裝后檢查:
安裝完成后,重啟電腦狂芋。
重啟電腦榨馁,
1)、cmd窗口中輸入命令echo %path%帜矾,檢查svn環(huán)境變量路徑是否正確翼虫。
2)、服務(wù)端的是否在客戶端前面(是否需要C:\TortoiseSVN\bin沒(méi)測(cè)試)屡萤。
比喻:
C:\Subversion\bin;C:\TortoiseSVN\bin;
3)珍剑、在命令行輸入svn --version,看能否正確得到提示死陆;以及版本號(hào)是否是服務(wù)端程序的版本號(hào)[svn招拙,版本 1.8.17 (r1770682)]。
如果你此時(shí)獲取不到版本號(hào)信息措译,或獲取到的版本號(hào)為 1.9.7 說(shuō)明服務(wù)端環(huán)境變量路徑錯(cuò)誤或沒(méi)配置别凤。
4)、在隨便位置點(diǎn)擊鼠標(biāo)右鍵领虹,看看右鍵菜單上是否出現(xiàn)SVN Checkout和TortoiseSVN選項(xiàng)规哪。
4、如果以上操作掠械,cmd窗口打印的環(huán)境變量中由缆,svn服務(wù)端和客戶端路徑正確,
Subversion在TortoiseSVN前面猾蒂,任意位置的鼠標(biāo)右鍵菜單中有相應(yīng)的選項(xiàng)均唉,
證明svn安裝正確。
二肚菠、svn服務(wù)器端配置:
1舔箭、正確安裝好svn后,需要?jiǎng)?chuàng)建服務(wù)器倉(cāng)庫(kù):
X:\......>svnadmin create 倉(cāng)庫(kù)目錄名
如:
K:\test>svnadmin create DKRepos
2、修改服務(wù)器訪問(wèn)權(quán)限:
打開(kāi)倉(cāng)庫(kù)目錄下的conf/svnserve.conf文件层扶,去掉"# "開(kāi)啟相關(guān)權(quán)限箫章,注意#和空格一起去掉。
關(guān)于匿名訪問(wèn)的權(quán)限镜会,自行決定是否修改:(一般只允許只讀或不讓訪問(wèn))
# anon-access = read
# auth-access = write
用戶賬號(hào)密碼訪問(wèn)配置檬寂,改成需要賬號(hào)密碼驗(yàn)證:
# password-db = passwd
改成:
password-db = passwd
去掉上面代碼行前的#和空格,否則連svn時(shí)會(huì)提示conf/svnserve.conf文件27行錯(cuò)誤
開(kāi)啟了用戶賬號(hào)密碼驗(yàn)證后戳表,再打開(kāi)倉(cāng)庫(kù)目錄下的conf/passwd文件桶至,在內(nèi)容最后添加用戶:
格式:
用戶名=密碼
如:
dk=954120245
3、cmd窗口啟動(dòng)svn服務(wù)器(啟動(dòng)后cmd窗口不要關(guān)閉匾旭,若關(guān)閉了則svn服務(wù)就停止了):
X:\......>svnserve -d -r 倉(cāng)庫(kù)路徑\倉(cāng)庫(kù)名
如:
K:\test>svnserve -d -r DKRepos 或 C:\>svnserve -d -r K:\test\DKRepos
-d? :后臺(tái)運(yùn)行
-r? :以root的身份運(yùn)行
如果覺(jué)得命令行啟動(dòng)服務(wù)麻煩镣屹,后面有創(chuàng)建系統(tǒng)服務(wù)的代碼
4、驗(yàn)證svn服務(wù)器是否啟動(dòng)成功:
在任意位置鼠標(biāo)右鍵价涝,選擇TortoiseSVN -> Repo-browser女蜈,
在出現(xiàn)的URL窗口中,輸入
svn://localhost
或
svn://127.0.0.1
或
svn://當(dāng)前電腦所在的局域網(wǎng)IP地址
然后確定色瘩,看是否能登錄上伪窖,試試上傳下載文件操作。
此時(shí)泞遗,你電腦有了svn中心服務(wù)器了惰许,也有了鏈接服務(wù)器的烏龜殼客戶端了席覆。
如果想讓別人連你的svn服務(wù)器怎么辦史辙?告訴別人你的IP地址就可以了,讓他連你ip佩伤。
比喻:svn://當(dāng)前電腦所在的局域網(wǎng)IP地址
三聊倔、svn系統(tǒng)服務(wù)創(chuàng)建:
語(yǔ)法:
sc create 服務(wù)的名稱(chēng) binPath= "\"svn服務(wù)器端程序路徑\" --service -r 服務(wù)器倉(cāng)庫(kù)路徑" displayname= "顯示的名稱(chēng)" depend= Tcpip start= auto
"服務(wù)的名稱(chēng)"是給電腦識(shí)別的,比喻你要用命令行啟動(dòng)生巡、停止耙蔑、刪除或創(chuàng)建服務(wù)時(shí)用到的名字。
"顯示的名稱(chēng)"是給人看的孤荣,比喻你打開(kāi)系統(tǒng)服務(wù)窗口后尋找的名字甸陌。
你只需要修改svn服務(wù)器端程序路徑、服務(wù)器倉(cāng)庫(kù)路徑和顯示的名稱(chēng)即可盐股,其他的都別動(dòng)钱豁。
正確方法1:
sc create svnservice binpath= "\"C:\Subversion\bin\svnserve.exe\" --service -r K:\test\DKRepos" displayname= "SVNServer" depend= Tcpip start= auto
正確方法2(未驗(yàn)證):
sc create SVNServer binPath= "C:\Subversion\bin\svnserve --service -r K:\test\DKRepos"
注意:K:\test\DKRepos路徑必須是指向服務(wù)器倉(cāng)庫(kù)的,如果是指向K:\test則是無(wú)效的疯汁。
完整代碼(新建文本文檔牲尺,粘貼下面代碼,保存,更改文件后綴名為bat谤碳,用管理員權(quán)限運(yùn)行bat文件溃卡,去系統(tǒng)服務(wù)窗口查找SVNServer):
**bat代碼*************************************************
@echo off
@sc create svnservice binpath= "\"C:\Subversion\bin\svnserve.exe\" --service -r K:\test\DKRepos" displayname= "SVNServer" depend= Tcpip start= auto
@net start svnservice
pause
**bat代碼*************************************************
多說(shuō)一句,cmd窗口輸入services.msc蜒简,就可以打開(kāi)系統(tǒng)服務(wù)窗口
四瘸羡、啟動(dòng)停止svn服務(wù):
啟動(dòng)服務(wù):
net start svnservice
停止服務(wù):
net stop svnservice
刪除創(chuàng)建的服務(wù):
sc delete svnservice
注意:如果創(chuàng)建服務(wù)或刪除服務(wù)失敗,有可能是沒(méi)有超級(jí)管理員權(quán)限搓茬,用超級(jí)管理員模式運(yùn)行最铁。
五、連不上svn服務(wù)器的問(wèn)題:
*錯(cuò)誤提示***********************************************
Unable to connect to a repository at URL 'svn://...'
期望文件系統(tǒng)格式在"1"到"6"之間垮兑;發(fā)現(xiàn)格式"7"
********************************************************
是否遇到了上面錯(cuò)誤提示冷尉?*_*
如果你按照我的步驟操作,是不會(huì)遇到這個(gè)問(wèn)題的系枪。
不是網(wǎng)上所說(shuō)的雀哨,什么客戶端程序版本號(hào)高于服務(wù)端的。
我一開(kāi)始為什么強(qiáng)調(diào)環(huán)境變量私爷?
是因?yàn)镾ubversion的環(huán)境變量沒(méi)配置雾棺,或路徑錯(cuò)誤,或在TortoiseSVN的環(huán)境變量后面衬浑,
故在創(chuàng)建服務(wù)器倉(cāng)庫(kù)時(shí)捌浩,使用了TortoiseSVN\bin下的svnadmin命令。
跟客戶端服務(wù)端版本號(hào)沒(méi)關(guān)系工秩,跟其他操作流程沒(méi)關(guān)系尸饺,跟服務(wù)創(chuàng)建沒(méi)關(guān)系。
于是助币,解決這個(gè)問(wèn)題很簡(jiǎn)單浪听,更改環(huán)境變量,確保在cmd下輸入svn --version眉菱,能得到的是服務(wù)端程序的版本號(hào)迹栓。
再重新執(zhí)行創(chuàng)建和配置服務(wù)器倉(cāng)庫(kù)操作即可。