跳至内容

Oberon/SVN

来自维基教科书,开放世界中的开放书籍

A2 存储库的 SVN

[编辑 | 编辑源代码]

类 Unix 系统中的 SVN

[编辑 | 编辑源代码]

安装 Subversion。例如,在 Redhat 中,

sudo yum install subversion

以及在 Debian 中。

sudo apt install subversion

在尝试创建本地存储库之前,请检查系统中是否存在 UTF-8 字符编码。编码错误将中断签出,并显示类似以下内容的报告。

svn: E155009: Failed to run the WC DB work queue associated with '/home/me/a2', work item 15168 (file-install 44 UnixAos/DarwinA2 Installer/A2 64.app/Icon{U+ F00D} 1 0 1 1)
svn: E000022: Can't convert string from 'UTF-8' to native encoding:
svn: E000022: /home/me/a2/UnixAos/DarwinA2 Installer/A2 64.app/Icon{U+F00D}

如果存在 区域设置包,则应根据 Debian 等说明 安装和配置它。编码 "en_US.UTF-8 UTF-8" 和其他一些编码将有效。

在用户目录中的任意位置 <somewhere>,为存储库的工作副本创建一个目录。例如

mkdir <somewhere>/a2[1]

将存储库克隆到目录中。在图形环境中,可能会出现提示输入密码的对话框。在这种情况下,应从命令中省略密码选项。

cd <somewhere>/a2
svn checkout \
        --username infsvn.anonymous \
        --password anonymous \
    https://svn-dept.inf.ethz.ch/svn/lecturers/a2/trunk .

文件将在检索时被报告。

Redirecting to URL 'https://svn.inf.ethz.ch/svn/lecturers/a2/trunk':
A    UnixAos
A    UnixAos/buildtools
A    UnixAos/buildtools/Darwin.AMD64.Tool
A    UnixAos/buildtools/Solaris.I386.Tool
A    UnixAos/buildtools/Solaris.AMD64.Tool
A    UnixAos/buildtools/UnixAosBuild.Tool
A    UnixAos/buildtools/Linux.I386.Tool
A    UnixAos/buildtools/Linux.AMD64.Tool
A    UnixAos/buildtools/Darwin.I386.Tool
A    UnixAos/boot
  ...

如果签出因编码错误或通信故障而中断,则应恢复。

cd <somewhere>/a2
svn cleanup .
svn update .

检查本地存储库是否完整。

svn status <somewhere>/a2

随后,可以更新本地存储库。

cd <somewhere>/a2
svn update \
        --username infsvn.anonymous \
        --password anonymous .

查看自创建此 Subversion 存储库以来发生了哪些更改(包括每个更改的文件)。这将产生一个非常大的输出。

svn -v log <somewhere>/a2

有关更多详细信息,请参考 svn 手册

SVN 存档之前的文档位于 A2Documentation.pdf 中,可从 http://cas.inf.ethz.ch/projects/a2/repository/show/trunk/ocp/Documentation 获取。还可以参考 Wayback Machine

MS Windows 中的 SVN

[编辑 | 编辑源代码]

虽然 SVN 没有与 Windows 一起分发,但有第三方软件可用。 TortoiseSVN 就是其中之一。安装 SVN 客户端并按照上述类 Unix 系统的说明进行操作。SVN 命令在 Powershell 或 cmd 控制台中执行(使用 "md" 代替 "mkdir";不要包含表示 svn 命令连续性的反斜杠),两者都在 Windows 10 中可用。Windows 的可执行脚本名为 a2.bat 而不是 a2.sh。如果使用 PowerShell,请将 a2.bat 中的 "oberon" 更改为 "./oberon" 或 ".\oberon"。

  1. 类 Unix 系统中,有许多变体可用。例如,cd ~ ; mkdir a2
华夏公益教科书