在NAS SMB卷上使用VisualSVN Server维护代码库-阿里云开发者社区

开发者社区> 阿里云存储服务> 正文

在NAS SMB卷上使用VisualSVN Server维护代码库

简介: VisualSVN Server 是 Windows 平台上流行的 SVN 形式的代码管理工具。以下我们将介绍把 NAS SMB 卷作为 VisualSVN 代码库存储中心时会遇到的几个问题以及相应的解决方法。

VisualSVN Server[1] 是 Windows 平台上流行的 SVN 形式的代码管理工具。以下我们将介绍把 NAS SMB 卷作为 VisualSVN 代码库存储中心时会遇到的几个问题以及相应的解决方法。

1. 安装错误的解决方法

我们以 VisualSVN Server 3.3.1 版本为例,在安装 VisualSVN Server 时我们可以选择使用 NAS SMB 卷的 UNC 路径作为 repo ,但是这样选会提示无法安装:
UNC路径无法安装

接着我们尝试将NAS SMB卷挂载到一个盘符上然后再安装,安装过程中会出错:
盘符安装出错

1.1. 解决方法

这个问题的解决办法就是用 SYSTEM 账号挂载 NAS SMB 卷,然后用新挂载的盘符作为 repo 的安装地址。具体 SYSTEM 账号挂载 NAS SMB 卷的方法请参见 以SYSTEM身份挂载文件卷解决SQLServer使用NAS SMB文件卷等问题[2]。
注意 SYSTEM 账号挂载成功之后在文件管理器上会显示成叉号,但是是可以使用的。
盘符叉号

在 Y:\ 盘安装,
Y:\盘安装

提示要用 UNC 路径,请忽略,
提示要用 UNC 路径,请忽略

最终 VisualSVN 安装成功。
最终 VisualSVN 安装成功

2. 打开代码库 URL 时提示内部错误

创建代码库 repo 之后,打开代码库的 URL 时会提示内部错误:
创建代码库

打开代码库的 URL 时会提示内部错误

查看日志可以发现如下错误:Could not open password file: Y:/Repositories/htpasswd
查看日志可以发现如下错误

2.1. 解决方法

经过实验后发现安装AD服务可以解决这个错误。安装AD的方法可以参考这一篇文章:通过安装和配置AD域解决Windows Server 2016的IIS无法加载SMB文件卷文件的问题[3]。

配置AD域控制器结束后会重启,重启完成之后登陆新的代码库 URL 就不会出现错误了。这时候需要在代码库上配置一个用户,然后就可以登陆进代码库网页。

忽略这个证书错误:
忽略这个证书错误

不会出现 internal error:
不会出现 internal error

配置 VisualSVN 用户:
配置 VisualSVN 用户

登陆成功:
登陆成功

3. 如何使用 SVN 上传下载代码

在 Windows 环境下比较常用的办法是使用 TortoiseSVN 客户端或者 VisualStudio SVN 插件来连接 SVN 上传下载代码。

3.1. TortoiseSVN

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 checkout https://iis-test-2019.iis-test2016.com/svn/repo/

svn add helloworld.txt

svn commit

上传 helloworld.txt 成功

以上就是 svn 命令行加 VisualSVN 在 NAS SMB 卷上的基本使用方法。

3.2. Visual Studio Code SVN 插件

Visual Studio Code 是 Windows 平台广泛使用的开发 IDE。它可以通过安装插件的方式支持 SVN。
Visual Studio Code SVN插件

安装完插件之后打开刚才svn同步下来的文件夹,就可以看到SVN历史以及添加和上传新文件。
SVN历史

上传新文件

上传同步成功

3.3. Visual Studio SVN 插件

可以在 Visual SVN 官网下载 VisualSVN for Visual Studio插件。

安装完插件之后打开刚才svn同步下来的文件夹,创建helloworld3.txt,并添加到 SVN
创建helloworld3.txt

上传到 SVN

上传成功

验证成功

4. 参考文档

4.1. VisualSVN Server: https://www.visualsvn.com/server/

4.2. 以SYSTEM身份挂载文件卷解决SQLServer使用NAS SMB文件卷等问题:https://yq.aliyun.com/articles/715687

4.3. 通过安装和配置AD域解决Windows Server 2016的IIS无法加载SMB文件卷文件的问题:https://yq.aliyun.com/articles/692463

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

阿里云存储基于飞天盘古2.0分布式存储系统,产品多种多样,充分满足用户数据存储和迁移上云需求。

官方博客
链接