VisualSVN Server [1] 是 Windows 平台上流行的 SVN 形式的代碼管理工具。以下我們将介紹把 NAS SMB 卷作為 VisualSVN 代碼庫存儲中心時會遇到的幾個問題以及相應的解決方法。
1. 安裝錯誤的解決方法
我們以 VisualSVN Server 3.3.1 版本為例,在安裝 VisualSVN Server 時我們可以選擇使用 NAS SMB 卷的 UNC 路徑作為 repo ,但是這樣選會提示無法安裝:
接着我們嘗試将NAS SMB卷挂載到一個盤符上然後再安裝,安裝過程中會出錯:
1.1. 解決方法
這個問題的解決辦法就是用 SYSTEM 賬号挂載 NAS SMB 卷,然後用新挂載的盤符作為 repo 的安裝位址。具體 SYSTEM 賬号挂載 NAS SMB 卷的方法請參見
以SYSTEM身份挂載檔案卷解決SQLServer使用NAS SMB檔案卷等問題 [2]。
注意 SYSTEM 賬号挂載成功之後在檔案管理器上會顯示成叉号,但是是可以使用的。
在 Y:\ 盤安裝,
提示要用 UNC 路徑,請忽略,
最終 VisualSVN 安裝成功。
2. 打開代碼庫 URL 時提示内部錯誤
建立代碼庫 repo 之後,打開代碼庫的 URL 時會提示内部錯誤:
檢視日志可以發現如下錯誤:Could not open password file: Y:/Repositories/htpasswd
2.1. 解決方法
經過實驗後發現安裝AD服務可以解決這個錯誤。安裝AD的方法可以參考這一篇文章:
通過安裝和配置AD域解決Windows Server 2016的IIS無法加載SMB檔案卷檔案的問題 [3]。
配置AD域控制器結束後會重新開機,重新開機完成之後登陸新的代碼庫 URL 就不會出現錯誤了。這時候需要在代碼庫上配置一個使用者,然後就可以登陸進代碼庫網頁。
忽略這個證書錯誤:
不會出現 internal error:
配置 VisualSVN 使用者:
登陸成功:
3. 如何使用 SVN 上傳下載下傳代碼
在 Windows 環境下比較常用的辦法是使用 TortoiseSVN 用戶端或者 VisualStudio SVN 插件來連接配接 SVN 上傳下載下傳代碼。
3.1. TortoiseSVN
TortoiseSVN 可以在其
官網下載下傳 。
安裝完成之後打開指令行,使用以下指令:
svn checkout https://iis-test-2019.iis-test2016.com/svn/repo/ svn add helloworld.txt
svn status
svn commit -m "Initial Commit"
以上就是 svn 指令行加 VisualSVN 在 NAS SMB 卷上的基本使用方法。
3.2. Visual Studio Code SVN 插件
Visual Studio Code 是 Windows 平台廣泛使用的開發 IDE。它可以通過安裝插件的方式支援 SVN。
安裝完插件之後打開剛才svn同步下來的檔案夾,就可以看到SVN曆史以及添加和上傳新檔案。
3.3. Visual Studio SVN 插件
可以在
Visual SVN 官網下載下傳 VisualSVN for Visual Studio插件。
安裝完插件之後打開剛才svn同步下來的檔案夾,建立helloworld3.txt,并添加到 SVN
4. 參考文檔