跳至內容

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
華夏公益教科書