windows 下架设svn服务器
生活随笔
收集整理的這篇文章主要介紹了
windows 下架设svn服务器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、準備工作
從官方網站 http://tortoisesvn.net/downloads 獲取最新的 TortoiseSVN 。TortoiseSVN 是一個客戶端程序,用來與 subvers 服務器端通訊。Subversion 自帶一個客戶端程序 svn.exe ,但 TortoiseSVN 更好操作,提高效率。
三、建立版本庫(Repository)
運行Subversion服務器需要首先要建立一個版本庫(Repository)。版本庫可以看作是服務器上集中存放和管理數據的地方。
開始建立版本庫。首先建立 e:\svn 空文件夾作為所有版本庫的根目錄。然后,進入命令行并切換到subversion的bin目錄。輸入如下命令:
svnadmin create E:\svn\repos1
此命令在 E:\svn 下建立一個版本庫 repos1 。repos1 下面會自動生成一些文件夾和文件。
我們也可以使用 TortoiseSVN 圖形化的完成這一步:
先建立空目錄 E:\svn\repos1 ,注意一定是要空的。然后在 repos1 文件夾上“右鍵->TortoiseSVN->Create Repository here...”,然后可以選擇版本庫模式,這里使用默認的FSFS即可,然后就創建了一系列文件夾和文件,同命令行建立的一樣。
四、運行獨立服務器
此時 subversion 服務還沒有開始,只是通過它的命令建立了版本庫。繼續在剛才的命令窗口輸入:
svnserve.exe --daemon
svnserve 將會在端口 3690 等待請求,--daemon(兩個短橫線)選項告訴 svnserve 以守護進程方式運行,這樣在手動終止之前不會退出。注意不要關閉命令行窗口,關閉窗口會把 svnserve 停止。
為了驗證svnserve正常工作,使用TortoiseSVN -> Repo-browser 來查看版本庫。在彈出的 URL 對話框中輸入:
svn://localhost/svn/repos1
點 OK 按鈕后就可以看見 repos1 版本庫的目錄樹結構了,只不過這時 repos1 是個空庫。
你也可以使用--root選項設置根位置來限制服務器的訪問目錄,從而增加安全性和節約輸入svnserve URL的時間:
svnserve.exe --daemon --root drive:\path\to\repository
以前面的測試作為例,svnserve 將會運行為:
svnserve.exe --daemon --root e:\svn
然后TortoiseSVN中的版本庫瀏覽器URL縮減為:
svn://localhost/repos1
你可能會問這樣豈不是每次啟動SVN服務器都要輸入一次命令?怎樣才能讓SVN服務器在開機的時候自動啟動呢?答案就是將SVN服務注冊到Windows系統服務,在Windows命令提示符里執行命令?
sc create SVN binpath= "\"d:\subversion\bin\svnserve.exe\" --service -r F:\SVN" displayname= "SVN Service" depend= Tcpip start= auto,這個命令是不是有點長?其實很容易理解,sc是Windows自帶的系統服務注冊工具,微軟支持中心提供了詳細的說明,這里我就不再復述了,參數binpath= "\"d:\subversion\bin\svnserve.exe\" --service -r F:\SVN"和我們前面手動啟動SVN服務器的命令很像吧?只是把-d改成了--service,這不難理解,因為現在是服務嘛。好了,現在已經大功告成了,重起一下試試吧。?
用文本編輯器打開E:\svn\repos1\conf目錄,修改svnserve.conf:
將:
# password-db = passwd
改為:
password-db = passwd
即去掉前面的 # 注釋符,注意前面不能有空格。
然后修改同目錄的passwd文件,增加一個帳號:
將:
[users]
# harry = harryssecret
# sally = sallyssecret
增加帳號:
[users]
#harry = harryssecret
#sally = sallyssecret
比如,我在 d:\wwwroot 下有個 guestbook 文件夾,里面存放的是我編寫的留言簿程序。在此文件夾上“右鍵 -> TortoiseSVN -> Import...” ,在彈出對話框的“URL of repository”輸入“svn://localhost/repos1/guestbook”。在“Import message”輸入“導入整個留言簿”作為注釋。
點 OK 后要求輸入帳號。我們在用戶名和密碼處都輸入 test 。完成后 guestbook 中的內容全部導入到了 svn://localhost/svn/repos1/guestbook 。
我們看到在 e:\svn\repos1 沒有任何變化,連個 guestbook 文件夾都沒有建立,唯一的變化就是e:\svn\repos1容量變大了。實際上我們源guestbook中的內容已經導入 repos1 版本庫了,源 guestbook 文件夾可以刪除了。
取出版本庫到一個工作拷貝:
在工作拷貝中作出修改并提交:
在 guestbook 工作拷貝中隨便打開一個文件,作出修改,然后“右鍵 -> SVN Commit... ”。這樣我們就把修改提交到了版本庫,版本庫根據情況存儲我們提交的數據。
在修改過的文件上“右鍵 -> TortoiseSVN -> Show Log” ,可以看到對這個文件所有的提交。在不同的 revision 條目上“右鍵 -> Compare with working copy”,我們可以比較工作拷貝的文件和所選 revision 版本的區別。
1、獲取 Subversion 服務器程序
到官方網站(http://www.collab.net/downloads/subversion )下載最新的服務器安裝程序。目前最新的是1.7.7版本.
從官方網站 http://tortoisesvn.net/downloads 獲取最新的 TortoiseSVN 。TortoiseSVN 是一個客戶端程序,用來與 subvers 服務器端通訊。Subversion 自帶一個客戶端程序 svn.exe ,但 TortoiseSVN 更好操作,提高效率。
二、安裝服務器端和客戶端
三、建立版本庫(Repository)
運行Subversion服務器需要首先要建立一個版本庫(Repository)。版本庫可以看作是服務器上集中存放和管理數據的地方。
開始建立版本庫。首先建立 e:\svn 空文件夾作為所有版本庫的根目錄。然后,進入命令行并切換到subversion的bin目錄。輸入如下命令:
svnadmin create E:\svn\repos1
此命令在 E:\svn 下建立一個版本庫 repos1 。repos1 下面會自動生成一些文件夾和文件。
我們也可以使用 TortoiseSVN 圖形化的完成這一步:
先建立空目錄 E:\svn\repos1 ,注意一定是要空的。然后在 repos1 文件夾上“右鍵->TortoiseSVN->Create Repository here...”,然后可以選擇版本庫模式,這里使用默認的FSFS即可,然后就創建了一系列文件夾和文件,同命令行建立的一樣。
四、運行獨立服務器
此時 subversion 服務還沒有開始,只是通過它的命令建立了版本庫。繼續在剛才的命令窗口輸入:
svnserve.exe --daemon
svnserve 將會在端口 3690 等待請求,--daemon(兩個短橫線)選項告訴 svnserve 以守護進程方式運行,這樣在手動終止之前不會退出。注意不要關閉命令行窗口,關閉窗口會把 svnserve 停止。
為了驗證svnserve正常工作,使用TortoiseSVN -> Repo-browser 來查看版本庫。在彈出的 URL 對話框中輸入:
svn://localhost/svn/repos1
點 OK 按鈕后就可以看見 repos1 版本庫的目錄樹結構了,只不過這時 repos1 是個空庫。
你也可以使用--root選項設置根位置來限制服務器的訪問目錄,從而增加安全性和節約輸入svnserve URL的時間:
svnserve.exe --daemon --root drive:\path\to\repository
以前面的測試作為例,svnserve 將會運行為:
svnserve.exe --daemon --root e:\svn
然后TortoiseSVN中的版本庫瀏覽器URL縮減為:
svn://localhost/repos1
你可能會問這樣豈不是每次啟動SVN服務器都要輸入一次命令?怎樣才能讓SVN服務器在開機的時候自動啟動呢?答案就是將SVN服務注冊到Windows系統服務,在Windows命令提示符里執行命令?
sc create SVN binpath= "\"d:\subversion\bin\svnserve.exe\" --service -r F:\SVN" displayname= "SVN Service" depend= Tcpip start= auto,這個命令是不是有點長?其實很容易理解,sc是Windows自帶的系統服務注冊工具,微軟支持中心提供了詳細的說明,這里我就不再復述了,參數binpath= "\"d:\subversion\bin\svnserve.exe\" --service -r F:\SVN"和我們前面手動啟動SVN服務器的命令很像吧?只是把-d改成了--service,這不難理解,因為現在是服務嘛。好了,現在已經大功告成了,重起一下試試吧。?
PS:如果想從系統服務里刪除剛才注冊的SVN服務可以使用sc delete SVN命令。
用文本編輯器打開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
六、初始化導入
比如,我在 d:\wwwroot 下有個 guestbook 文件夾,里面存放的是我編寫的留言簿程序。在此文件夾上“右鍵 -> TortoiseSVN -> Import...” ,在彈出對話框的“URL of repository”輸入“svn://localhost/repos1/guestbook”。在“Import message”輸入“導入整個留言簿”作為注釋。
點 OK 后要求輸入帳號。我們在用戶名和密碼處都輸入 test 。完成后 guestbook 中的內容全部導入到了 svn://localhost/svn/repos1/guestbook 。
我們看到在 e:\svn\repos1 沒有任何變化,連個 guestbook 文件夾都沒有建立,唯一的變化就是e:\svn\repos1容量變大了。實際上我們源guestbook中的內容已經導入 repos1 版本庫了,源 guestbook 文件夾可以刪除了。
需要注意的是,這一步操作可以完全在另一臺安裝了 TortoiseSVN 的客戶機上進行。例如運行svnserve的主機的IP是133.96.121.22,則URL部分輸入的內容就是“svn://133.96.121.22” 。
七、基本操作流程
取出版本庫到一個工作拷貝:
來到任意空目錄下,比如在f分區建立一個空文件夾 f:\work 。“右鍵 -> SVN Checkout”。在“URL of repository”中輸入“svn://localhost/svn/repos1/guestbook”,這樣我們就得到了一份 guestbook 中內容的工作拷貝。
在工作拷貝中作出修改并提交:
在 guestbook 工作拷貝中隨便打開一個文件,作出修改,然后“右鍵 -> SVN Commit... ”。這樣我們就把修改提交到了版本庫,版本庫根據情況存儲我們提交的數據。
在修改過的文件上“右鍵 -> TortoiseSVN -> Show Log” ,可以看到對這個文件所有的提交。在不同的 revision 條目上“右鍵 -> Compare with working copy”,我們可以比較工作拷貝的文件和所選 revision 版本的區別。
總結
以上是生活随笔為你收集整理的windows 下架设svn服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: case when then else
- 下一篇: Mysql的高可用方案及主从详细配置