亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 服務(wù)器 > Win服務(wù)器 > 正文

WINDOWS下搭建SVN服務(wù)器端的步驟分享(Subversion)

2024-09-10 00:06:17
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
1、獲取svn程序

2、安裝 Subversion(以下簡(jiǎn)稱SVN)的服務(wù)器端和客戶端。下載下來(lái)的服務(wù)器端是個(gè) zip壓縮包,直接解壓縮即可,比如我解壓到 E:/subversion 。客戶端安裝文件是個(gè) exe 可執(zhí)行文件,直接運(yùn)行按提示安裝即可,客戶端安裝完成后提示重啟。

3、先建立空目錄 E:/svn/repos1 ,注意一定是要空的。然后在 repos1 文件夾上“右鍵->TortoiseSVN->Create Repository here...”,然后可以選擇版本庫(kù)模式,這里使用默認(rèn)的FSFS即可,然后就創(chuàng)建了一系列文件夾和文件,同命令行建立的一樣。
(這一步注意svn服務(wù)端要和庫(kù)目錄在同一個(gè)盤符下面,否則提示找不到目錄)

4、進(jìn)入命令行并切換到subversion的bin目錄。輸入如下命令:

svnserve.exe --daemon

svnserve 將會(huì)在端口 3690 等待請(qǐng)求,--daemon(兩個(gè)短橫線)選項(xiàng)告訴 svnserve 以守護(hù)進(jìn)程方式運(yùn)行,這樣在手動(dòng)終止之前不會(huì)退出。注意不要關(guān)閉命令行窗口,關(guān)閉窗口會(huì)把 svnserve 停止

5、配置用戶和權(quán)限
用文本編輯器打開(kāi)E:/svn/repos1/conf目錄,修改svnserve.conf:
將:
# password-db = passwd
改為:
password-db = passwd

即去掉前面的 # 注釋符,注意前面不能有空格。
然后修改同目錄的passwd文件,增加一個(gè)帳號(hào):

將:
[users]
# harry = harryssecret
# sally = sallyssecret

增加帳號(hào):
[users]
#harry = harryssecret
#sally = sallyssecret
test = test

6、初始化導(dǎo)入

(在做這一步之前一定要執(zhí)行第5步)
下面就是將我們的數(shù)據(jù)(項(xiàng)目)導(dǎo)入到這個(gè)版本庫(kù),以后就由版本庫(kù)管理我們的數(shù)據(jù)。我們的任何改動(dòng)都回被版本庫(kù)記錄下來(lái),甚至我們自己丟失、改錯(cuò)數(shù)據(jù)時(shí)版本庫(kù)也能幫我們找回?cái)?shù)據(jù)。
比如,我在 d:/wwwroot 下有個(gè) guestbook 文件夾,里面存放的是我編寫的留言簿程序。在此文件夾上“右鍵 -> TortoiseSVN -> Import...” ,在彈出對(duì)話框的“URL of repository”輸入“svn://localhost/repos1/guestbook”。在“Import message”輸入“導(dǎo)入整個(gè)留言簿”作為注釋。
點(diǎn) OK 后要求輸入帳號(hào)。我們?cè)谟脩裘兔艽a處都輸入 test 。完成后 guestbook 中的內(nèi)容全部導(dǎo)入到了 svn://localhost/svn/repo1/guestbook 。
我們看到在 e:/svn/repo1 沒(méi)有任何變化,連個(gè) guestbook 文件夾都沒(méi)有建立,唯一的變化就是e:/svn/repo1容量變大了。實(shí)際上我們?cè)磄uestbook中的內(nèi)容已經(jīng)導(dǎo)入 repo1 版本庫(kù)了,源 guestbook 文件夾可以刪除了。

7、svn配置結(jié)束,這是最簡(jiǎn)單的步驟,已經(jīng)可以用了,然后把svn整合到系統(tǒng)服務(wù),以后就不用一直開(kāi)著命令窗口了。把以下內(nèi)容粘貼到文本文件,然后重命名文件為:*.bat執(zhí)行就好了,
sc create svnserver binpath= "C:/Program Files/Subversion/bin/svnserve.exe --service --root F:/svn" displayname= "svnserver" depend= tcpip start= auto obj= "NT AUTHORITY/NetworkService"
其中C:/Program Files/Subversion/bin/svnserve.exe 為svn的路徑
F:/svn 為版本庫(kù)的目錄
displayname= "svnserver" 為設(shè)置服務(wù)的名字
--root 是設(shè)置根目錄 比如:原來(lái)你訪問(wèn)為:svn://localhost/svn
設(shè)置--root F:/svn之后縮寫為svn://localhost 這個(gè)一定要注意,否則Error: URL 'svn://localhost/svn'doesn't exist

8、svn能用了,下面是原始資料,稍微整理了一下,如果以上內(nèi)容不能滿足,參考以下內(nèi)容,希望沒(méi)有浪費(fèi)寶貴時(shí)間。如果希望網(wǎng)站同步更新,使用了鉤子程序,也在下面內(nèi)容。

Subvision SVN (svn的服務(wù)器端)安裝教程:
一、準(zhǔn)備工作
1、獲取 Subversion 服務(wù)器程序
到官方網(wǎng)站()下載最新的服務(wù)器安裝程序。目前最新的是1.4.6版本,具體下載地址在: ... 100&folderID=91 ,注意找for apache 2.2.x 版本的。

2、獲取 TortoiseSVN 客戶端程序
從官方網(wǎng)站 獲取最新的TortoiseSVN 。TortoiseSVN 是一個(gè)客戶端程序,用來(lái)與 subversion 服務(wù)器端通訊。Subversion 自帶一個(gè)客戶端程序 svn.exe ,但 TortoiseSVN 更好操作,提高效率。

二、安裝服務(wù)器端和客戶端
首先安裝 Apache 2.2.6 ,具體安裝方法大家參考相關(guān)資料,或者參看我寫的《Windows下安裝Apache 2.2.x》。
其次安裝 Subversion(以下簡(jiǎn)稱SVN)的服務(wù)器端和客戶端。下載下來(lái)的服務(wù)器端是個(gè) zip壓縮包,直接解壓縮即可,比如我解壓到 E:/subversion ??蛻舳税惭b文件是個(gè) exe 可執(zhí)行文件,直接運(yùn)行按提示安裝即可,客戶端安裝完成后提示重啟。

三、建立版本庫(kù)(Repository)
運(yùn)行Subversion服務(wù)器需要首先要建立一個(gè)版本庫(kù)(Repository)。版本庫(kù)可以看作是服務(wù)器上集中存放和管理數(shù)據(jù)的地方。
開(kāi)始建立版本庫(kù)。首先建立 e:/svn 空文件夾作為所有版本庫(kù)的根目錄。然后,進(jìn)入命令行并切換到subversion的bin目錄。輸入如下命令:

svnadmin create E:/svn/repos1

此命令在 E:/svn 下建立一個(gè)版本庫(kù) repos1 。repos1 下面會(huì)自動(dòng)生成一些文件夾和文件。

我們也可以使用 TortoiseSVN 圖形化的完成這一步:
先建立空目錄 E:/svn/repos1 ,注意一定是要空的。然后在 repos1 文件夾上“右鍵->TortoiseSVN->Create Repository here...”,然后可以選擇版本庫(kù)模式,這里使用默認(rèn)的FSFS即可,然后就創(chuàng)建了一系列文件夾和文件,同命令行建立的一樣。

四、運(yùn)行獨(dú)立服務(wù)器
此時(shí) subversion 服務(wù)還沒(méi)有開(kāi)始,只是通過(guò)它的命令建立了版本庫(kù)。繼續(xù)在剛才的命令窗口輸入:

svnserve.exe –daemon

svnserve 將會(huì)在端口 3690 等待請(qǐng)求,--daemon(兩個(gè)短橫線)選項(xiàng)告訴 svnserve 以守護(hù)進(jìn)程方式運(yùn)行,這樣在手動(dòng)終止之前不會(huì)退出。注意不要關(guān)閉命令行窗口,關(guān)閉窗口會(huì)把 svnserve 停止。

為了驗(yàn)證svnserve正常工作,使用TortoiseSVN -> Repo-browser 來(lái)查看版本庫(kù)。在彈出的 URL 對(duì)話框中輸入:

svn://localhost/svn/repo1

點(diǎn) OK 按鈕后就可以看見(jiàn) repo1 版本庫(kù)的目錄樹(shù)結(jié)構(gòu)了,只不過(guò)這時(shí) repo1 是個(gè)空庫(kù)。

你也可以使用--root選項(xiàng)設(shè)置根位置來(lái)限制服務(wù)器的訪問(wèn)目錄,從而增加安全性和節(jié)約輸入svnserve URL的時(shí)間:

svnserve.exe --daemon --root drive:/path/to/repository

以前面的測(cè)試作為例,svnserve將會(huì)運(yùn)行為:

svnserve.exe --daemon --root e:/svn

然后TortoiseSVN中的版本庫(kù)瀏覽器URL縮減為:

svn://localhost/repo1

五、配置用戶和權(quán)限
用文本編輯器打開(kāi)E:/svn/repos1/conf目錄,修改svnserve.conf:
將:
# password-db = passwd

改為:
password-db = passwd

即去掉前面的 # 注釋符,注意前面不能有空格。
然后修改同目錄的passwd文件,增加一個(gè)帳號(hào):

將:
[users]
# harry = harryssecret
# sally = sallyssecret

增加帳號(hào):
[users]
#harry = harryssecret
#sally = sallyssecret
test = test

六、初始化導(dǎo)入
下面就是將我們的數(shù)據(jù)(項(xiàng)目)導(dǎo)入到這個(gè)版本庫(kù),以后就由版本庫(kù)管理我們的數(shù)據(jù)。我們的任何改動(dòng)都回被版本庫(kù)記錄下來(lái),甚至我們自己丟失、改錯(cuò)數(shù)據(jù)時(shí)版本庫(kù)也能幫我們找回?cái)?shù)據(jù)。
比如,我在 d:/wwwroot 下有個(gè) guestbook 文件夾,里面存放的是我編寫的留言簿程序。在此文件夾上“右鍵 -> TortoiseSVN -> Import...” ,在彈出對(duì)話框的“URL of repository”輸入“svn://localhost/repos1/guestbook”。在“Import message”輸入“導(dǎo)入整個(gè)留言簿”作為注釋。
點(diǎn) OK 后要求輸入帳號(hào)。我們?cè)谟脩裘兔艽a處都輸入 test 。完成后 guestbook 中的內(nèi)容全部導(dǎo)入到了 svn://localhost/svn/repo1/guestbook 。
我們看到在 e:/svn/repo1 沒(méi)有任何變化,連個(gè) guestbook 文件夾都沒(méi)有建立,唯一的變化就是e:/svn/repo1容量變大了。實(shí)際上我們?cè)磄uestbook中的內(nèi)容已經(jīng)導(dǎo)入 repo1 版本庫(kù)了,源 guestbook 文件夾可以刪除了。

需要注意的是,這一步操作可以完全在另一臺(tái)安裝了 TortoiseSVN 的客戶機(jī)上進(jìn)行。例如運(yùn)行svnserve的主機(jī)的IP是133.96.121.22,則URL部分輸入的內(nèi)容就是“svn://133.96.121.22” 。


七、基本操作流程
1、取出(check out)
取出版本庫(kù)到一個(gè)工作拷貝:
來(lái)到任意空目錄下,比如在f分區(qū)建立一個(gè)空文件夾 f:/work 。“右鍵 -> SVN Checkout”。在“URL of repository”中輸入“svn://localhost/svn/repo1/guestbook”,這樣我們就得到了一份 guestbook 中內(nèi)容的工作拷貝。

2、存入(check in)/提交(commit)
在工作拷貝中作出修改并提交:
在 guestbook 工作拷貝中隨便打開(kāi)一個(gè)文件,作出修改,然后“右鍵 -> SVN Commit... ”。這樣我們就把修改提交到了版本庫(kù),版本庫(kù)根據(jù)情況存儲(chǔ)我們提交的數(shù)據(jù)。

在修改過(guò)的文件上“右鍵 -> TortoiseSVN -> Show Log” ,可以看到對(duì)這個(gè)文件所有的提交。在不同的 revision 條目上“右鍵 -> Compare with working copy”,我們可以比較工作拷貝的文件和所選 revision 版本的區(qū)別。



安裝 ApacheSVN 服務(wù)器教程:

Subversion的設(shè)計(jì)包括一個(gè)抽象的網(wǎng)絡(luò)層,這意味著版本庫(kù)可以通過(guò)各種服務(wù)器進(jìn)程訪問(wèn)。理論上講,Subversion可以使用無(wú)限數(shù)量的網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn),目前實(shí)踐中存在著兩種服務(wù)器。
? SVNServer:svnserve是一個(gè)小的(也叫輕型的)、獨(dú)立服務(wù)器,使用自己定義的協(xié)議和客戶端。(作者注:以下稱這種服務(wù)器為“svnserver服務(wù)器”,上面的安裝配置就是安裝svnserver服務(wù)器。)
? ApacheSVN:Apache是最流行的web服務(wù)器,通過(guò)使用mod_dav_svn模塊,Apache可以訪問(wèn)版本庫(kù),并且可以使客戶端使用HTTP的擴(kuò)展協(xié)議WebDAV/DeltaV進(jìn)行訪問(wèn)。(作者注:以下稱這種服務(wù)器為“ApacheSVN服務(wù)器”)

通過(guò) Http 協(xié)議訪問(wèn)版本庫(kù)是 Subversion 的亮點(diǎn)之一。ApacheSVN服務(wù)器具備了許多svnserve服務(wù)器沒(méi)有的特性,使用上更加靈活,但是有一點(diǎn)難于配置,靈活通常會(huì)帶來(lái)復(fù)雜性。

由于 Subversion 需要版本化的控制,因此標(biāo)準(zhǔn)的 Http 協(xié)議不能滿足需求。要讓 Apache 與 Subversion 協(xié)同工作,需要使用 WebDAV(Web-based Distributed Authoring and Versioning:)Web 分布式創(chuàng)作和版本控制)。WebDAV 是 HTTP 1.1 的擴(kuò)展,關(guān)于 WebDAV 的規(guī)范和工作原理,可以參考 IETF RFC 2518 ()。

一、必備條件
為了讓你的版本庫(kù)使用HTTP網(wǎng)絡(luò),你必需具備以下幾個(gè)條件:

1、配置好httpd 2.2.x,并且使用mod_dav啟動(dòng)。
2、為mod_dav安裝mod_dav_svn插件。
3、配置你的httpd.conf,使http協(xié)議能訪問(wèn)版本庫(kù)。

下面以我的配置過(guò)程詳細(xì)講解。

環(huán)境:
OS:Windows XP SP2
Web:Apache 2.2.6
SVN:svn-win32-1.4.6

二、安裝
1、安裝Apache
具體安裝方法見(jiàn):《Windows下安裝Apache 2.2.x》

2、安裝 Subversion
將下載下來(lái)的 svn-win32-1.4.6.zip 直接解壓即可,比如我解壓到 e:/subversion 。
從Subversion安裝目錄的 bin 子目錄將 intl3_svn.dll、libdb44.dll、mod_authz_svn.so、mod_dav_svn.so 拷貝到Apache的模塊目錄(Apache 安裝目錄的 modules 文件夾)。

三、基本的Apache配置
修改Apache的配置文件 httpd.conf ,使用LoadModule來(lái)加載mod_dav_svn模塊。


#LoadModule dav_module modules/mod_dav.so

改成:
LoadModule dav_module modules/mod_dav.so

即去掉前面的“#”號(hào)。

添加:
LoadModule dav_svn_module modules/mod_dav_svn.so

一定確定它在 mod_dav 之后。

現(xiàn)在你已經(jīng)設(shè)置了Apache和Subversion,但是Apache不知道如何處理Subversion客戶端,例如TortoiseSVN。為了讓Apache知道哪個(gè)目錄是用來(lái)作為Subversion版本庫(kù),你需要使用編輯器(例如記事本)編輯Apache的配置文件。

在配置文件最后添加如下幾行:

<Location / repository>
DAV svn<


br /> SVNPath e:/svn/repos1
</Location>

這個(gè)配置告訴Apache首先需要啟用 dav_module,然后加載 dav_svn_module 。版本庫(kù)對(duì)外的URL是:服務(wù)器IP/repository ,所有的Subversion版本庫(kù)在物理上位于e:/svn/repos1 。
配置完畢后重新啟動(dòng) Apache,打開(kāi)瀏覽器,輸入 服務(wù)器IP/ repository 將會(huì)看到如下畫面:


這表示 Apache 的 dav_svn 模塊已經(jīng)可以正常工作了。用戶可以使用任何一種 Subversion 的客戶端通過(guò) Http 協(xié)議訪問(wèn)你的版本庫(kù)。

如果想要指定多個(gè)版本庫(kù),可以用多個(gè) Location 標(biāo)簽,也可以使用 SVNParentPath 代替 SVNPath,例如在 e:/svn 下有多個(gè)版本庫(kù) repos1,repos2 等等,用如下方式指定:

<Location /repository>
DAV svn
SVNParentPath e:/svn
</Location>

“SVNParentPath e:/svn ” 表示 e:/svn 下的每個(gè)子目錄都是一個(gè)版本庫(kù)。可以通過(guò) 服務(wù)器IP/repository/repos1,服務(wù)器IP/repository/repos2 來(lái)訪問(wèn)。

現(xiàn)在你的版本庫(kù)任何人都可以訪問(wèn),并且有完全的寫操作權(quán)限。也就是說(shuō)任何人都可以匿名讀取,修改,提交,以及刪除版本庫(kù)中的內(nèi)容(注:這時(shí)不需要配置E:/svn/repos/conf/svnserve.conf 文件,并且也不需要啟動(dòng)E:/subversion/bin/svnserve.exe。因?yàn)樘峤皇峭ㄟ^(guò)Apache的dav模塊處理的,而不是由svnservice處理。)。我們用 TortoiseSVN 客戶端驗(yàn)證即知。
顯然大部分場(chǎng)合這是不符合需求的。那么如何進(jìn)行權(quán)限設(shè)置呢,Apache 提供了基本的權(quán)限設(shè)置:

四、認(rèn)證選項(xiàng)
1、基本 HTTP 認(rèn)證
最簡(jiǎn)單的客戶端認(rèn)證方式是通過(guò) HTTP 基本認(rèn)證機(jī)制,簡(jiǎn)單的使用用戶名和密碼來(lái)驗(yàn)證一個(gè)用戶的身份。Apache提供了一個(gè) htpasswd 工具來(lái)管理一個(gè)用戶文件,這個(gè)文件包含用戶名和加密后的密碼,這些就是你希望賦予 Subversion 特別權(quán)限的用戶。htpasswd 可以在 Apache 的 bin 安裝目錄下找到。具體使用方法如下:

創(chuàng)建用戶文件:
htpasswd -c /etc/svn/passwordfile username

添加新用戶(-m 表示以MD5加密密碼):
htpasswd [-m] /etc/svn/passwordfile Newusername

更改用戶密碼:
htpasswd [-m] /etc/svn/passwordfile username

刪除用戶(要用大寫的 D ):
htpasswd –D /etc/svn/passwordfile username


接下來(lái)修改 httpd.conf,在 Location 標(biāo)簽中加入如下內(nèi)容:

AuthType Basic
AuthName "svn repos"
AuthUserFile E:/usr/Apache2.2/bin/passwd
Require valid-user

說(shuō)明:
AuthType Basic:?jiǎn)⒂没镜尿?yàn)證,比如用戶名/密碼對(duì)。
AuthName "svn repos":當(dāng)一個(gè)認(rèn)證對(duì)話框彈出時(shí),出現(xiàn)在認(rèn)證對(duì)話框中的信息。(最好用英文,TortoiseSVN 不支持中文,安裝語(yǔ)言包除外。)
AuthUserFile E:/usr/Apache2.2/bin/passwd:指定E:/usr/Apache2.2/bin/passwd為用戶文件,用來(lái)驗(yàn)證用戶的用戶名及密碼。
Require valid-user:限定用戶只有輸入正確的用戶名及密碼后才能訪問(wèn)這個(gè)路徑

重新啟動(dòng) Apache ,打開(kāi)瀏覽器訪問(wèn)版本庫(kù)。Apache 會(huì)提示你輸入用戶名和密碼來(lái)認(rèn)證登陸了,現(xiàn)在只有 passwd 文件中設(shè)定的用戶才可以訪問(wèn)版本庫(kù)。也可以配置只有特定用戶可以訪問(wèn),替換上述 "Require valid-user" 為 "Require user tony robert" 將只有用戶文件中的 tony 和 robert 可以訪問(wèn)該版本庫(kù)。

有的時(shí)候也許不需要這樣嚴(yán)格的訪問(wèn)控制,例如大多數(shù)開(kāi)源項(xiàng)目允許匿名的讀取操作,而只有認(rèn)證用戶才允許寫操作。為了實(shí)現(xiàn)更為細(xì)致的權(quán)限認(rèn)證,可以使用 Limit 和 LimitExcept 標(biāo)簽。例如:

<LimitExcept GET PROPFIND OPTIONS REPORT>
require valid-user
</LimitExcept>

以上配置將使匿名用戶有讀取權(quán)限,而限制只有 passwd 中配置的用戶可以使用寫操作。
如果這還不能滿足你的要求,你希望精確的控制版本庫(kù)目錄訪問(wèn),可以使用 Apache 的 mod_authz_svn 模塊對(duì)每個(gè)目錄進(jìn)行認(rèn)證操作。

2、用 mod_authz_svn 進(jìn)行目錄訪問(wèn)控制
首先需要讓 Apache 將 mod_authz_svn 模塊加載進(jìn)來(lái)。在 Subversion 的安裝目錄中找到 mod_auth_svn 模塊,將其拷貝到 Apache 安裝目錄的 modules 子目錄下。修改 httpd.conf 文件,添加:

LoadModule authz_svn_module modules/mod_authz_svn.so

現(xiàn)在可以在 Location 標(biāo)簽中使用 authz 的功能了。一個(gè)基本的 authz 配置如下:

<Location /repository>
DAV svn
SVNParentPath e:/svn

# our access control policy
AuthzSVNAccessFile E:/usr/Apache2.2/bin/accesspolicy.conf

# try anonymous access first, resort to real
# authentication if necessary.
Satisfy Any
Require valid-user

# how to authenticate a user
AuthType Basic
AuthName "Subversion repository"
AuthUserFile E:/usr/Apache2.2/bin/passwd
</Location>

AuthzSVNAccessFile 指向的是 authz 的策略文件,詳細(xì)的權(quán)限控制可以在這個(gè)策略文件中指定。訪問(wèn)文件 accesspolicy.conf 的語(yǔ)法與svnserve.conf和 Apache 的配置文件非常相似,以(#)開(kāi)頭的行會(huì)被忽略;在它的簡(jiǎn)單形式里,每一小節(jié)命名一個(gè)版本庫(kù)和一個(gè)里面的路徑;認(rèn)證用戶名是在每個(gè)小節(jié)中的選項(xiàng)名;每個(gè)選項(xiàng)的值描述了用戶訪問(wèn)版本庫(kù)的級(jí)別:r(只讀)或者rw(讀寫),如果用戶沒(méi)有提到或者值留空,訪問(wèn)是不允許的; * 表示所有用戶,用它控制匿名用戶的訪問(wèn)權(quán)限;@符號(hào)區(qū)分組和用戶。如:

[groups]
committers = paulex, richard
developers = jimmy, michel, spark, sean

[/]
* = r
@committers = rw

[/branches/dev]
@developers = rw

[/tags]
tony = rw
[/private]
* =
@committers= r

使用 SVNParentPath 代替 SVNPath 來(lái)指定多個(gè)版本庫(kù)的父目錄時(shí),其中所有的版本庫(kù)都將按照這個(gè)策略文件配置。例如上例中 tony 將對(duì)所有版本庫(kù)里的 /tags 目錄具有讀寫權(quán)限。如果要對(duì)具體每個(gè)版本庫(kù)配置,用如下的語(yǔ)法:

[groups]
project1_committers = paulex, richard
project2_committers = jimmy, michel, spark, tony, Robert

[repos1:/]
* = r
@ project1_committer = rw

[repos2:/]
* = r
@ project2_committer = rw

這樣 repos1的 project1_committer 組只能對(duì) repos1 版本庫(kù)下的文件具有寫權(quán)限而不能修改版本庫(kù) repos2 ,同樣 repos2 的 project2_commiter 組也不能修改 repos1 版本庫(kù)的文件。



FAQ:

1、路徑或權(quán)限不足時(shí)將出現(xiàn)錯(cuò)誤信息提示:

(路徑不對(duì))
Error * PROPFIND request failed on ''/'' PROPFIND of ''/'': 200 OK ()

(權(quán)限不足)
Error * PROPFIND request failed on ''/svn'' PROPFIND of ''/svn'': 403 Forbidden ()

(正常顯示)

(權(quán)限不允許)
Error * PROPFIND request failed on ''/repos'' PROPFIND of ''/repos'': 405 Method Not Allowed ()


2、不啟動(dòng)E:/subversion/bin/svnserve.exe ,但啟動(dòng)了ApacheSVN ,訪問(wèn)(tortoiseSVN –> Repo – browser)或提交(SVN Commit)情形如下:

現(xiàn)象:svn://localhost/svn/repos 不能訪問(wèn)或提交,提示:Error * Can''t connect to host ''localhost'': 由于目標(biāo)機(jī)器積極拒絕,無(wú)法連接。 但 file:///e:/svn/repos 和 可以訪問(wèn)或提交。

原因:svn:// 是獨(dú)立服務(wù)器 svnserver 自己的協(xié)議。file:/// 是本地訪問(wèn),即服務(wù)器端和客戶端在一個(gè)機(jī)器上。


文章出處:



安裝svn服務(wù)器后,為了方便啟動(dòng)必須在windows下添加服務(wù)項(xiàng)
我們使用批處理完成,做這一步要注意,添加之后只能從注冊(cè)表刪除,如果你知道別的辦法請(qǐng)留言。感激不盡。

sc create svnserver binpath= "C:/Program Files/Subversion/bin/svnserve.exe --service --root F:/svn" displayname= "svnserver" depend= tcpip start= auto obj= "NT AUTHORITY/NetworkService"
其中C:/Program Files/Subversion/bin/svnserve.exe 為svn的路徑
F:/svn 為版本庫(kù)的目錄
displayname= "svnserver" 為設(shè)置服務(wù)的名字
--root 是設(shè)置根目錄 比如:原來(lái)你訪問(wèn)為:svn://localhost/svn
設(shè)置--root F:/svn之后縮寫為svn://localhost 這個(gè)一定要注意,否則Error: URL 'svn://localhost/svn'doesn't exist

自動(dòng)更新的配置:

開(kāi)發(fā)中經(jīng)常要在更新SVN的同時(shí)要更新WEB服務(wù)器??梢杂眠^(guò)Subversion的鉤子(Hook)來(lái)實(shí)現(xiàn)。

以下是Windows操作系統(tǒng)下的配置:

在SVN庫(kù)的hooks目錄下面新建post-commit.bat文件,用記事本打開(kāi),然后寫入如下的代碼:

@echo off

SET REPOS=%1
SET REV=%2

SET DIR=%REPOS%/hooks
SET PATH=%PATH%;

SET WORKING_COPY=D:/Websites/Latisse
svn update %WORKING_COPY% –username user –password pwd

此處的D:/Websites/Latisse即是WEB網(wǎng)站的目錄(當(dāng)然得先建好這個(gè)目錄,并且從svn服務(wù)器上簽出相應(yīng)的項(xiàng)目)。

這樣在用戶提交完后,便會(huì)自動(dòng)更新到WEB服務(wù)器上。

需要注意到問(wèn)題是:

1.不要在WEB網(wǎng)站文件夾下作修改或其它操作,防止出現(xiàn)文件夾被鎖。無(wú)法更新。

2.在這里我明確寫明了用戶名(user),密碼(pwd)。在我設(shè)置時(shí)發(fā)現(xiàn),如果沒(méi)有設(shè)置的話會(huì)出現(xiàn)錯(cuò)誤,在直接運(yùn)行這個(gè)bat文件時(shí)是能正常執(zhí)行的,但是,在Subversion提交后卻不能正常運(yùn)行。并且可以看到服務(wù)器進(jìn)程中會(huì)出現(xiàn)cmd,svn兩個(gè)進(jìn)程,并且不會(huì)自己結(jié)束,而用戶在提交內(nèi)容到服務(wù)器后,會(huì)出現(xiàn)客戶端無(wú)法正常返回的問(wèn)題。

3.如果運(yùn)行不能正常,可以通過(guò)下面的方法看到出錯(cuò)信息:

將剛才的post-commit.bat改名為post-commit-run.bat,然后再建一個(gè)post-commit.bat的文件,里面寫入如下的代碼:

call %~dp0post-commit-run.bat %* > %1/hooks/post-commit.log 2>&1

這樣運(yùn)行結(jié)果就會(huì)被寫入到post-commit.log文件中,如果出錯(cuò),也可以找到出錯(cuò)的原因。


svn服務(wù)端更改ip后,客戶端重新定位方法:
使用最新版本的TortoiseSVN,右鍵在工作復(fù)本的根目錄上右鍵->TortoiseSVN->重新定位(Relocate),再按提示操作就可以了..不過(guò)最好先備份..因?yàn)檫@個(gè)操作有一定的危險(xiǎn)性
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
在线视频日韩欧美| 亚洲视频免费一区| 疯狂蹂躏欧美一区二区精品| 在线观看av免费| 国产又色又爽又黄刺激在线视频| 欧美精品久久久久a| 亚洲人成精品久久久| 日韩在线一区二区视频| 久久久久久久福利| 欧美三级午夜理伦三级中视频| 国产精品天天摸av网| 久久久久久久久久一区二区| 亚洲乱码国产乱码精品精可以看| 国产不卡一二三区| 伊人网中文字幕| 日韩av片在线播放| 青娱乐免费在线视频| 国产精品网站入口| …久久精品99久久香蕉国产| 精品视频在线一区二区在线| 视频一区二区三区在线看免费看| 国产性天天综合网| 免费看日韩精品| 亚洲黄在线观看| 在线看国产日韩| 国产在线不卡一区二区三区| 欧美日韩国产va另类| 午夜精彩国产免费不卡不顿大片| 国产精品久久久久久久牛牛| 一区在线影院| 911福利视频| 91在线观看下载| 性色av无码久久一区二区三区| 国产卡一卡2卡三卡免费视频| 日本中文字幕在线观看| 国产精品日韩一区二区三区| 91中文字幕精品永久在线| 18成人免费观看视频| 妖精一区二区三区精品视频| 久久不卡免费视频| 久久久噜久噜久久综合| 欧美中文在线免费| 欧美一区二区大胆人体摄影专业网站| 韩日一区二区三区| 国产理论在线| 国产亚洲短视频| 国产精品国产精品国产专区不蜜| 精品久久久久久无码国产| 911国产精品| 男女性色大片免费观看一区二区| 国产真实老熟女无套内射| 日本一区二区三区久久| 精品久久人人做人人爽| 亚洲人成网7777777国产| 久久免费观看视频| 欧美不卡高清一区二区三区| 自拍偷在线精品自拍偷无码专区| 国产精品麻豆免费版现看视频| www成人在线| 欧美美乳视频| 亚洲视频在线播放| 亚洲精品v亚洲精品v日韩精品| 17c精品麻豆一区二区免费| 九色porny丨首页在线| 国外成人在线视频网站| 久久婷婷综合中文字幕| 男女性高潮免费网站| 永久看片925tv| 亚洲综合专区| 亚洲天堂视频网| 久久网站热最新地址| 雨宫琴音一区二区三区| 狠狠色噜噜狠狠色综合久| 忘忧草在线日韩www影院| 免费在线观看亚洲| 黄色一级片视频| 石原莉奈在线亚洲二区| 成人女性文胸| 免费91麻豆精品国产自产在线观看| 欧美日韩亚洲国内综合网俺| 影音先锋成人资源网站| www.丝袜精品| 国产一线二线三线在线观看| 成年人视频免费在线播放| www.亚洲高清| 99re66热这里只有精品3直播| 激情五月综合婷婷| 搡老女人一区二区三区视频tv| 久久婷婷蜜乳一本欲蜜臀| 国产有色视频色综合| 青青色青青操| 欧美性videos高清精品| 2018日日夜夜| 在线看免费毛片| 人人在线视频| yiren22综合网成人| 欧美激情免费视频| 欧美不卡激情三级在线观看| 亚洲一区二区三区蜜桃| aaaa一级片| 美女一区视频| 最好看的2019的中文字幕视频| 天天干天天骑| 人妻无码一区二区三区| 国产成人综合一区二区三区| 99精品国产一区二区三区| 精品亚洲国产成人av制服丝袜| 亚洲最大的免费| 欧美一级淫片免费视频| 亚洲一区二区三区777| 亚洲欧美清纯在线制服| 久久久久久久久久久久电影| 在线观看av中文字幕| 国产精品白丝喷水在线观看| 国产精品白丝av| 最新日韩三级| 国产精品一线| 一日本道久久久精品国产| 国产成人在线播放| 国产97在线|日韩| 久久久久国产精品免费免费搜索| 午夜精品久久久内射近拍高清| 亚洲深夜福利视频| www.欧美精品一二三区| 在线看国产精品| 国产精品815.cc红桃| 国产精品海角社区在线观看| 9191久久久久久久久久久| 成人在线观看一区二区| re久久精品视频| 一本色道久久综合亚洲精品小说| 日韩国产中文字幕| 亚洲区综合中文字幕日日| 偷偷操不一样的久久| а中文在线天堂| 亚洲人成网站精品片在线观看| 欧美日韩a v| 夜夜嗨av禁果av粉嫩avhd| 婷婷四月色综合| 久久久久成人黄色影片| 91精品免费观看| 亚洲三级免费观看| 日本国产精品视频| 日本女人一区二区三区| 人妻无码一区二区三区四区| 日本在线免费看| 日本h片在线| 亚洲7777| 亚洲www视频| 成人黄动漫网站免费| 99精品人妻无码专区在线视频区| 久久精品99国产精| 国产精品亚洲аv天堂网| 中韩乱幕日产无线码一区| 色窝窝无码一区二区三区| av大片在线看| 97久久精品人人爽人人爽蜜臀| 黄色一级片国产| 高潮久久久久久久久久久久久久| 又黄又免费的网站| 在线中文字幕不卡| 一级美女在线| 久久久欧美精品| 一区二区三区av电影| 国产色婷婷在线| 久久久久国产一区二区三区四区| 久久久久噜噜噜亚洲熟女综合| 亚洲丝袜自拍清纯另类| 成人免费视频网站在线观看| 最新日韩在线视频| 久久蜜桃资源一区二区老牛| 能看的毛片网站| 久久这里有精品15一区二区三区| 欧美一区日本一区韩国一区| 自拍偷拍在线视频| 国产精品人妖ts系列视频| 欧美裸体男粗大视频在线观看| 亚洲精品视频在线观看免费视频| 精品国产精品三级精品av网址| 精品视频网站| 亚洲黄色一区二区三区| 伦xxxx在线| 精品国内一区二区三区免费视频| 黄色成人在线| 成码无人av片在线观看网站| 欧美一级片久久久久久久| 国产黄色精品网站| 国产普通话bbwbbwbbw| 精品视频站长推荐| 精品在线观看视频| 亚洲欧美日韩综合aⅴ视频| 亚洲精品一区中文字幕电影| 国内精品国产成人| 缴情综合网五月天| 中文字幕不卡在线| 亚洲婷婷在线| 美女视频一区免费观看| 亚洲免费在线视频| 国产精品女人网站| 免费久久99精品国产自在现线| 久久久久久久久一区二区| 色婷婷精品国产一区二区三区| 亚洲成人影音| 最近中文av字幕在线中文| 亚洲日本中文字幕区| 男女午夜激烈无遮挡| 宅男噜噜噜66一区二区| 国产视频福利| 久久久久久久久久久久国产精品| 一二三区中文字幕| av电影在线观看一区| 在线成人www免费观看视频| 久久久一区二区三区不卡| 少妇一级淫片日本| 精品无码人妻一区二区三| 日本久久一区二区| 在线看片欧美| 日本视频一区二区三区| 久久精品视频国产| 韩国v欧美v日本v亚洲v| 久久久视频免费观看| 欧美成人在线免费观看| 日本aa在线观看| 九九在线精品视频| 91精品国产色综合久久不卡98| 伊人av免费在线观看| 妞干网2018| 天堂成人免费av电影一区| www.国产亚洲| 免费看亚洲片| 性欧美video高清bbw| 黄色精品视频在线观看| 黄色羞羞视频在线观看| 国产视频一区二| 欧美亚洲一区三区| 欧美性色黄大片| 国产九色porny| 一本久道久久综合婷婷鲸鱼| 国产精品福利在线观看网址| 四虎av网址| 国产一级又黄| 国产av无码专区亚洲精品| 国产小视频自拍| 欧美成人vr18sexvr| av在线网址导航| 亚洲成人av片| 91在线亚洲| 91九色国产ts另类人妖| 欧美日韩一区国产| 日日夜夜操视频| av在线不卡观看免费观看| 欧美色视频在线| 久热精品在线观看视频| 中文字幕亚洲欧美日韩2019| 人妻少妇精品无码专区| 国产情侣小视频| gogogo影视剧免费观看在线观看| 北条麻妃视频在线| 亚洲欧洲成人av每日更新| 午夜欧美性电影| 岳的好大精品一区二区三区| 欧美性xxxxxxx| 久久婷婷国产91天堂综合精品| 久久一区二区电影| 亚洲欧美在线另类| 一区二区三区视频在线观看视频| 欧美r级电影| 999精品色在线播放| 在线播放一级片| 乱一区二区av| 日韩三级一区二区三区| 国产精品久久久久久久一区二区| 91九色蝌蚪在线| 国产精品一区二区久久不卡| 久久理论片午夜琪琪电影网| 看片网址国产福利av中文字幕| 国产在线精品一区二区不卡了| 成人在线高清免费| 国产精彩精品视频| 日韩毛片一二三区| 国产一区视频网站| 狠狠躁天天躁日日躁欧美| 黄色成人小视频| 国产盗摄——sm在线视频| 日韩毛片视频在线看| 国产一级特黄a高潮片| 亚洲中文字幕无码爆乳av| 亚洲精品一区国产精品| 免费一级黄色大片| 午夜亚洲一区| 免播放器亚洲一区| 久久久久久色| 久久久久久久激情视频| 欧美午夜女人视频在线| 手机在线一区二区三区| 亚洲成熟丰满熟妇高潮xxxxx| 日本波多野结衣在线| 国产在线xxx| 久久精品美女视频| 成年片费网站色大全免费视频| 亚洲女优在线观看| 91精品国产综合久久精品app| 欧美日本亚洲视频| 99香蕉国产精品偷在线观看| 国产综合在线观看视频| 欧美高清视频在线高清观看mv色露露十八| 免费av毛片在线看| 国产精品一区二区不卡视频| 国产视频在线观看一区| 激情综合色综合久久综合| 成人午夜看片网址| 99在线视频首页| 成人在线播放网址| 国产精品久久久久久久久图文区| 色综合av综合无码综合网站| 污片免费在线观看| 九九九久久久精品| 日韩中文字幕电影| 六月婷婷在线视频| 狠久久av成人天堂| 精品福利在线视频| 26uuu久久综合| 天天射天天综合网| 青柠在线影院观看日本| 久久久蜜桃一区二区人| 极品国产91在线网站| 亚洲三级黄色片| 欧美一区二区三区在线观看|