我使用系統是: Microsoft Windows xp sp2
第一:下載軟件
有兩個軟件需要下載的:
Subversion和TortoiseSVN
Subversion 下載地址:?folderID=91
TortoiseSVN下載地址:
(有些文檔說必備軟件還有Apache,但這么說法的大多是較舊的文檔這么提到,隨著軟件的更新,已經沒有必要安裝Apache了,安裝Apache是為了SVN能干更多事,比如可以基于HTTP去訪問等。)
軟件安裝完后需要重啟系統。
第二,建立服務和根目錄創建
建立svn的根目錄:例如在E盤建立文件夾SVNRoot。
然后是建立svn服務:(這里把svn服務建立為一個windows的服務)
在命令行下敲入:SC create svn1.5 binPath= "/"C:/Program Files/Subversion/bin/svnserve.exe/" --service --root /"E:/SVNRoot/"" depend= Tcpip start= auto
(第一塊紅色部分為subversion的安裝位置,第二塊紅色為剛才創建的SVN根目錄,注意:命令行中等號前不能有空格,等號后必須有空格)
運行后打開windows的服務窗口檢查,如果有svn1.5這么個服務,說明建立成功了,初次建立可能要手動啟動下(不然重啟動系統也可以,當然這里沒有必要重啟系統)
第三:具體項目的建立和配置。
這里假設我們有個項目DemoProject需要用svn來管理。
在E:/SVNRoot下新建文件夾DemoProject。進入DemoProject,鼠標在空白處點擊右鍵,選擇TortoiseSVN,再選擇Create repository here。操作完后可以看見本來空的文件夾內多了些文件和文件夾。
現在可以來測試以上步驟是否正確,在F盤創建DemoProject(開發項目時的文件夾),進入新創建的文件夾,空白處點擊右鍵,選擇SVNCheckOut,Url repository填入svn://localhost/DemoProject,其他默認。點擊OK,(如果窗口Action有顯示Completed,那說明操作成功)。
這樣雖然可以訪問了,但是并沒有完成,我們需要配置文件的讀寫權限。這時我們進入E:/SVNRoot/DemoProject/conf。
里面有三個文件。默認里面幾乎所有的代碼都被使用#注釋了。
接下去我們來修改這三個文件來配置svn的驗證和授權。(請大家要區分驗證和授權)
首先是svnserve.conf文件。
# anon-access = read把這行改成anon-access = none,表示禁止匿名訪問(注意:anon前面不能有空格)
# password-db = passwd把這行前面的注釋去掉,并刪除空格,表示驗證用戶使用passwd文件。
# authz-db = authz把這行前面的注釋去掉,并刪除空格,表示授權使用authz文件。
然后修改passwd文件,部分文件內容:
[users]
# harry = harryssecret
# sally = sallyssecret
我想看下這個文件內容就應該知道作用了,這里是配置svn的用戶名和密碼,這里harry是用戶名,等號后面是用戶密碼,sally是另外一個用戶。當然這兩行代碼都是被注釋的。你可以刪除注釋啟用他們,也可以自己加一行,比如:
kate = 123456
這里用的密碼是明文,如果你的項目安全要求較高,可以使用加密的密碼,配置比較麻煩,這里不說了。還有用戶名之間可不可以有空格,用戶名和密碼的合法字符等,這些我沒做測試。
最后配置authz
第一個屬性節點是aliases,別名,不知道作用在哪,估計就是將同等權限的許多用戶合并成一個名稱。我這里沒有做修改。
第二個屬性節點groups,組別,這很好理解,就是把相同權限的用戶合并入一個組,以便下面配置授權時更加簡潔。
下面的屬性節點都是目錄授權節點。
[/foo/bar]表示以下設置/foo/bar目錄下的授權。以下授權格式是: 用戶名|組別名 = rw | r,r是read的縮寫,表示有讀的權限,w是write的縮寫,表示可寫權限,rw表示可讀可寫。
如果在根目錄下配置使用[/]就可以了。
配置完成后,再次進入F:/DemoProject,在空白處鼠標右鍵,選擇SVNUpdate,這時會彈出個窗口要求我們輸入用戶名和密碼,輸入在passwd文件中配置的用戶名和密碼后就可以訪問了。
這樣一個項目就配置完成了。接下去就可以使用了。具體的Update, Commit等操作使用就不說了。
Two tips:
1.
我們習慣的懶惰的操作就是下班前整個項目commit,但事實是沒有必要把整個項目的所有文件都提交給svn管理,甚至有些文件提交后麻煩大大的。比如vs solution下的xxx.user文件,這個提交后造成沖突幾乎是100%的。
解決的方法就是在在TortoiseSVN的Setting中設置Global ignore pattern值為“*/bin */obj *.bak *.*scc *.user *.suo *.gpState *.webinfo bin obj *.dll *.pdb *.exe Thumbs.db */TestResults”,這里示例的pattern主要針對使用Visual Studio的開發人員。
2.
在TortoiseSVN的Setting中勾選 Use "_svn" instead of ".svn" directories,某些時候(我不確定是那些時候).svn在windows系統會出錯。
參考文章:
Setting_up_a_Subversion_Server_under_Windows
11月25更新:
如果你看不懂上面的文章,建議你使用可視化的配置軟件來配置subversion服務。介紹文章由本文的熱心評論網友提供:
(我看了這篇文章配置subversion,然后使用了VisualSVN Server來配置,確實很簡單!)
新聞熱點
疑難解答
圖片精選