window在本地創建SVN步驟和遇到的問題解決

本文介紹Windows下搭建本地SVN服務器的方法,網上資料比較少也比較舊,大都介紹的是舊版本SVN使用svnserve.exe安裝svn服務的方法,而下面將會詳細介紹使用sc命令建立服務器並開啓服務,這是搭建本地SVN服務器的關鍵所在!

SVN 全名是 Subversion,它是一個開源的版本控制軟件,官網鏈接:http://tortoisesvn.net/ ,與它類似的軟件有CVS,VSS,ClearCase。而 SVN 作爲一個跨平臺的開源軟件,具有很強的活力,目前也已經相當成熟,很多開源項目都用它來管理文檔或是代碼。更多svn詳細資料可查看百度百科鏈接:http://baike.baidu.com/view/183128.htm

更爲重要的是,不僅僅是團隊開發,作爲個人獨立開發的項目(或者個人想維護的文檔)也可以用 SVN 進行管理,而不需要另外一臺服務器。

TortoiseSVN 是 SVN 的一個 Windows 外殼擴展應用,它可以幫助用戶直觀的進行 SVN 的各種操作,而不需要使用命令行。 

安裝SVN(Subversion),步驟如下:
1、下載&安裝Subversion的Windows客戶端TortoiseSVN:
安裝包鏈接:http://tortoisesvn.net/downloads

2、建立版本庫(Repository):

可以看作服務器上存放數據的數據庫,svn的所有操作都存放在這裏。

在目錄D:\svn\repository下"右鍵->TortoiseSVN->Create Repository here ,執行此目錄後就自動創建了一系列目錄和文件

3、配置用戶和權限:

打開D:\svn\repository, 你會發現已經多了一些目錄和文件, 打開conf子目錄, 打開svnserve.conf文件, 這裏行前凡是有#的都等於是被註釋忽略了, 你可以把#去掉讓那一行生效, 或者自己新添加行. 裏面的英文註釋已經詳細說明了各種設置的含義, 最後你設置 [general]小節中行前沒有#號的內容爲:

anon-access = none
auth-access = write
password-db = passwd

含義是:

未驗證用戶無任何權限 (如果把none修改爲read就是給予讀權限)
已驗證用戶給予寫權限 (當然也能讀)
密碼數據存放到passwd文件中

然後打開同目錄的passwd文件來設置帳戶:

同樣, 設置[users]小節中行前沒有#號的內容, 例如:

admin=123456

含義是:

用戶admin的密碼爲123456

4、運行獨立服務器:(舊版的svn需要用到svnservice.exe,新版改在dos(cmd)操作窗口下用sc命令建立服務器並開啓服務)

sc create svnservice binPath= "E:\TortoiseSVN\bin\svnserve.exe --service -r F:\svn\repository" DisplayName= "svnservice" depend= Tcpip start= auto

binPath路徑代表svn的安裝目錄下的svnserve.exe文件路徑;-r爲root的簡寫,F:\svn\repository是前面配置的版本庫路徑,DisplayName是設置svn服務的名稱;start=auto爲將svn服務設置成開機啓動!

最後是開啓svn服務:
net start svnservice
(可以在“開始->運行...”中執行"services.msc",然後在圖形化界面中開啓"svnservice"服務,同執行上面語句效果一樣!)

當然我們可以建立一個bat一鍵運行上述命令:

sc create svnservice binPath= "E:\TortoiseSVN\bin\svnserve.exe --service -r F:\svn\repository" DisplayName= "svnservice" depend= Tcpip start= auto
net start svnservice
pause

安裝時只需要更改bat文件裏面的2個路徑即可,簡化了命令的輸入,懶人必備方法啊,有木有!

5、初始化導入:

簡單說就是將需要svn控制的文件目錄先導入到svn,這步確定svn對應路徑!(注意:該文件目錄只作爲導入初始化,同後續的svn操作無任何關係,可隨意刪除),一般操作如下:

在你需要進行版本控制的目錄上右擊, 選擇TortoiseSVN, 再選擇子菜單"導入...", 設置"文件庫url"爲svn://localhost/folderName(folderName是隨意取的,確定之後,以後svn操作路徑就是這條了!), 點確定後就會提示文件正在導入.

需要注意的是,這裏是svn文件庫與svn服務是同一臺計算機的情況, 所以可用localhost, 其它機器如果要訪問svn服務, 應該用svn://svn服務器的IP地址, 例如svn://192.168.1.125

6、客戶端基本操作 :

update、commit等

創建一個準備用來存放版本控制工程的目錄,用來存放初始化導入後最後一次最新版本的目錄,程序的編寫和修改都在這個目錄完成。例如E:\project, 然後在這個目錄上右擊這個目錄,執行SVN Checkout命令將svn目錄更新下來(會要求填寫前面搭建服務器端所設置的用戶admin密碼123456 ),本地修改完後再commit到版本庫(Repository)中

至此, Windows下搭建本地SVN服務器就算完成了, 你會看到E:\project及其下面的文件都被標記了綠色對勾 !

另附:
1. 停止服務
使用"net stop svnservice"停止服務。
2.刪除服務
如果服務安裝的有問題,你可能需要刪除服務。要刪除前面添加的服務,只需要運行"sc delete svnservice"。

下面來說說我遇到的問題

我今天配置服務器的時候
 1.
[SC] OpenSCManager 失敗 5  :拒絕訪問。
遇到這個問題的時候解決方案我們需要在客戶端的bin的文件夾下邊新建一個svn.bat文件

建立一個新的文件svn.bat.

輸入:

sc create MySVN binpath= "G:\svnserver\server\bin\svnserve.exe --service -r G:\svnserver\project" displayname= "SVNService" depend= Tcpip start= auto

sc start SVNService

2.TortoiseSVN訪問時候出現 Error: Can't connect to ...由於目標機器積極拒絕,無法連接”  
應該是svnserve服務沒起來,在cmd行下查看telnet t loaclhost 3690也失敗,這就說明svn服務器端沒有裝好。
需要在bin目錄下新建個bat文件,內容如下:
sc create svnserve binpath= "C:\Program Files\Subversion\bin\svnserve.exe --service -r d:\svnhome" depend= Tcpip start= auto
sc start svnserve
pause
保存,然後運行,就可以了。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章