tortoiseproc - 通過命令行使用TortoiseSVN




tortoisesvn sdk (9)

我想使用命令行SVN選項。 我使用TortoiseSVN,我運行了幾個命令,並且出現以下錯誤。

'svn'不被識別為內部或外部命令

我使用了這個命令

svn checkout [-N] [--ignore-externals] [-r rev] URL PATH

我想我應該添加一些環境變量或其他東西。

我應該做什麼或不能從命令行使用TortoiseSVN?


TortoiseSVN有一個命令行界面,可以用於TortoiseSVN GUI自動化,它與普通的Subversion不同。

您可以在文檔中找到有關TortoiseSVN命令行選項的信息: 附錄D.自動化TortoiseSVN 。 這裡使用的主要程序是TortoiseProc.exe

但是在頂部的一個說明已經說過:

請記住,TortoiseSVN是一個GUI客戶端,本自動化指南向您展示瞭如何使TortoiseSVN對話框顯示來收集用戶輸入。 如果你想寫一個不需要輸入的腳本,你應該使用官方的Subversion命令行客戶端。

另一個選擇是你安裝Subversion二進製文件。 Slik SVN是一個很好的版本(並且不需要像Collabnet這樣的註冊)。 如果您選擇安裝,最新版本的TortoiseSVN還包含命令行客戶端。


你可以同時安裝TortoiseSVN和Apache Subversion命令行工具。 我通常從VisualSVN下載站點安裝Apache SVN工具: https://www.visualsvn.com/downloads/ : https://www.visualsvn.com/downloads/

安裝完成後,將Subversion \ bin放入您設置的PATH中。 然後,當您想使用GUI時,您將能夠使用TortoiseSVN,並且您可以從命令行使用正確的SVN命令行工具。


我修復獲取SVN命令是從TortoiseSVN目錄複製.exe和.dll文件,並將它們粘貼到system32文件夾中。

您也可以從TortoiseSVN目錄執行該命令,並將工作目錄的路徑添加到每個命令。 例如:

C:\Program Files\TortoiseSVN\bin> svn st -v C:\checkout

將bin添加到路徑應該能夠在不重複文件的情況下工作,但它對我無效。


我已經安裝了命令行工具,但仍無法解決此錯誤。

  • 我重新啟動了Android Studio,但它並未解決我的問題

然後我意識到,在安裝SVN之後,我沒有重新啟動PC,那是主要問題。


有一個混淆,導致許多TortoiseSVN用戶在他們真正在尋找svn.exe命令行客戶端時使用錯誤的命令行工具。*

我應該做什麼或不能從命令行使用TortoiseSVN?

svn.exe

如果要從命令提示符運行Subversion命令,則應運行svn.exe命令行客戶端。 TortoiseSVN 1.6.x和更早版本不包括SVN命令行工具,但是現代版本。

如果您想要獲得SVN命令行工具而無需安裝TortoiseSVN,請檢查SVN二進制發行版頁面或從https://www.visualsvn.com/downloads/下載最新版本。

如果你的系統上安裝了SVN命令行工具,但仍然得到錯誤'svn' is not recognized as an internal or external command ,你應該檢查%PATH%環境變量。 %PATH%必須包含SVN工具目錄的路徑,例如C:\Program Files (x86)\VisualSVN\bin

TortoiseProc.exe

除了svn.exe ,TortoiseSVN還附帶了可從命令提示符調用的TortoiseProc.exe 。 在大多數情況下,您不需要使用此工具,因為它只能用於GUI自動化。 TortoiseProc.exe不是SVN命令行客戶端的替代品。


正如喬伊指出的那樣,TortoiseSVN有自己的命令行語法。 不幸的是,如果你已經習慣了svn命令,並且忽略了當前的工作目錄,這是非常難看的,因此它不是非常有用 - 除了腳本。

我創建了一個小Python程序( tsvn ),它盡可能地模仿svn命令行語法,並相應地調用TortoiseSVN。 因此,調用普通命令行工具和調用TortoiseSVN之間的區別在開始時會減少為小寫字母t

我的tsvn程序尚未完成,但已經有用。 它可以在奶酪店找到( https://pypi.python.org/pypi/tsvn/


要啟用svn再次運行TortoiseSVN安裝程序,請選擇“修改”(允許用戶更改安裝功能的方式)並安裝“命令行客戶端工具”。


過了一段時間,我使用了這個解決方法...

(在.bat文件中)

SET "CHECKOUT=http://yoururl.url";
SET "PATH=your_folder_path"

start "C:\Program Files\TortoiseSVN\bin" svn.exe checkout %CHECKOUT% %PATH%

默認情況下,TortoiseSVN總是有一個與之關聯的GUI(圖形用戶界面)。 但在安裝程序(版本1.7和更高版本)上,您可以選擇“命令行客戶端工具”選項,以便您可以從命令行調用svn命令(如svn commit和svn update)。

以下是安裝程序中“命令行客戶端工具”選項的屏幕截圖,您需要確保選擇它:





tortoisesvn