導航:首頁 > 文件教程 > svn配置教程

svn配置教程

發布時間:2023-03-07 22:57:11

『壹』 svn自動同步配置

打開: /svn/web/ysc/hooks ,找到 post-commit.tmpl, 修改內容為下:

然後將文件更名為 post-commit ,沒有 tmpl 後綴,重要事情說三遍;

另外務必授予 777 許可權,不然也有可能跑不起來;

許可權:chmod 777 post-commit

#!/bin/bash

REPOS="$1"

REV="$2"

export LANG=zh_CN.UTF-8

echo "Code Deployed at `date "+%Y-%m-%d %H:%M"`" >> /svn/web/ershop/hooks/deploy_log

/usr/bin/svn update --accept tf --username admin --password admin123 /www/web/ershop

chown -R www:www /www/web/ershop

chmod -R 777 /www/web/ershop

最後在liunx把項目先檢出:

svn co svn://localhost/項目名稱/

有時候檢出可能會報 svn co出現svn: E170001: Authorization failed此類錯誤  如果遇到可在root根目錄找到.subversion/auth目錄裡面的全部文件刪除,再重新檢出即可 建議不要用root賬號登陸

『貳』 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文件,這樣也會產生代碼覆蓋。

上面二種情況都是我親眼看到新手這樣操作的,要避免這二種操作方法。

『叄』 如何設置 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目錄下的所有子目錄都有讀寫許可權。如果不設置最上層的目錄沒有設置許可權,那麼就相當於不設置,禁止訪問。
許可權分配,只可以分配到某個目錄,而不能到某個文件。

『肆』 怎麼配置SVNWebClient給個詳細說明好不

房主您好 介於您的問題 基於專業回答~ 所以請看完後 做出正確評價 5顆星 謝謝您的合作!CC專用 杜絕復制!步驟如下: 1、下載WebClient for SVN,下載地址為: http://www.polarion.org/index.php 為了正確的處理中文問題,最好下載中文修訂版,地址為: http://legendry.cnblogs.com/archive/2006/06/17/428424.html 2、安裝TomCat,略。 3、下載EnScript,地址為: http://gnuwin32.sourceforge.net/packages/enscript.htm ,下載bin文件。 4、部署SVNWebClient,第一次配置成功以後退出Tomcat,刪除war包。 5、修改配置如下: 設置EnscriptPath,在"%PROJECT_ROOT%/WEB-INF/web.xml"中修改如下設置 EnscriptPath c:\Program Files\GnuWin32\bin\enscript.exe %PROJECT_ROOT%為SVNWebClient所在目錄 設置RepositoryUrl,在同一文件中尋找即可,也可以按照需要修改其它設置 6、在Tomcat的server.xml,增加如下修改 (只需要增加URIEncoding="UTF-8") 以支持中文路徑定址。 7、Subversion之SVNWebClient中多版本庫的設置 添加 ParentRepositoryDirectory 參數: ParentRepositoryDirectory http://localhost/svn/ 註: 1. " http://localhost/svn/"是Subversion的版本庫的父目錄路徑; 2. param-value 值要用"/"結束,即要形如" http://localhost/svn/",而不是" http://localhost/svn"。否則在SVNWebClient登陸時,在Repository name一項,直接輸入版本庫名稱,是會出錯的。 8、SVN Web Client的優點很多,但是必須輸入版本庫名稱以及用戶名和密碼登錄,MS並不支持匿名登錄。不能像直接用URL那樣訪問方便。

閱讀全文

與svn配置教程相關的資料

熱點內容
maya粒子表達式教程 瀏覽:84
抖音小視頻如何掛app 瀏覽:283
cad怎麼設置替補文件 瀏覽:790
win10啟動文件是空的 瀏覽:397
jk網站有哪些 瀏覽:134
學編程和3d哪個更好 瀏覽:932
win10移動硬碟文件無法打開 瀏覽:385
文件名是亂碼還刪不掉 瀏覽:643
蘋果鍵盤怎麼打開任務管理器 瀏覽:437
手機桌面文件名字大全 瀏覽:334
tplink默認無線密碼是多少 瀏覽:33
ipaddgm文件 瀏覽:99
lua語言編程用哪個平台 瀏覽:272
政采雲如何導出pdf投標文件 瀏覽:529
php獲取postjson數據 瀏覽:551
javatimetask 瀏覽:16
編程的話要什麼證件 瀏覽:94
錢脈通微信多開 瀏覽:878
中學生學編程哪個培訓機構好 瀏覽:852
榮耀路由TV設置文件共享錯誤 瀏覽:525

友情鏈接