當前位置:首頁 » 雲伺服器 » 新增svn伺服器地址

新增svn伺服器地址

發布時間: 2024-02-05 13:39:07

Ⅰ 如何搭建本地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能用了,下面是原始資料,稍微整理了一下,如果以上內容不能滿足,參考以下內容,希望沒有浪費寶貴時間。

Ⅱ 如何配置自己的linux svnserver伺服器

通常,很多Linux發行版已經自帶了svn軟體,安裝系統時候選擇即可。因此,本文並不講解如何安裝svn相關軟體,而是重點總結一下如果使用svnserve伺服器來構建自己的代碼倉庫,並且允許別人遠程訪問。本文的整個內容參考了svn手冊。

一、新建並初始化版本庫
1.新建代碼倉庫
# svnadmin create /home/myrepos
這樣,我們就在/home目錄下新建了版本庫myrepos。

2.初始化代碼倉庫
#mkdir -p code/{branches,tags,trunk}
按照svn手冊上的建議,我們版本庫的布局採用branches/tags/trunk這樣的三個目錄。然後可以將代碼直接拷貝的trunk目錄,也可以隨後採用svn add的方式添加。

#svn import code file: ///home/myrepos
將我們構造好的版本庫布局(以及代碼,如果已經拷貝到trunk下的話)提交到版本庫。由於這里我們是在本地操作,因此可以直接使用file協議方式提交。格式為:file:// + 版本庫絕對的路徑

OK,到這里我們已經構建了一個本地版本庫,可以再本地使用svn ci的方法得到版本庫的副本了。如果前面只是提交了版本庫布局,而沒有提交代碼的話,則可以通過如下命令,提交版本代碼:
#svn co file: ///home/myrepos/trunk repos
通常只從主線目錄trunk下取出源碼,放在了新建的repos目錄。然後可以將源碼拷貝到repos目錄。
執行以下兩條命令將代碼添加的版本庫。
#svn add *
#svn ci * -m "Committed codes"
首先需要將拷貝的代碼加入到當前的副本中,然後將代碼提交到版本庫。

二、配置並啟動svnserve
1. 配置svnserve
這一步主要完成遠程用戶訪問版本的許可權。
在版本庫目錄下有個conf目錄:home/myrepos/conf,該目錄包含三個文件:authz,passwd,svnserve.conf。
(1)svnserve.conf

此文件重點的設置內容如下:
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
其中,anon-acces s和auth-access分別代表設置匿名用戶和授權用戶的訪問許可權。read代表只讀,write代表可讀可寫,還有一個none,代表禁止訪問。如果不想讓匿名用戶訪問的話,可以設置anon-access = none。
password-db為保存版本庫的用戶名和密碼,通常為conf目錄下的passwd文件。
authz-db指向的文件,主要用於將用戶進行分組,並賦予不同的組不同的許可權。譬如有多個目錄時,設置某個組的用戶只可以訪問其中的那些目錄。
(2)passwd
如前面介紹,這個文件的主要內容如下
[users]
harry = harrysecret
sally = sallyssecret
以上兩行就是可以訪問版本庫的用戶名和密碼。格式為:user = passwd。
(3)authz
[groups]
# harry_and_sally = harry,sally

# [/foo/bar]
# harry = rw
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
以上就是authz文件的格式。先給用戶分組,然後分別設置每個組的工作目錄以及許可權等。
本文的講解並未用到authz的配置。

2. 啟動svnserve
#svnserve -d -r /home/
svnserve將以守護進程的方式運行。同時,通過-r選項指定了版本庫的目錄。這個目錄可以是版本庫的上級目錄(/home),也可以是版本庫的目錄(/home/myrepos)。具體的區別會在後面講到。當然,也可以不用-r指定。

三、遠程訪問svnserve。
假設版本伺服器的地址為10.1.1.1,那麼用戶可以在遠程linux端輸入命令:
#svn checkout svn://10.1.1.1/myrepos myrepos
這樣版本庫的所有內容都被check出來,存放在當前目錄myrepos下。這里相當於使用svn協議,不用搭建http伺服器。

如果啟動svnserve的時候,-r選項指定的是版本庫的目錄,譬如/home/myrepos,那麼檢出版本的時候,執行的命令為:
#svn checkout svn://10.1.1.1/ myrepos

如果啟動svnserve是沒有指定-r選項,則要輸入版本庫的絕對路徑:
#svn checkout svn://10.1.1.1/home/myrepos myrepos

四、容易出現的問題
在訪問svnserve時,遇到了不少的問題,大致總結一下:
1. 這一步最容易避免,一定要記得啟動svnserve。
2. 記得要正確的修改配置文件svnserve.conf和passwd。
3. 保證版本庫伺服器沒有配置限制遠程訪問svnserve的規則。有時在訪問svn伺服器的時候,會提示伺服器積極拒絕鏈接。簡單起見,可以看看iptables -L INPUT和iptables -L OUTPUT有沒有限制訪問的規則。
4. 要保證輸入版本庫的URL正確。

後記:

1. 版本庫的初次導入可以採用多種方式:
(1)直接構建好版本庫目錄,並將源碼拷貝的對應的位置,然後svn import即可;
(2)先用svn checkout取出版本,然後構建目錄和源碼,執行svn add 並且svn commit即可。
2. 導入或者提交文件類型的控制
svn客戶端是可以配置忽略哪些些文件,比如說我們不想提交*.o之類的文件。那麼可以通過設置svn:ignore或者global-ignore來進行過濾相關的文件。通常默認的情況就會過濾掉*.o, *.so,*.a等被svn認為是中間生成的文件。我本人使用的客服端不管是WIN的還是Linux的都是這種默認情況。
但是,如果有時基於某種需要,或者是導入一個別人之前維護的工程,裡面有些*.so,*.a文件必須保留,那麼如果在第一次import的時候全部導入呢?曾經問過有些朋友說,svn add或者svn import是可以直接把這種文件導入到版本庫的。但是我個人進行測試的時候,確實導入不進去,除非你直接svn add這個文件,然後提交應該就可以了。
如果這樣的文件比較多,而且比較分散,那麼如何解決呢?看一下svn import和svn add這兩個命令的幫助,都有--no-ignore選項。這個選項的功能就是執行相應動作的時候,不忽略任何文件。那麼執行以下兩條命令:
svn import [source] [repository] --no-ignore

svn add [source] --no-ignore
會自動將source目錄下所有的內容全部import或者add。

因此,通過--no-ignore選項,可以滿足提交一些特殊文件的需求。

3. 用一個舊版本的svnadmin創建的版本庫,直接拷貝到另外一台svn版本比較高的PC上使用時,發現提示資料庫版本不匹配。解決的方法:
(1)導出舊的版本庫內容,包含版本信息
具體使用的命令為svnadmin mp, 詳細使用方法參考手冊。該命令的格式為:
svnadmin mp REPOS_PATH [-r LOWER[:UPPER]] [--incremental]
如果我將版本庫完整的信息都倒出來的話,執行如下命令:
# svnadmin mp old_repos > repos.mp

默認版本庫mp的時候是輸出在終端的,通過重定下輸出到repos.mp文件裡面。該文件實際是文本文件。
(2)導入舊版本庫的內容
在需要導入的位置,新建一個版本庫
# svnadmin create new_repos
然後將repos.mp文件導入到新的版本庫:
# svnadmin load new_repos < repos.mp
該命令成功執行完畢之後,新的版本庫中已經包含了old_repos版本庫中的所有版本內容。
svnadmin mp和svnadmin load命令都支持導入/導出某個指定revsion或者某個指定范圍的所有revision。該部分後記參考了如下連接,在此表示感謝:
http://hi..com/primechen/blog/item/71a7a1dc2b981fe877c63841.html

Ⅲ 如何在win上搭建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。
六、初始化SVN,導入數據
選中要上傳SVN的文件夾,「右鍵 ->TortoiseSVN -> Import...」 ,在彈出對話框的「URL of repository」輸入「svn://localhost/project1/」。在「Importmessage」輸入注釋,點擊OK,要求輸入帳號,輸入賬戶admin和密碼admin。
七,測試SVN
本地測試:新建一空文件夾test1,單擊右鍵,選擇「SVN Checkout」,在「URL of repository」中輸入「svn://localhost/project1」。
其他機器測試:如果運行svnserve的主機IP地址是1.2.3.4,則URL輸入的內容就是「svn://1.2.3.4/project1」。

熱點內容
centos刪除php 發布:2024-11-30 05:53:14 瀏覽:401
android重復鬧鍾 發布:2024-11-30 05:53:07 瀏覽:836
編程鯨 發布:2024-11-30 05:43:32 瀏覽:581
卓禹安是什麼小說里的 發布:2024-11-30 05:34:05 瀏覽:639
i11卡貼機和安卓旗艦版哪個好 發布:2024-11-30 05:26:58 瀏覽:732
radius加密 發布:2024-11-30 05:11:51 瀏覽:536
安卓看照片軟體哪個最好用 發布:2024-11-30 05:11:47 瀏覽:934
電腦上要編譯程序要什麼軟體 發布:2024-11-30 04:58:44 瀏覽:859
ecshop存儲圖片 發布:2024-11-30 04:44:08 瀏覽:979
utc時間linux 發布:2024-11-30 04:43:23 瀏覽:81