手冊

TortoiseSVN 指令

結帳

svn checkout [-depth ARG] [--ignore-externals] [-r rev] URL PATH
      

深度組合方塊項目與 -depth 參數相關。

如果 忽略 externals 有勾選,請使用 --ignore-externals 開關。

如果您正在結帳特定版次,請在使用 -r 開關的 URL 後指定。

更新

svn info URL_of_WC
svn update [-r rev] PATH
      

目前在 Subversion 中更新多個項目並非原子操作。因此,TortoiseSVN 會先找到儲存庫的 HEAD 版次,然後將所有項目更新到該特定版次號碼,以避免建立組合式版次工作副本。

如果只選取一個要更新的項目,或選取的項目並非全部來自同一個儲存庫,TortoiseSVN 就會更新到 HEAD。

這裡未使用任何命令列選項。更新到版次 也會實作更新指令,但提供了更多選項。

更新為版次

svn info URL_of_WC
svn update [-r rev] [-depth ARG] [--ignore-externals] PATH
      

深度組合方塊項目與 -depth 參數相關。

如果 忽略 externals 有勾選,請使用 --ignore-externals 開關。

提交

在 TortoiseSVN 中,提交對話框使用多個 Subversion 指令。第一階段是狀態檢查,這會決定工作副本中哪些項目可以進行提交。您可以檢閱清單、對照 BASE 變更檔案,並選取要包含在提交中的項目。

svn status -v PATH
      

如果 顯示未建立版本控管的檔案 有勾選,TortoiseSVN 也會在工作副本階層結構中,針對忽略規則,顯示所有未建立版本控管的檔案和資料夾。此特定功能在 Subversion 中沒有直接的等效功能,因為 svn status 指令不會往下瀏覽未建立版本控管的資料夾。

如果您勾選了任何未建立版本控管的檔案和資料夾,那些項目將會先新增到您的工作副本。

svn add PATH...
      

當您按一下確定時,會執行 Subversion 提交。如果您將所有檔案選取方塊都保留為其預設狀態,TortoiseSVN 會使用一次工作副本的遞迴提交。如果您取消選取一些檔案,就必須使用非遞迴提交 (-N),而每條路徑都必須在提交命令列中個別指定。

svn commit -m "LogMessage" [-depth ARG] [--no-unlock] PATH...
      

這裡的 LogMessage 代表記錄訊息編輯方塊的內容。這可以是空的。

如果 保留鎖定 有勾選,請使用 --no-unlock 開關。

差異

svn diff PATH
      

如果從主內容選單中使用 Diff,將修改過的檔案與其 BASE 版本進行比較。上述 CLI 命令的輸出也會執行此動作,並以統一 diff 格式產生輸出。但 TortoiseSVN 並未使用此方式。TortoiseSVN 使用 TortoiseMerge(或您選擇的 diff 程式)以視覺化方式顯示純文字檔案之間的差異,因此沒有直接等效的 CLI。

您也可以使用 TortoiseSVN 比較任何 2 個檔案,無論是否受到版本控制。TortoiseSVN 僅將這兩個檔案載入指定的 diff 程式,讓它找出差異所在。

顯示記錄

svn log -v -r 0:N --limit 100 [--stop-on-copy] PATH
or
svn log -v -r M:N [--stop-on-copy] PATH
      

預設情況下,TortoiseSVN 會嘗試使用 --limit 方法擷取 100 則記錄訊息。如果設定指示使用舊 API,則會使用第二種格式來擷取 100 個儲存庫版次的記錄訊息。

如果已勾選在複製/重新命名時停止,請使用 --stop-on-copy 參數。

檢查變更

svn status -v PATH
or
svn status -u -v PATH
      

初始狀態檢查僅查看工作副本。如果您按一下檢查儲存庫,系統也會檢查儲存庫以查看哪個檔案會因更新而變更,這需要 -u 參數。

如果 顯示未建立版本控管的檔案 有勾選,TortoiseSVN 也會在工作副本階層結構中,針對忽略規則,顯示所有未建立版本控管的檔案和資料夾。此特定功能在 Subversion 中沒有直接的等效功能,因為 svn status 指令不會往下瀏覽未建立版本控管的資料夾。

版次圖形

版次圖形是僅 TortoiseSVN 才有的功能。命令列用戶端沒有對應的功能。

TortoiseSVN 所做的動作:

svn info URL_of_WC
svn log -v URL
        

其中 URL 是儲存庫根目錄,然後分析回傳的資料。

儲存庫瀏覽器

svn info URL_of_WC
svn list [-r rev] -v URL
      

您可以使用 svn info 來決定儲存庫根目錄,也就是儲存庫瀏覽器中顯示的最上層。您無法在這個層級上方導覽向上。此外,此命令會傳回儲存庫瀏覽器中顯示的所有鎖定資訊。

svn list 呼叫會列出資料夾的內容,並提供 URL 和版次。

編輯衝突

此命令沒有對應的 CLI。它會呼叫 TortoiseMerge 或外部的三向 diff/合併工具,以查看衝突中涉及的檔案並找出要使用的行。

已解決

svn resolved PATH
      

重新命名

svn rename CURR_PATH NEW_PATH
      

刪除

svn delete PATH
      

還原

svn status -v PATH
      

第一個階段是狀態檢查,用來決定工作副本中哪些項目可以還原。您可以檢閱清單、比較 BASE 版次的檔案,並選取您想要包含在還原中的項目。

當您按一下「確定」,即可執行 Subversion 還原。如果您已將所有檔案選取核取方塊保持在預設狀態,TortoiseSVN 會使用單一遞迴 (-R) 還原工作副本。如果您取消選取某些檔案,則必須在還原命令列上個別指定每個路徑。

svn revert [-R] PATH...
      

清理

svn cleanup PATH
      

取得鎖定

svn status -v PATH
      

第一階段是狀態檢查,它會判定工作副本中哪些檔案可能會被鎖定。您可以選擇您想要鎖定的項目。

svn lock -m "LockMessage" [--force] PATH...
      

LockMessage 在這裡表示主旨訊息編輯方塊的內容。它可以是空的。

如果已勾選 竊取鎖定,請使用 --force 開關。

釋放鎖定

svn unlock PATH
      

分支/標籤

svn copy -m "LogMessage" URL URL
or
svn copy -m "LogMessage" URL@rev URL@rev
or
svn copy -m "LogMessage" PATH URL
      

「分支/標籤」對話盒會複製到存放庫。有 3 個選項按鈕選項

  • 存放庫中的 HEAD 版本
  • 存放庫中的特定版本
  • 工作副本

它們分別對應於上方 3 個命令列變異。

這裡的 LogMessage 代表記錄訊息編輯方塊的內容。這可以是空的。

切換

svn info URL_of_WC
svn switch [-r rev] URL PATH
      

合併

svn merge [--dry-run] --force From_URL@revN To_URL@revM PATH
      

測試合併 會以 --dry-run 開關執行相同的合併。

svn diff From_URL@revN To_URL@revM
      

統一差異 會顯示用於執行合併的差異作業。

匯出

svn export [-r rev] [--ignore-externals] URL Export_PATH
      

當從一個未版本化的資料夾存取此表單時使用,且該資料夾用作目的地。

將工作副本匯出到不同位置會在不使用 Subversion 程式庫的情況下完成,所以沒有對應的命令列同等功能。

TortoiseSVN 會執行的動作是將所有檔案複製到新的位置,同時向您顯示作業進度。未版本化的檔案/資料夾也可以選擇性地匯出。

在兩種情況下,如果已勾選 略過外部程式,請使用 --ignore-externals 開關。

搬移

svn switch --relocate From_URL To_URL
      

在這裡建立存放庫

svnadmin create --fs-type fsfs PATH
      

新增

svn add PATH...
      

如果您選取一個資料夾,TortoiseSVN 會先遞迴地掃描它以取得能新增的項目。

匯入

svn import -m LogMessage PATH URL
      

這裡的 LogMessage 代表記錄訊息編輯方塊的內容。這可以是空的。

指責

svn blame -r N:M -v PATH
svn log -r N:M PATH
      

如果您使用 TortoiseBlame 來檢視指責資訊,也會需要檔案記錄才能在工具提示中顯示記錄訊息。如果您將指責檢視為純文字檔案,則不需要此資訊。

新增到忽略清單

svn propget svn:ignore PATH > tempfile
{edit new ignore item into tempfile}
svn propset svn:ignore -F tempfile PATH
      

因為 svn:ignore 屬性經常是多行值,因此這裡顯示它是透過純文字檔案變更,而不是直接在命令列上變更。

建立修補程式

svn diff PATH > patch-file
      

TortoiseSVN 會透過將工作副本與其 BASE 版本進行比較,以統一差異格式建立修補程式檔案。

套用修補程式

套用修補檔是一項棘手的任務,除非修補檔和工作副本位於相同的版本。對您來說幸運的是,您可以使用 TortoiseMerge,這在 Subversion 中沒有直接相等的。

TortoiseSVN 首頁