㈠ 如何設置 SVN
(一)安裝
Windows環境下面分了CollabNet / Tigris.org(Apache2.2和Apache2.0) / SlikSVN / VisualSVN 5個鏈接,我選的是Tigris Apache2.2,下載一個目前最新的Setup-Subversion-1.6.6.msi,點擊,一路安裝即可,很簡單。
開始菜單-》運行-》輸入Cmd回車,敲「svn --version --quiet」,會得到SVN的版本號。
(二)配置
1、創建repository
Rrepository是存儲數據的地方。
例如要在F:\svnroot下創建repository,就使用命令行svnadmin create f:\svnroot。如果執行正確的話,會在F盤下多一個SVNROOT的目錄,目錄下有4個目錄和2個文件。
2、啟動SVN服務
使用命令行 svnserve -d -r f:/svnroot,這樣外部就可以它能夠過客戶端來訪問了。
我運行完才發現,這樣cmd窗口還不得不一直開著,很難看,當然一般大公司的代碼伺服器是24小時開著的。
上網搜了一下,也可以作為一個服務自動啟動的。執行腳本 sc create svn binpath= "\"d:\Program Files\Subversion\bin\svnserve.exe\" --service -r\"f:/svnroot\"" displayname= "Subversion Server" depend= Tcpip start= auto 就可以將svnserve程序作為服務載入。安裝路徑和存儲數據的目錄要根據自己的情況修改。
執行完這個腳本,可以去管理工具-》控制面板-》服務那裡找找Subversion Server,如果沒啟動就啟動
3、基本設置
修改f:|svnroot\repos\conf\svnserve.conf,注釋很詳細。
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = My First Repository
[sasl]
# use-sasl = true
# min-encryption = 0
# max-encryption = 256
期中,anon-access = none表示要用戶名和密碼,password-db = passwd表示passwd是存身份驗證的用戶名和密碼。sasl,就是加密訪問用的,一般也可以不用。
4、用戶管理
在f:|svnroot\repos\conf\passwd里添加有許可權的用戶名和密碼。例如添加用戶yobin,密碼123456,就這樣:
[users]
# harry = harryssecret
yobin = 123456
hh = 111
ss = 222
5、分組管理和許可權設置
如果是所有文件對用戶都可見的話,上面幾步也足夠用了。但要想對一些人可見,一些人不可見的話,就要去修改authz文件了。
&別名:別名的引用
@用戶組名:某組用戶
$authenticated:所有已授權用戶
$anonymous:匿名用戶
* : 任何人
r:寫許可權
rw:讀寫許可權
:不能訪問(空,什麼都不寫)
設置用戶許可權的時候,'='左側代表用戶名稱,可以是實際用戶名,也可以是定義的用戶組名,也可以是別名,但要用'@'作為前綴,或者是所有用戶'*'。'='右側代表設置的許可權'r'、'rw'或者為空即代表用戶對於該目錄無任何許可權。
authz文件中對版本庫路徑的表示方法。用'[/]'來表示版本庫的根目錄,如果有子目錄foo,設置該目錄許可權時用'[/foo]'即可,其他任何目錄都以'/'為版本根目錄進行表示。注意了,別用」\「!!!
用戶某個目錄的許可權是向子目錄遞歸的。如果用戶對於/foo目錄有讀寫許可權,則該用戶對於foo目錄下的所有子目錄都有讀寫許可權。如果不設置最上層的目錄沒有設置許可權,那麼就相當於不設置,禁止訪問。
許可權分配,只可以分配到某個目錄,而不能到某個文件。
㈡ svn如何使用
svn(subversion)是近年來崛起的版本管理工具,是cvs的接班人。目前,絕大多數開源軟體都使用svn作為代碼版本管理軟體。如何快速建立Subversion伺服器,並且在項目中使用起來,這是大家最關心的問題,與CVS相比,Subversion有更多的選擇,也更加的容易,幾個命令就可以建立一套伺服器環境,
本文是使用Subversion最快速的教程,在最短的時間里幫助您建立起一套可用的伺服器環境,只需略加調整就可以應用到實際項目當中。
本教程分為以下幾個部分,為了說明簡單,教程是在windows下使用的方式,以方便資源有限的項目使用。在UNIX環境下,只是安裝方式不同,命令執行並無太大區別。
工具/原料
Subversion伺服器程序安裝包
Subversion的Windows客戶端TortoiseSVN安裝包
方法/步驟
1軟體下載
<1>、下載Subversion伺服器程序
到官方網站的下載二進制安裝文件,來到二進制包下載部分,找到 Windows NT, 2000, XP and 2003部分,然後選擇Apache 2.0 或者 Apache 2.2,這樣我們可以看到許多下載的內容,目前可以下載Setup-Subversion-1.7.12.msi 。
<2>、下載Subversion的Windows客戶端TortoiseSVN。
TortoiseSVN是擴展Windows Shell的一套工具,可以看作Windows資源管理器的插件,安裝之後Windows就可以識別Subversion的工作目錄。
官方網站是TortoiseSVN ,下載方式和前面的svn伺服器類似,在Download頁面的我們可以選擇下載的版本,目前的最高穩定版本的安裝文件為TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi。
2svn伺服器和客戶端安裝
<1>、安裝Subversion,直接運行Setup-Subversion-1.5.3.msi ,根據提示安裝即可,這樣我們就有了一套伺服器可以運行的環境。
<2>、安裝TortoiseSVN,同樣直接運行TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi按照提示安裝即可,不過最後完成後會提示是否重啟,其實重啟只是使svn工作拷貝在windows中的特殊樣式生效,與所有的實際功能無關,這里為了立刻看到好的效果,還是重新啟動機器。
<3>、安裝svn的客戶端程序,需要的話還可以安裝svn的語言包,注意語言包的版本也必須與客戶端程序的版本一致
3建立版本庫(Repository)
運行Subversion伺服器需要首先要建立一個版本庫(Repository),可以看作伺服器上存放數據的資料庫,在安裝了Subversion伺服器之後,可以直接運行,如:
svnadmin create E:\svndemo\repository
就會在目錄E:\svndemo\repository下創建一個版本庫。
我們也可以使用TortoiseSVN圖形化的完成這一步:
在目錄E:\svndemo\repository下"右鍵->TortoiseSVN->Create Repository here...「, 然後可以選擇版本庫模式, 這里使用默認即可, 然後就創建了一系列目錄和文件。
步驟閱讀 .4SVN配置用戶和許可權
來到E:\svndemo\repository\conf目錄,修改svnserve.conf:
# [general]
# password-db = passwd
改為:
[general]
password-db = passwd
然後修改同目錄的passwd文件,去掉下面三行的注釋:
# [users]
# harry = harryssecret
# sally = sallyssecret
最後變成:
[users]
harry = harryssecret
sally = sallyssecret
在passwd文件中,「=」前的字元就是用戶名,後面的就是密碼。還要注意「[users]」前面的注釋「#」一定要刪除掉。
步驟閱讀 .5運行獨立伺服器
在任意目錄下運行:
svnserve -d -r E:\svndemo\repository 我們的伺服器程序就已經啟動了。注意不要關閉命令行窗口,關閉窗口也會把svnserve停止。
6初始化導入
來到我們想要導入的項目根目錄,在這個例子里是E:\svndemo\initproject,目錄下有一個readme.txt文件:
右鍵->TortoiseSVN->Import...
在URL of repository輸入「svn://localhost/trunk」
在Import Message中輸入你的日誌信息
完成之後目錄沒有任何變化,如果沒有報錯,數據就已經全部導入到了我們剛才定義的版本庫中。
需要注意的是,這一步操作可以完全在另一台安裝了TortoiseSVN的主機上進行。例如運行svnserve的主機的IP是133.96.121.22,則URL部分輸入的內容就是「svn://133.96.121.22/trunk」。
步驟閱讀 .7基本客戶端操作
取出版本庫到一個工作拷貝:
來到任意空目錄下,在本例中是E:\svndemo\wc1,運行右鍵->Checkout,在URL of repository中輸入svn://localhost/trunk,這樣我們就得到了一份工作拷貝。
在工作拷貝中作出修改並提交:
打開readme.txt,作出修改,然後右鍵->Commit...,這樣我們就把修改提交到了版本庫,我們可以運行。
察看所作的修改:
readme.txt上右鍵->TortoiseSVN->Show Log,這樣我們就可以看到我們對這個文件所有的提交。在版本1上右鍵->Compare with working ,我們可以比較工作拷貝的文件和版本1的區別。
最後,所有的內容都已經錄制為動畫文件,大家可以參考。
關於本教程大家有什麼意見,可以這里討論 。
如果更新文件以後,有兩個人或者多個人同時修改了某個文件的某個位置,是否沖突,(一般不會這樣子,因為上傳的版本是可以編譯通過的,而且每個人負責自己的模塊,不會多人獨立修改同一個文件,別人也是先更新,後上傳修改,,,,)
開發者習慣性動作。早上上班第一件事就是更新svn版本庫,再開始一天的工作。
晚上下班,或者其他時候要上傳東西可以直接上傳因為你負責的東西沒人去修改。
沖突是怎麼產生的呢:因為不同的人,同時修改了同一個文件的同一個地方,這個時候,他提交了,你沒有提交,你就提交不了,這個時候,你要先更新,更新就會出現代碼沖突問題。最好不要多人同時修改一個文件,公用的文件,更改之前要和大家溝通一下,或者解決沖突 呵呵
先更新,沒有沖突,再提交。有沖突,解決沖突再提交。否則也提交不了。
對於一些處於沖突狀態下的文件 ,右鍵TortoiseSVN ->Resolved,解決沖突。解決沖突: http://www.blogjava.net/jasmine214--love/archive/2011/04/07/347769.html
更新-解決沖突-刪掉以下三個文件-提交(如果自己沒有修改的文件有沖突,刪除再更新即可,自己修改的文件解決沖突)
test.php.mine 是沖突前自己的文件
test.php.版本號 是沖突前本地的版本文件
test.php.伺服器的版本號 是沖突後伺服器版本文件
END注意事項
如果修改文件後提交不了,大多是因為版本不一致造成的。更新一下,不產生沖突的情況,就可以提交了。
更新文件,如果出現沖突的情況,打開沖突文件test.php會看到類似以下的內容
<<<<<<<<<<<<<<<
asdfadfadfadf
11111111111111
=======
asdfadfadfadf
111111111111111
222222222222
>>>>>>>>>>>>>>>>
結合別人修改的內容和自己修改的內容,然後把文件中的<<<<<,=====,>>>>>>>這類沖突符號去掉。去掉後,還是不能提交的,為什麼?因為沖突時會產生三個文件,有這三個文件存在肯定提交不了。
客戶端用的tortoisesvn(這個估計程序員用的最多),沖突時會多產生,三個文件
test.php.mine 是沖突前自己的文件
test.php.版本號 是沖突前本地的版本文件
test.php.伺服器的版本號 是沖突後伺服器版本文件
提交的時候,把這三個文件刪除掉就可以提交了。
產生覆蓋的原因。
a),在修改沖突文件test.php時,把別人代碼都刪除掉了,只留下了自己的代碼。這樣就會產生覆蓋了。
b),把test.php.mine中的內容直接到test.php文件,這樣也會產生代碼覆蓋。
上面二種情況都是我親眼看到新手這樣操作的,要避免這二種操作方法。
㈢ 在linux下查詢/關閉/啟動svn服務進程
查詢SVN服務進程號
# ps -ef|grep svnserve
查出SVN服務進程後,如果要關閉SVN服務,使用如下命令
# kill 進程號
如果要啟動SVN服務,使用如下命令
# svnserve -d -r /data/svn
其中/data/svn為SVN版本庫所在的路徑
㈣ 怎麼用linux命令啟動伺服器svn服務
先轉到SVN的安裝目錄,比如,你安裝在/home/svn 下面。
然後轉到bin目錄下,在這里可以看見一個叫svnserve的文件,我們需要用這個來啟動SVN服務。
試一下svnserve --help,看看這個命令的幫組,其中有-d和-r,分別表示後台運行和數據倉庫目錄。
數據倉庫目錄表示你保存數據的地方,如你將工程的信息保存在/home/svndata下面,這個svndata就是你的數據倉庫目錄。
弄清楚了這些就可以來啟動了:
輸入命令:
svnserve -d -r /home/svndata
後面那個要跟你自己的數據倉庫目錄。
這樣我們就啟動了SVN了,SVN默認監聽的是3690。有時候我們需要更改一下監聽的埠,這時就需要設定一下監聽埠了,按照如下命令來進行:
svnserve --listen-port 9999 -d -r /opt/svndata
這樣我們就把監聽埠改成了9999了,當然你也可以可以把9999改成你自己想監聽的埠~
㈤ 如何搭建本地SVN服務
搭建svn服務的方法步驟問題,主要有七個部分 。下面是具體的步驟介紹。
一、准備工作
1、獲取S version伺服器程序
到官方網站(htt p:/ /s version.tigris.org/)下載最新的伺服器安裝程序。目前最新的是1.5版本,具體下載地址 在:htt p:/ /s version.tigris.org/servlets /ProjectDocumentList?folderID=8100&expandFolder=8100&folderID=91
2、獲取TortoiseSVN客戶端程序
從官方網站htt p:/ /tortoisesvn.n et/downloads獲取最新的TortoiseSVN。TortoiseSVN是一個客戶端程 序,用來與s vers伺服器端通訊。S version自帶一個客戶端程序svn.exe,但TortoiseSVN更好操作,提高效率。
二、安裝伺服器端和客戶端
搭建svn服務第二步要安裝伺服器端和客戶端。安裝S version(以下簡稱SVN)的伺服器端和客戶端。下載下來的伺服器端是個zip壓縮包,直 接解壓縮即可,比如我解壓到E:\s version。客戶端安裝文件是個exe可執行文件,直接運行按提示安裝即可,客戶端安裝完成後提示重啟。
三、建立版本庫(Repository)
運行S version伺服器需要首先要建立一個版本庫(Repository)。版本庫可以看作是伺服器上集中存放和管理數據的地方。開始建立版本 庫。首先建立e:\svn空文件夾作為所有版本庫的根目錄。然後,進入命令行並切換到s version的bin目錄。輸入如下命 令:svnadmincreateE:\svn\repos1此命令在E:\svn下建立一個版本庫repos1。repos1下面會自動生成一些文件夾 和文件。我們也可以使用TortoiseSVN圖形化的完成這一步:先建立空目錄E:\svn\repos1,注意一定是要空的。然後在repos1文件 夾上「右鍵->TortoiseSVN->CreateRepositoryhere...」,然後可以選擇版本庫模式,這里使用默認的 FSFS即可,然後就創建了一系列文件夾和文件,同命令行建立的一樣。
四、運行獨立伺服器
搭建svn服務過程中要運行獨立伺服器。 此時s version服務還沒有開始,只是通過它的命令建立了 版本庫。繼續在剛才的命令窗口輸入:svnserve.exe--daemon
svnserve將會在埠3690等待請求,--daemon(兩個短橫線)選項告訴svnserve以守護進程方式運行,這樣在手動終止之前不會退 出。注意不要關閉命令行窗口,關閉窗口會把svnserve停止。為了驗證svnserve正常工作,使用TortoiseSVN->Repo- browser來查看版本庫。在彈出的URL對話框中輸入:svn://localhost/svn/repos1
點OK按鈕後就可以看見repos1版本庫的目錄樹結構了,只不過這時repos1是個空庫。你也可以使用--root選項設置根位置來限制伺服器的訪問 目錄,從而增加安全性和節約輸入svnserveURL的時間:svnserve.exe--daemon--rootdrive:\path\to \repository以前面的測試作為例,svnserve將會運行為:svnserve.exe--daemon--roote:\svn然後 TortoiseSVN中的版本庫瀏覽器URL縮減為:svn://localhost/repos1
五、配置用戶和許可權
用文本編輯器打開E:\svn\repos1\conf目錄,修改svnserve.conf:將:#password-db=passwd改 為:password-db=passwd
即去掉前面的#注釋符,注意前面不能有空格。然後修改同目錄的passwd文件,增加一個帳號:將:
[users]
#harry=harryssecret
#sally=sallyssecret
增加帳號:
[users]
#harry=harryssecret
#sally=sallyssecret
test=test
六、初始化導入
下面就是搭建svn服務時將我們的數據(項目)導入到這個版本庫,以後就由版本庫管理我們的數據。我們的任何改動都回被版本庫記錄下來,甚至我們自己丟 失、改錯數據時版本庫也能幫我們找回數據。
比如,我在d:\wwwroot下有個gstbook文件夾,裡面存放的是我編寫的留言簿程序。在此文件夾上「右鍵 ->TortoiseSVN->Import...」,在彈出對話框的「URLofrepository」輸入 「svn://localhost/repos1/gstbook」。在「Importmessage」輸入「導入整個留言簿」作為注釋。
點OK後要求輸入帳號。我們在用戶名和密碼處都輸入test。完成後gstbook中的內容全部導入到了svn://localhost/svn /repos1/gstbook。
我們看到在e:\svn\repos1沒有任何變化,連個gstbook文件夾都沒有建立,唯一的變化就是e:\svn\repos1容量變大了。實 際上我們源gstbook中的內容已經導入repos1版本庫了,源gstbook文件夾可以刪除了。需要注意的是,這一步操作可以完全在另一台 安裝了TortoiseSVN的客戶機上進行。例如運行svnserve的主機的IP是133.96.121.22,則URL部分輸入的內容就是 「svn://133.96.121.22」。
七、基本操作流程
1、取出(checkout)
取出版本庫到一個工作拷貝:
來到任意空目錄下,比如在f分區建立一個空文件夾f:\work。「右鍵->SVNCheckout」。在「URLofrepository」中輸 入「svn://localhost/svn/repos1/gstbook」,這樣我們就得到了一份gstbook中內容的工作拷貝。
2、存入(checkin)/提交(commit)
在工作拷貝中作出修改並提交:
在gstbook工作拷貝中隨便打開一個文件,作出修改,然後「右鍵->SVNCommit...」。這樣我們就把修改提交到了版本庫,版本庫 根據情況存儲我們提交的數據。
在修改過的文件上「右鍵->TortoiseSVN->ShowLog」,可以看到對這個文件所有的提交。在不同的revision條目上 「右鍵->Comparewithworking」,我們可以比較工作拷貝的文件和所選revision版本的區別。本節介紹搭建SVN服 務完畢,請關注本節其他相關報道。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
搭建好svn後創建svn版本
1、創建一個空文件夾,右鍵->TortoiseSVN->CreateRepositoryhere,然後該文件夾會自動生成一些文件出來
2、用文本編輯器打開E:\svn\repos1\conf目錄,修改svnserve.conf:將:#password-db=passwd改 為:password-db=passwd
即去掉前面的#注釋符
3、修改同目錄的passwd文件,增加一個帳號
增加帳號:
[users]
#harry=harryssecret
#sally=sallyssecret
amylv=amylv
4、初始化導入 比如在d:\wwwroot下有個gstbook文件夾,在此文件夾上「右鍵 ->TortoiseSVN->Import...」,
輸入你的用戶名跟密碼
到此ok了
附:svn伺服器端只能裝在c盤下 svnserve.exe --daemon 這個命令才能使用,版本庫也必須放在c盤下svn://localhost 對應的是c盤直接目錄
如果你創建的文件夾目錄為 c:/svnlib/weibo。那麼import的地址為svn://localhost/svnlib/weibo
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
安裝了兩次終於明白應該注意什麼了,總結一個最簡單的說明,節省大家時間
1、獲取svn程序
2、安裝 S version(以下簡稱SVN)的伺服器端和客戶端。下載下來的伺服器端是個 zip壓縮包,直接解壓縮即可,比如我解壓到 E:\s version 。客戶端安裝文件是個 exe 可執行文件,直接運行按提示安裝即可,客戶端安裝完成後提示重啟。
3、先建立空目錄 E:\svn\repos1 ,注意一定是要空的。然後在 repos1 文件夾上「右鍵->TortoiseSVN->Create Repository here...」,然後可以選擇版本庫模式,這里使用默認的FSFS即可,然後就創建了一系列文件夾和文件,同命令行建立的一樣。
(這一步注意svn服務端要和庫目錄在同一個盤符下面,否則提示找不到目錄)
4、進入命令行並切換到s version的bin目錄。輸入如下命令:
svnserve.exe --daemon
svnserve 將會在埠 3690 等待請求,--daemon(兩個短橫線)選項告訴 svnserve 以守護進程方式運行,這樣在手動終止之前不會退出。注意不要關閉命令行窗口,關閉窗口會把 svnserve 停止
5、配置用戶和許可權
用文本編輯器打開E:\svn\repos1\conf目錄,修改svnserve.conf:
將:
# password-db = passwd
改為:
password-db = passwd
即去掉前面的 # 注釋符,注意前面不能有空格。
然後修改同目錄的passwd文件,增加一個帳號:
將:
[users]
# harry = harryssecret
# sally = sallyssecret
增加帳號:
[users]
#harry = harryssecret
#sally = sallyssecret
test = test
6、初始化導入
(在做這一步之前一定要執行第5步)
下面就是將我們的數據(項目)導入到這個版本庫,以後就由版本庫管理我們的數據。我們的任何改動都回被版本庫記錄下來,甚至我們自己丟失、改錯數據時版本庫也能幫我們找回數據。
比如,我在 d:\wwwroot 下有個 gstbook 文件夾,裡面存放的是我編寫的留言簿程序。在此文件夾上「右鍵 -> TortoiseSVN -> Import...」 ,在彈出對話框的「URL of repository」輸入「svn://localhost/repos1/gstbook」。在「Import message」輸入「導入整個留言簿」作為注釋。
點 OK 後要求輸入帳號。我們在用戶名和密碼處都輸入 test 。完成後 gstbook 中的內容全部導入到了 svn://localhost/svn/repo1/gstbook 。
我們看到在 e:\svn\repo1 沒有任何變化,連個 gstbook 文件夾都沒有建立,唯一的變化就是e:\svn\repo1容量變大了。實際上我們源gstbook中的內容已經導入 repo1 版本庫了,源 gstbook 文件夾可以刪除了。
7、svn配置結束,這是最簡單的步驟,已經可以用了,然後把svn整合到系統服務,以後就不用一直開著命令窗口了。把以下內容粘貼到文本文件,然後重命名文件為:*.bat執行就好了,
sc create svnserver binpath= "C:\Program Files\S version\bin\svnserve.exe --service --root F:\svn" displayname= "svnserver" depend= tcpip start= auto obj= "NT AUTHORITY\NetworkService"
其中C:\Program Files\S version\bin\svnserve.exe 為svn的路徑
F:\svn 為版本庫的目錄
displayname= "svnserver" 為設置服務的名字
--root 是設置根目錄 比如:原來你訪問為:svn://localhost/svn
設置--root F:\svn之後縮寫為svn://localhost 這個一定要注意,否則Error: URL 'svn://localhost/svn'doesn't exist
8、svn能用了,下面是原始資料,稍微整理了一下,如果以上內容不能滿足,參考以下內容,希望沒有浪費寶貴時間。
㈥ 如何讓svnserve.exe在WINDOWS中自動運行
方法:
在Windows NT中(包括Windows XP, Windows 2000, Windows 2003
Server)本身包含了一個安裝服務的工具,叫做"Service Control",也就是sc.exe。
例如我的Subversion安裝在"D:\Subversion",版本庫在"D:\svnroot",而我希望對應的Subversion服務名為svnservice,安裝這個svn服務的命令就可以這樣寫:
sc create svnservice
binpath= "D:\Subversion\bin\svnserve.exe
--service -r D:\svnroot"
displayname= "SVNService"
depend= Tcpip
請注意,因為便於察看,上面的命令分為多行,但在實際執行時應該在一行里。另外,在以前啟動svnserve時會使用"-d"選項,也就是守護進程模式,在這里不能使用,會導致服務無法啟動。同樣,"-i"和"-t"選項也不能使用。
在命令行窗口執行完這個命令之後,服務還沒有啟動,你可以繼續運行"net start
svnservice"啟動這個服務,然後使用"net stop svnservice"停止服務。
另外還有兩點需要小心處理。首先,如果路徑中包括空格,一定要用「\」處理「"」號,例如上面的例子中如果svnserve.exe在「c:\
program files\subversion\」中,則命令應該寫為「binpath= "\"c:\program
files\subversion\bin\svnserve.exe\"」(「」中的內容),整個命令如下,紅色部分是改變部分:
sc create svnservice
binpath= "\"D:\program
files\Subversion\bin\svnserve.exe\"--service -r D:\svnroot"
displayname= "SVNService"
depend= Tcpip
其次,sc對選項的格式還有要求,例如「depend= Tcpip」不能寫為「depend =
㈦ 如何在windows上安裝部署設置SVN伺服器
一、准備工作
1、SVN伺服器:解壓縮包,可以從官方網站下載最新版本。
2、SVN客戶端:TortoiseSVN,即常說的小烏龜,是一個客戶端程序,用來與伺服器端通訊。
二、安裝伺服器和客戶端程序
1、SVN伺服器:直接解壓縮到某個文件夾下即可。示例路徑:c:\svn\
備註:如果下載的是msi程序,直接運行按提示安裝即可。
2、SVN客戶端:直接運行按提示安裝即可。示例路徑:C:\Program
Files\Subversion
三、建立版本庫(Repository):示例路徑:e:\svnroot。建立版本庫有兩種方法:
方法一,建立空目錄e:\svnroot\repos1,進入repos1文件夾,在空白處點擊右鍵,選擇「TortoiseSVN->Create
Repositoryhere...」,
方法二,建立空目錄e:\svnroot\repos2,進入DOS命令行,輸入如下命令:
svnadmincreate
e:\svnroot\repos2
四、運行SVN伺服器,啟動服務。啟動服務有兩種方法:
方法一,臨時啟動服務,在DOS下輸入如下命令:
svnserve
-d
-r
e:\svnroot\repos1
--listen-host
ip地址
--listen-port=埠號
說明:「listen-host」和「listen-port」可選。默認埠是3690,如果埠已經被佔用,可以通過選項listen-port指定埠號。
注意:請不要關閉命令行窗口,關閉窗口會把
svn服務就停止了。
方法二,啟動SVN服務為後台運行程序:
sc
create
svnserve
binPath=
"c:\svn\bin\svnserve.exe
--service
-r
e:\svnroot\repos1"
displayname=
"Subversion"
depend=Tcpip
start=
auto
說明一:
(1)sc是windows自帶的服務配置程序。svnserve是服務的名稱,可根據需求取名。
(2)參數binPath表示svnserve可執行文件的安裝路徑。
(3)--service表示以windows服務的形式運行,--r指明svnrepository的位置,service參數與r參數都作為binPath的一部分,因此與svnserve.exe的路徑一起被包含在一對雙引號當中。
(4)displayname表示在windows服務列表中顯示的名字,depend=Tcpip表示svnserve服務的運行需要tcpip服務,start=auto表示開機後自動運行。安裝服務後,svnserve要等下次開機時才會自動運行。
說明二:
(1)binPath的等號前面無空格,等號後面有空格。displayname、depend、start也一樣,service前面是--,不是-
,而r前面是-。
(2)若要卸載svn服務,則執行
sc
delete
svnserve
即可。
(3)從「sc」到「auto」是在同一個命令sc,必須寫在同一行。
(4)啟動服務命令:netstart
svnserve,停止服務命令:net
start
svnserve,也可以進入Windows提供的界面操作SVNService服務了,即控制面板—>服務。
(5)如果路徑中包括空格,一定要用「\」處理「"」號,例如上面的例子中如果svnserve.exe在「c:\programfiles\svn\」中,則命令應該寫為「binpath="\"c:\programfiles\svn\bin\svnserve.exe\"
五、配置用戶和許可權
(1)修改svnserve.conf,在e:\svn\repos1\conf目錄下,用文本編輯器打開svnserve.conf:
將:
#
anon-access
=
read
#
auth-access
=
write
#
password-db
=
passwd
改為
anon-access
=
read
auth-access
=
write
password-db
=
passwd
注意說明:
anon-access等列前面是沒有空格的。
anon-access
=
read表示沒通過用戶名密碼登錄的訪問只有讀的許可權,如果改為none則沒有用戶名密碼不能訪問
auth-access
=
write表示通過用戶名密碼登錄的有寫的許可權(當然讀的許可權也就有了)
password-db
=
passwd表示可以通過
用戶名
=
密碼
的方式在passwd文件中添加用戶
(2)修改同目錄的passwd文件,增加用戶帳號:
將:
[users]
#
harry
=
harryssecret
#
sally
=
sallyssecret
添加帳號:
[users]
#
harry
=
harryssecret
#
sally
=
sallyssecret
admin
=
admin
添加一個admin賬戶,密碼是admin。
6
六、初始化SVN,導入數據
選中要上傳SVN的文件夾,「右鍵
->TortoiseSVN
->
Import...」
,在彈出對話框的「URL
of
repository」輸入「svn://localhost/project1/」。在「Importmessage」輸入注釋,點擊OK,要求輸入帳號,輸入賬戶admin和密碼admin。
7
七,測試SVN
本地測試:新建一空文件夾test1,單擊右鍵,選擇「SVN
Checkout」,在「URL
of
repository」中輸入「svn://localhost/project1」。
其他機器測試:如果運行svnserve的主機IP地址是1.2.3.4,則URL輸入的內容就是「svn://1.2.3.4/project1」。