全面指南:Subversion (SVN) 的下载与安装详解
引言:认识 SVN – 强大的版本控制系统
在软件开发、文档协作以及任何需要追踪文件修改历史和协同工作的场景中,版本控制系统(Version Control System, VCS)都扮演着至关重要的角色。它能够记录文件的每一次变更,允许用户回溯到任意历史版本,协调多人对同一文件的修改,并有效地管理并行开发。在众多的版本控制系统中,Subversion(简称 SVN)曾长期占据主导地位,至今仍在许多企业和项目中广泛使用。
SVN 是一个集中式的版本控制系统,它采用客户端-服务器架构。这意味着所有的文件历史和版本信息都存储在一个中央服务器上,用户通过客户端连接到服务器进行文件操作(如检出、提交、更新等)。这种模式的优点是管理集中、权限控制清晰;缺点是对中央服务器依赖较大,离线工作受限(相较于分布式系统如 Git)。
本篇文章将为您提供一份详尽的 SVN 下载与安装指南,涵盖了不同操作系统(Windows、macOS、Linux)下常用的客户端和服务器安装方法。无论您是开发者需要使用 SVN 客户端与远程仓库协作,还是需要搭建一个 SVN 服务器来管理团队的项目,都能在这里找到详细的步骤和说明。
在开始安装之前,我们需要明确一点:SVN 的安装通常分为客户端安装和服务器端安装。您可以根据自己的需求选择性地安装其中一个或两者。
- 客户端 (Client): 用于连接远程或本地 SVN 服务器,执行检出 (checkout)、更新 (update)、提交 (commit) 等操作。大多数用户只需要安装客户端。
- 服务器端 (Server): 用于创建和管理 SVN 仓库 (repository),存储项目的所有版本历史。如果您需要搭建自己的 SVN 仓库供团队使用,则需要安装服务器端。
接下来,我们将分步介绍如何获取 SVN 安装包以及如何在主流操作系统上完成安装。
第一部分:准备工作与软件选择
在开始下载和安装之前,请确保您具备以下基本条件:
- 稳定的网络连接: 需要从互联网下载安装文件。
- 足够的磁盘空间: 安装文件本身不大,但 SVN 仓库可能会占用较多空间,尤其在服务器端。
- 管理员权限: 在大多数操作系统上安装软件需要管理员权限。
- 操作系统信息: 了解您的操作系统版本(如 Windows 10/11, macOS Sonoma, Ubuntu 22.04 等)以及是 32 位还是 64 位,以便下载对应的安装包。
SVN 软件来源与选择
SVN 的核心程序由 Apache Software Foundation 维护,但由于其开源性质,市面上有多种不同的发行版本和客户端工具。主要的下载来源和工具包括:
- Apache Subversion 官方网站 (subversion.apache.org): 提供 SVN 的核心命令行工具和服务器程序源代码及预编译包。这是最权威的来源,适合希望安装官方版本或需要在 Linux/macOS 上通过包管理器安装的用户。
- TortoiseSVN (tortoisesvn.net): 这是 Windows 平台上最流行、最易用的 SVN 图形化客户端。它作为 Windows Explorer 的 Shell 扩展集成,通过右键菜单进行操作,极大地简化了 SVN 的使用。对于 Windows 用户,如果主要使用图形界面进行 SVN 操作,强烈推荐安装 TortoiseSVN。
- SlikSVN (sliksvn.com): 为 Windows 提供官方 Apache Subversion 命令行客户端的便捷安装包。如果您在 Windows 上偏好使用命令行,或者需要安装 SVN 服务器但不想自己编译,SlikSVN 是一个不错的选择。
- VisualSVN Server (visualsvn.com): Windows 平台上一个功能强大、易于安装和管理的 SVN 服务器软件。它基于 Apache Subversion 和 Apache HTTP Server,提供了友好的图形界面管理工具,特别适合在 Windows Server 环境中部署 SVN 服务。对于希望在 Windows 上快速搭建和管理 SVN 服务器的用户,强烈推荐 VisualSVN Server。
- IDE 内置插件: 许多集成开发环境(IDE),如 Eclipse、IntelliJ IDEA、Visual Studio 等,都提供了 SVN 集成插件,允许您直接在 IDE 中进行 SVN 操作。这些插件通常需要您已经安装了 SVN 客户端(命令行或图形化)。
在本文中,我们将重点介绍 Windows 下的 TortoiseSVN (客户端) 和 VisualSVN Server (服务器端),以及 Linux/macOS 下通过包管理器安装命令行客户端和服务器的方法,因为它们是各自平台上最常用、最便捷的安装方式。
第二部分:下载 SVN 安装包
根据您的需求和操作系统,选择合适的软件进行下载。
1. 下载 TortoiseSVN (Windows 客户端 – 推荐图形界面用户)
- 访问 TortoiseSVN 官方网站:
https://tortoisesvn.net/downloads.html
- 页面会列出不同语言版本的下载链接。通常,您需要下载 “64-bit” 或 “32-bit” 版本的安装包,这取决于您的 Windows 操作系统是 64 位还是 32 位。点击对应的
.msi
文件下载链接。 - 您还可以选择下载语言包 (Language Packs),以便将 TortoiseSVN 的界面设置为中文或其他语言。找到 “Language Packs” 部分,点击 “Simplified Chinese” (简体中文) 或 “Traditional Chinese” (繁体中文) 旁边的
.msi
文件下载链接。请注意,语言包的版本需要与 TortoiseSVN 主程序版本匹配。 - 将下载的
.msi
文件保存到您电脑的任意位置(例如“下载”文件夹)。
2. 下载 SlikSVN (Windows 客户端/服务器命令行)
- 访问 SlikSVN 官方网站:
https://sliksvn.com/download/
- 选择适合您操作系统位数的版本进行下载(通常是 64-bit)。点击下载链接。
- 将下载的
.msi
文件保存到您电脑的任意位置。
3. 下载 VisualSVN Server (Windows 服务器端 – 推荐 Windows Server 用户)
- 访问 VisualSVN Server 官方网站:
https://www.visualsvn.com/server/download/
- 网站提供商业版 (Enterprise) 和免费的标准版 (Standard)。对于个人使用或小型团队,标准版通常足够。
- 选择适合您操作系统位数的版本进行下载(通常是 64-bit)。点击 Standard Edition 下方的 Download 按钮。
- 将下载的
.msi
文件保存到您电脑的任意位置。
4. Linux / macOS (通常无需单独下载安装包)
在 Linux 和 macOS 系统上,SVN 的命令行客户端和服务器端通常通过系统的包管理器进行安装(如 apt
在 Debian/Ubuntu 上,yum
/dnf
在 CentOS/Fedora 上,brew
在 macOS 上)。您通常无需手动下载安装包,直接通过命令行执行安装命令即可。具体步骤将在安装部分详细说明。
第三部分:安装 SVN 客户端
本部分将详细介绍如何在 Windows、macOS 和 Linux 上安装 SVN 客户端。
1. 在 Windows 上安装 TortoiseSVN (图形化客户端)
这是 Windows 用户最常用的 SVN 客户端,安装过程非常简单。
- 双击安装文件: 找到之前下载的
TortoiseSVN-xxx.msi
安装文件,双击运行。如果系统弹出用户账户控制 (UAC) 提示,请点击“是”允许程序运行。 - 欢迎界面: 安装向导启动,显示欢迎界面。点击 “Next >” 继续。
- 许可协议: 阅读许可协议。如果您同意条款,选择 “I accept the terms in the License Agreement”,然后点击 “Next >”。
- 自定义安装 (Choose Setup Type): 这一步非常重要。
- Standard (标准): 安装所有常用组件。
- Complete (完整): 安装所有可用组件。
- Custom (自定义): 允许您选择需要安装的组件。
- 建议选择 Custom (自定义),以便确认或调整安装选项。点击 “Next >”。
- 选择要安装的组件 (Custom Setup): 在这一步,您可以选择安装哪些组件。
- TortoiseSVN program files: TortoiseSVN 的核心程序。必须安装。
- Command line client tools: 如果您偶尔也需要使用命令行进行 SVN 操作,或者某些第三方工具依赖于命令行客户端,建议也选择安装此项。它会将
svn.exe
等命令行工具安装到您的系统中。 - Subversion provider for AnkhSVN: 这是 Visual Studio 的 SVN 插件 AnkhSVN 所需的提供者。如果您使用 Visual Studio 并计划安装 AnkhSVN,可以选择安装。
- Help files: 帮助文档。可选。
- Language Packs: 如果您之前下载了语言包,可以在这里选择安装。或者先不选,等主程序安装完成后再单独安装语言包。
- 确认选择后,点击 “Next >”。
- 安装路径 (Destination Folder): 选择 TortoiseSVN 的安装目录。默认路径通常在
C:\Program Files\TortoiseSVN\
或C:\Program Files (x86)\TortoiseSVN\
。您可以点击 “Change…” 选择其他目录,但通常推荐使用默认路径。点击 “Next >”。 - 准备安装: 安装向导显示即将执行的操作摘要。点击 “Install” 开始安装过程。
- 安装过程: 安装程序会复制文件并配置系统。这通常只需要几分钟。
- 安装完成: 安装完成后,向导会显示 “Completed the TortoiseSVN Setup Wizard”。
- 一个重要的提示是:为了让 TortoiseSVN 完全集成到 Windows Explorer 的右键菜单中并显示文件状态图标,通常需要重启您的计算机。向导可能会提供一个复选框让您选择是否立即重启,或者提示您稍后手动重启。
- 勾选 “Run the first start wizard” (运行首次启动向导) 可以进行一些初步配置,例如设置用户名和邮箱。建议勾选并点击 “Finish”。
- 首次启动向导: 如果您选择了运行首次启动向导,它会引导您进行基本设置,如配置全局用户名和邮箱。这些信息将用于标识您的 SVN 提交。填写完毕后点击 “Finish”。
- 安装语言包 (如果需要): 如果您下载了语言包且未在主程序安装时选择安装,请双击下载的语言包
.msi
文件。安装过程非常简单,只需按照提示点击“下一步”即可。安装完成后,您可以在任意文件夹的右键菜单中,选择 “TortoiseSVN” -> “Settings”,然后在设置窗口的 “General” 页面找到 “Language” 选项,选择您安装的语言(如 “简体中文”),点击“确定”。可能需要重启资源管理器或计算机使语言设置生效。 - 验证安装: 安装完成后,请务必重启您的计算机。重启后,打开任意文件夹,在其空白区域或任意文件/文件夹上右键单击鼠标。您应该能在右键菜单中看到一个名为 “TortoiseSVN” 的子菜单,这表明 TortoiseSVN 客户端已成功安装并集成到系统中。
2. 在 Windows 上安装 SlikSVN (命令行客户端/服务器)
如果您只需要 Windows 上的命令行 SVN 客户端或需要安装 SVN 服务器但不希望使用 VisualSVN Server,可以安装 SlikSVN。
- 双击安装文件: 找到下载的
Slik-Subversion-xxx.msi
文件并双击运行。同意 UAC 提示。 - 欢迎界面: 点击 “Next >”。
- 许可协议: 接受许可协议,点击 “Next >”。
- 自定义安装: 选择安装组件。默认通常会安装核心的命令行工具。如果您需要服务器组件,请确保相关选项被选中(通常默认是包含的)。点击 “Next >”。
- 安装路径: 选择安装目录,点击 “Next >”。
- 准备安装: 点击 “Install”。
- 安装完成: 点击 “Finish”。SlikSVN 安装过程不涉及 Shell 扩展,通常不需要重启。
-
验证安装: 打开 Windows 的命令提示符 (cmd) 或 PowerShell。输入命令
svn --version
并按回车。如果安装成功,会显示 SVN 的版本信息,例如:
“`
svn, version 1.14.2 (r1899077)
compiled Mar 1 2022, 09:22:11 on x86_64-microsoft-windowsCopyright (C) 2022 Apache Software Foundation.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
``
svn
如果在命令提示符中输入命令显示“'svn' 不是内部或外部命令,也不是可运行的程序或批处理文件。”,则可能需要手动将 SlikSVN 的安装目录下的
bin文件夹路径添加到系统的环境变量
Path` 中。
3. 在 macOS 上安装 SVN 客户端 (通过 Homebrew)
macOS 用户最常用且推荐的 SVN 客户端安装方式是通过 Homebrew 包管理器。如果您尚未安装 Homebrew,请先访问其官网 https://brew.sh/
并按照指引安装。
- 打开终端: 启动“应用程序”->“实用工具”->“终端”。
- 安装 SVN: 在终端中输入以下命令并按回车:
bash
brew install subversion
Homebrew 会自动下载 Subversion 的最新版本并进行编译安装。这个过程可能需要一些时间,取决于您的网络速度和计算机性能。 - 验证安装: 安装完成后,输入以下命令并按回车:
bash
svn --version
如果安装成功,终端会显示 SVN 的版本信息。
4. 在 Linux 上安装 SVN 客户端 (通过包管理器)
在大多数 Linux 发行版上,SVN 客户端可以直接通过系统自带的包管理器安装,这是最便捷的方式。
- 打开终端: 启动您的终端模拟器。
- 更新包列表 (推荐): 在安装任何软件之前,通常建议先更新系统的包列表,以确保能下载到最新版本的软件。
- 对于 Debian/Ubuntu 及其衍生版 (使用 apt):
bash
sudo apt update - 对于 Fedora/CentOS/RHEL 8+ (使用 dnf):
bash
sudo dnf check-update - 对于 CentOS/RHEL 7 及更早版本 (使用 yum):
bash
sudo yum check-update
- 对于 Debian/Ubuntu 及其衍生版 (使用 apt):
- 安装 SVN 客户端: 使用对应的包管理器命令安装
subversion
包。- 对于 Debian/Ubuntu:
bash
sudo apt install subversion - 对于 Fedora/CentOS/RHEL 8+:
bash
sudo dnf install subversion - 对于 CentOS/RHEL 7 及更早版本:
bash
sudo yum install subversion - 系统会提示您确认安装并可能要求输入管理员密码。输入
y
并按回车继续。
- 对于 Debian/Ubuntu:
- 验证安装: 安装完成后,输入以下命令并按回车:
bash
svn --version
如果安装成功,终端会显示 SVN 的版本信息。
至此,您已经完成了 SVN 客户端的安装。现在您可以使用相应的工具(TortoiseSVN 图形界面或 svn
命令行)来连接 SVN 仓库并进行版本控制操作了。
第四部分:安装 SVN 服务器端
如果您需要搭建自己的 SVN 仓库供团队使用,则需要安装 SVN 服务器。本部分将介绍在 Windows 上安装 VisualSVN Server 和在 Linux/macOS 上安装官方 Subversion 服务器的方法。
1. 在 Windows 上安装 VisualSVN Server (推荐易用性)
VisualSVN Server 是一个非常易于安装和管理的 Windows SVN 服务器解决方案。
- 双击安装文件: 找到之前下载的
VisualSVN-Server-xxx.msi
安装文件,双击运行。同意 UAC 提示。 - 欢迎界面: 点击 “Next >”。
- 许可协议: 接受许可协议,点击 “Next >”。
- 选择组件:
- VisualSVN Server: 核心服务器程序和管理控制台。必须安装。
- Administration Tools: 命令行管理工具。建议勾选。
- Add VisualSVN Server Manager shortcut to the desktop: 在桌面创建快捷方式。可选。
- 点击 “Next >”。
- 配置服务器选项: 这是安装过程中最关键的一步。
- Location (安装位置): 选择 VisualSVN Server 的安装目录。
- Repositories (仓库根目录): 非常重要! 选择所有 SVN 仓库将存储的父目录。例如
D:\SVNRepositories
。这个目录必须是空的,或者不存在(安装程序会创建)。请选择一个有足够空间且权限合适的磁盘位置。 - Server Port (服务器端口): VisualSVN Server 默认使用 HTTPS 协议通过端口
8443
提供服务。HTTPS 更安全,推荐使用。如果您想使用 HTTP,端口通常是80
或8080
,但这不推荐,除非您有特定需求。如果端口8443
被占用,您可以更改为其他未被占用的端口。请记住您在这里设置的端口,客户端连接时需要使用。 - Authentication (身份验证):
- Subversion authentication: 使用 VisualSVN Server 内置的用户管理系统。您可以创建用户和组,并设置访问权限。对于大多数情况,这是最简单和推荐的选项。
- Windows authentication: 使用 Windows 域用户或本地用户进行身份验证。适合已加入域环境或希望利用现有 Windows 用户体系的场景。配置相对复杂一些。
- 选择 Subversion authentication,然后点击 “Next >”。
- 如果您选择了 Subversion authentication,在这一步下方会有一个 “Server Certificate” 选项:
- Install a Production Ready Certificate: 如果您有受信任的 SSL 证书,可以选择此项并导入。
- Generate a Temporary Certificate: 对于内部使用或测试目的,选择此项。 安装程序会生成一个自签名证书。客户端连接时会收到证书警告,需要手动信任。这不影响功能,只是客户端会提示证书不受信任。
- 选择 Generate a Temporary Certificate,然后点击 “Next >”。
- 准备安装: 点击 “Install” 开始安装。
- 安装过程: 等待安装完成。
- 安装完成: 安装完成后,向导会显示完成信息。默认会勾选 “Launch VisualSVN Server Manager” (启动 VisualSVN Server 管理器)。点击 “Finish”。
- 启动 VisualSVN Server Manager: 管理器界面启动。您会在左侧看到服务器节点,右侧是服务器状态和信息。
- 创建第一个仓库:
- 在左侧树状视图中,右键单击 “Repositories” 节点。
- 选择 “Create New Repository…”。
- 输入仓库名称 (Repository name),例如
MyProject
。 - 选择仓库类型:
- Regular FSFS repository: 标准的 SVN 仓库格式。
- Distributed VDFS repository: 分布式仓库,高级功能,通常选择第一种。
- 选择仓库结构:
- Empty repository: 创建一个空的仓库。
- Single project repository: 创建一个包含
trunk
,branches
,tags
标准结构的仓库。推荐选择此项。
- 选择访问权限 (Access rights):
- All users have Read/Write access: 所有人都可以读写(不安全)。
- All users have Read-Only access: 所有人只读。
- Custom access rights: 自定义用户和组的权限。推荐选择此项。
- 点击 “Create”。
- 如果您选择了 Custom access rights,接下来会弹出权限设置窗口。您可以添加用户和组,并设置对该仓库的读写权限。默认情况下,可能只有管理员有权限。您需要手动添加用户并赋予相应的权限。
- 创建用户 (如果使用 Subversion authentication):
- 在左侧树状视图中,右键单击 “Users” 节点。
- 选择 “Create New User…”。
- 输入用户名 (Username) 和密码 (Password)。点击 “OK”。
- 回到仓库的权限设置,将新创建的用户添加到有读写权限的列表中。
- 验证服务器:
- 在 VisualSVN Server Manager 中,选中您创建的仓库 (例如
MyProject
)。 - 在右侧窗口的 “General” 标签页中,您会看到该仓库的 URL,例如
https://YourServerName:8443/svn/MyProject/
。 - 在您的浏览器中输入这个 URL 并访问。如果配置正确,浏览器会提示证书问题(因为使用了自签名证书),选择继续访问。然后应该会弹出用户名密码输入框。输入您在 VisualSVN Server 中创建的用户凭据。登录成功后,您应该能看到仓库的标准目录结构 (trunk, branches, tags)。
- 您也可以尝试使用之前安装的 TortoiseSVN 客户端连接这个 URL 进行 Checkout 操作。
- 在 VisualSVN Server Manager 中,选中您创建的仓库 (例如
至此,您已经在 Windows 上成功搭建并配置了一个 VisualSVN 服务器。
2. 在 Linux/macOS 上安装 SVN 服务器 (命令行)
在 Linux 和 macOS 上,通常通过包管理器安装官方的 Subversion 程序包来获得服务器功能。您可以使用 svnserve
命令运行一个独立的 SVN 服务器,或者配置 Apache HTTP Server 集成 SVN 模块来提供更强大的服务(后者配置较复杂,本文主要介绍 svnserve
)。
- 打开终端: 启动终端模拟器。
- 安装 Subversion (如果之前只安装了客户端,通常已经安装了):
- 对于 Debian/Ubuntu:
bash
sudo apt update
sudo apt install subversion subversion-tools
subversion-tools
包包含一些辅助工具。 - 对于 Fedora/CentOS/RHEL 8+:
bash
sudo dnf check-update
sudo dnf install subversion subversion-tools - 对于 CentOS/RHEL 7 及更早版本:
bash
sudo yum check-update
sudo yum install subversion subversion-tools - macOS (Homebrew 安装时通常已包含服务器端):如果您之前通过
brew install subversion
安装,通常服务器端工具已经包含在内。
- 对于 Debian/Ubuntu:
- 创建 SVN 仓库的根目录: 选择一个位置用来存放所有的 SVN 仓库。例如
/srv/svn
或/var/svn
。创建该目录并设置合适的权限。
bash
sudo mkdir -p /srv/svn
sudo chown -R your_user:your_group /srv/svn # 将 your_user 和 your_group 替换为实际用户名和组,以便非root用户管理仓库
# 例如:sudo chown -R your_username:your_username /srv/svn
注意:实际生产环境中可能需要创建专门的 SVN 用户和组来运行服务。 - 创建第一个 SVN 仓库:
bash
svnadmin create /srv/svn/MyProject
这会在/srv/svn/
目录下创建一个名为MyProject
的空仓库。 -
配置仓库访问权限和用户: 进入新创建的仓库目录下的
conf
目录。
bash
cd /srv/svn/MyProject/conf
这里有几个重要的配置文件:svnserve.conf
: 配置svnserve
服务器的行为,如认证方式、权限文件位置等。passwd
: 存储用户名和密码(如果使用内置认证)。authz
: 配置用户/组对仓库不同路径的访问权限。
编辑
svnserve.conf
:
bash
nano svnserve.conf # 或使用其他文本编辑器如 vi, gedit
找到并取消注释(删除行首的#
和空格)以下几行,并进行修改:
ini
[general]
anon-access = none # 禁止匿名访问,或者设置为 read 允许匿名读
auth-access = write # 认证用户具有写权限(当然还需要authz文件进一步限制)
password-db = passwd # 指定密码文件为同目录下的 passwd
authz-db = authz # 指定权限文件为同目录下的 authz
realm = My Project Repository # 设置认证领域的名称,会显示在客户端认证提示中
保存并关闭文件。编辑
passwd
文件:
bash
nano passwd
在[users]
段下方添加用户名和密码,格式为用户名 = 密码
。
ini
[users]
user1 = password1
user2 = password2
保存并关闭文件。编辑
authz
文件 (配置更细致的权限):
bash
nano authz
配置用户或组对仓库中特定路径的权限。格式如下:
“`ini
[groups]
developers = user1,user2
managers = user3[/] # 对整个仓库的权限
@developers = rw # developers 组具有读写权限
user3 = r # user3 只具有读权限
* = # 其他所有人(包括匿名用户,如果 anon-access 不是 none)无任何权限[/branches] # 对 branches 目录的权限
@developers = r # developers 对分支目录只读(防止误删分支)[/trunk]
user1 = rw # user1 对 trunk 有读写权限[MyProject:/some/path] # 对 MyProject 仓库下特定路径 /some/path 的权限
user1 = rw
user2 = r
“`
保存并关闭文件。 -
启动
svnserve
服务器:
在终端中输入以下命令启动服务器。svnserve
默认使用端口 3690。
bash
svnserve -d --listen-port 3690 -r /srv/svn-d
: 以守护进程模式运行,在后台持续运行。--listen-port 3690
: 指定监听端口为 3690。如果您想使用其他端口,请修改此值。-r /srv/svn
: 指定 SVN 仓库的根目录为/srv/svn
。客户端连接时只需要指定仓库名称,例如svn://your_server_ip:3690/MyProject
。
如果您希望服务器在系统启动时自动运行,需要配置 Systemd 或 Init 脚本。这超出了本文的范围,您可以搜索“Linux svnserve systemd service”等关键词查找相关教程。
-
验证服务器:
- 确保服务器的防火墙允许 TCP 端口 3690 的连接。
- 在客户端计算机上,使用 SVN 客户端(如 TortoiseSVN 或命令行)尝试连接仓库 URL:
svn://服务器IP地址或域名:3690/MyProject
。 - 客户端会提示输入用户名和密码。输入您在
passwd
文件中设置的凭据。如果连接成功并能看到仓库内容,则表明服务器安装和配置成功。
至此,您已经在 Linux/macOS 上通过 svnserve
搭建并配置了一个基本的 SVN 服务器。
第五部分:SVN 的基本使用 (客户端操作)
安装完成后,您就可以使用 SVN 客户端与仓库进行交互了。这里简要介绍几个最基本的操作:
-
检出 (Checkout): 从 SVN 仓库中获取一份工作副本到您的本地计算机。这是开始使用 SVN 仓库的第一步。
- TortoiseSVN: 在您想要存放项目的工作目录中,右键单击空白区域,选择 “SVN Checkout…”。在弹出的对话框中输入仓库的 URL 和本地工作目录路径,点击 “OK”。
- 命令行:
svn checkout 仓库URL 本地目录路径
例如:svn checkout https://your_server_name:8443/svn/MyProject/trunk /path/to/your/working/copy
-
更新 (Update): 将您本地工作副本与仓库中的最新版本同步,获取其他人提交的修改。
- TortoiseSVN: 在工作副本目录上右键单击,选择 “SVN Update”。
- 命令行: 进入工作副本目录,运行
svn update
-
提交 (Commit): 将您在本地工作副本中对文件的修改(新增、修改、删除等)上传到 SVN 仓库中,创建新的版本。
- TortoiseSVN: 在工作副本目录或修改过的文件/文件夹上右键单击,选择 “SVN Commit…”。在弹出的对话框中勾选要提交的文件,输入本次提交的日志信息(必填,描述本次修改的内容),点击 “OK”。
- 命令行: 进入工作副本目录,运行
svn commit -m "你的提交日志信息"
。在此之前,您可能需要使用svn add
添加新文件,svn delete
删除文件。
-
查看日志 (Log): 查看文件的修改历史,包括每次提交的版本号、作者、日期和日志信息。
- TortoiseSVN: 在工作副本目录或文件上右键单击,选择 “TortoiseSVN” -> “Show Log”。
- 命令行:
svn log 文件或目录路径
这只是 SVN 客户端最基础的几个操作,SVN 还提供了分支 (branching)、标签 (tagging)、合并 (merging)、查看差异 (diff)、版本回滚 (revert) 等更高级的功能。
第六部分:常见问题与故障排除
在 SVN 的下载和安装过程中,可能会遇到一些问题。这里列出一些常见的故障和解决方案:
- TortoiseSVN 安装后右键菜单不显示或图标不正常:
- 原因: Shell 扩展未完全加载或与系统冲突。
- 解决方案: 重启计算机! 这是最常见的解决方法。如果重启后仍有问题,尝试卸载 TortoiseSVN 并重新安装。确保安装时选择了正确的系统位数版本。
- 命令行
svn
命令无法识别 (Windows):- 原因: 安装时没有选择安装命令行工具,或者安装路径没有被添加到系统的
Path
环境变量中。 - 解决方案:
- 如果安装时未选择命令行工具,重新运行安装程序选择安装。
- 手动将 SVN 安装目录下的
bin
文件夹路径添加到系统的Path
环境变量中。具体步骤可以在网上搜索“Windows 添加环境变量”。
- 原因: 安装时没有选择安装命令行工具,或者安装路径没有被添加到系统的
- 连接服务器时提示“认证失败”:
- 原因: 用户名或密码错误,或者用户没有访问该仓库的权限。
- 解决方案:
- 仔细检查输入的用户名和密码是否正确,注意区分大小写。
- 如果是 VisualSVN Server,在服务器端检查用户是否存在,是否被添加到仓库的权限列表中,并具有相应的读写权限。
- 如果是
svnserve
,检查passwd
文件中的用户名密码是否正确,authz
文件中是否为该用户或其所属组设置了正确的权限。
- 连接服务器时提示“无法连接”或“连接超时”:
- 原因: 服务器未运行,服务器 IP 地址/域名错误,端口号错误,防火墙阻止了连接,网络问题等。
- 解决方案:
- 检查服务器是否正在运行 (Windows 上查看 VisualSVN Server 服务状态,Linux 上检查
svnserve
进程是否存在)。 - 确认您使用的仓库 URL 中的服务器地址和端口号是否正确。
- 检查服务器端和客户端计算机上的防火墙设置,确保允许 SVN 使用的端口 (例如 8443/3690) 通过。
- 尝试 Ping 服务器 IP 地址,确认网络连接正常。
- 检查服务器是否正在运行 (Windows 上查看 VisualSVN Server 服务状态,Linux 上检查
- 使用 VisualSVN Server 时客户端提示证书错误:
- 原因: 您使用了自签名证书,客户端不信任该证书。
- 解决方案: 这是正常现象。在客户端连接时,SVN 客户端或浏览器会提示证书不受信任,选择“接受”、“信任”或“继续访问”即可。在 TortoiseSVN 中,您可能会在首次连接时收到证书警告,选择“接受并保存”可以将证书添加到本地信任列表中。在生产环境中,为了避免此类提示,可以考虑使用受信任的第三方 CA 颁发的证书。
结论
通过本文的详细指南,您应该已经了解了如何在 Windows、macOS 和 Linux 系统上下载和安装 SVN 客户端和服务器端,以及如何进行一些基本的配置和验证。
SVN 作为一个成熟稳定的版本控制系统,至今仍然是许多团队和项目的基石。掌握 SVN 的安装和使用,将极大地提高您在协同开发和文件管理中的效率。
请记住,SVN 的功能远不止于此,本文只是一个入门级的安装和基本使用介绍。如果您需要更深入地了解 SVN 的高级特性、仓库管理、钩子脚本 (hook scripts)、备份恢复以及与各种 IDE 的集成,推荐查阅 Apache Subversion 的官方文档、TortoiseSVN 的帮助文档以及其他相关的在线资源。
祝您在使用 SVN 的过程中一切顺利!