コマンドラインSVNオプションを使用したい。TortoiseSVNを使用していますが、いくつかのコマンドを実行すると次のエラーが発生します。
「svn」は内部または外部コマンドとして認識されません
コマンドを使用しました
svn checkout [-N] [--ignore-externals] [-r rev] URL PATH
環境変数などを追加する必要があると思います。
コマンドラインからTortoiseSVNを使用するにはどうすればよいですか?
コマンドラインSVNオプションを使用したい。TortoiseSVNを使用していますが、いくつかのコマンドを実行すると次のエラーが発生します。
「svn」は内部または外部コマンドとして認識されません
コマンドを使用しました
svn checkout [-N] [--ignore-externals] [-r rev] URL PATH
環境変数などを追加する必要があると思います。
コマンドラインからTortoiseSVNを使用するにはどうすればよいですか?
回答:
デフォルトでは、TortoiseSVNには常にGUI(グラフィカルユーザーインターフェース)が関連付けられています。ただし、(バージョン1.7以降の)インストーラーでは、「コマンドラインクライアントツール」オプションを選択して、コマンドラインからsvnコマンド(svn commitやsvn updateなど)を呼び出すことができます。
インストーラーの「コマンドラインクライアントツール」オプションのスクリーンショットは次のとおりです。必ず選択してください。
svn upgrade
dでない限り、古い作業ディレクトリを使用しません。その後、1.6クライアントはそれを使用できなくなります。
TortoiseSVNには、TortoiseSVN GUIオートメーションに使用できるコマンドラインインターフェースがあり、通常のSubversionとは異なります。
TortoiseSVNのコマンドラインオプションに関する情報は、ドキュメント:
付録D. TortoiseSVNの自動化にあります。ここで使用する主なプログラムはTortoiseProc.exe
です。
しかし、上部のメモにはすでに次のように書かれています。
TortoiseSVNはGUIクライアントであり、この自動化ガイドでは、TortoiseSVNダイアログを表示してユーザー入力を収集する方法を説明しています。入力を必要としないスクリプトを作成する場合は、代わりに公式のSubversionコマンドラインクライアントを使用してください。
別のオプションは、Subversionバイナリをインストールすることです。Slik SVNは素晴らしいビルドです(そしてCollabnetのような登録は必要ありません)。TortoiseSVNの最近のバージョンには、インストールを選択した場合にコマンドラインクライアントも含まれています。
TortoiseSVN GUIをすでにインストールしていて、コマンドラインツールにアップグレードする方法を考えている場合の手順は次のとおりです...
コマンドサポートを使用するには、次の手順に従います。
環境変数でパスを定義します。
TortoiseProc.exeファイルへのパスを変数値に追加します。次に例を示します。
C:\ Program Files \ TortoiseSVN \ bin
TortoiseProcを登録したので、TortoiseSVNのドキュメントに従って使用できます。
例:
TortoiseProc.exe / command:commit /path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt "/ logmsg:"テストログメッセージ "/ closeonend:0
TortoiseProc.exe / command:update / path: "c:\ svn_wc \" / closeonend:0
TortoiseProc.exe / command:log /path:"c:\svn_wc\file1.txt "/ startrev:50 / endrev:60 / closeonend:0
PS「TortoiseProc」の代わりに「svn」のようなわかりやすい名前を使用するには、「TortoiseProc.exe」のディレクトリに「svn.bat」ファイルを配置します。svn.batの例があります:
TortoiseProc.exe %1 %2 %3
tsvn
プログラムについて説明する私の回答を参照してください(Warlockの回答の時点では存在していませんでした)。最近のWindowsバージョンでは、すべての引数を%*
(%1 %2 %3
... ではなく)として指定できます。
TortoiseSVNインストールプログラムを再度実行してsvnを有効にするには、[変更]を選択し(機能のインストール方法をユーザーが変更できるようにします)、[コマンドラインクライアントツール]をインストールします。
Control Panel\Programs\Programs and Features
Tortoise SVN を検索し、をクリックしてChange
、をクリックしModify
ます。
私の解決策は、DOSKEYを使用して、最も頻繁に使用するコマンドのエイリアスを設定することでした。
DOSKEY svc=TortoiseProc.exe /command:commit /path:.
DOSKEY svu=TortoiseProc.exe /command:update /path:.
DOSKEY svl=TortoiseProc.exe /command:log /path:.
DOSKEY svd=TortoiseProc.exe /command:diff /path:$*
Unixの。* rcファイルのようにコマンドプロンプトを開くたびに実行される.cmdファイルを設定する方法のヒントについては、Googleの「doskey persist」を参照してください。
svn
コマンドラインから通常ではなくTortoiseSVNを実際に呼び出す唯一の回答です。
TortoiseSVNとApache Subversionコマンドラインツールの両方をインストールできます。私は通常、Apache SVNツールをVisualSVNダウンロードサイトからインストールします:https : //www.visualsvn.com/downloads/
インストールしたら、Subversion \ binを設定したPATHに配置します。そうすれば、GUIを使用するときにTortoiseSVNを使用できるようになり、コマンドラインから使用する適切なSVNコマンドラインツールが手に入ります。
多くのTortoiseSVNユーザーが実際にsvn.exe
コマンドラインクライアントを探していたときに、間違ったコマンドラインツールを使用する原因となっている混乱があります。
コマンドラインからTortoiseSVNを使用するにはどうすればよいですか?
コマンドプロンプトからSubversionコマンドを実行する場合は、svn.exe
コマンドラインクライアントを実行する必要があります。TortoiseSVN 1.6.x以前のバージョンにはSVNコマンドラインツールが含まれていませんでしたが、最新バージョンには含まれています。
TortoiseSVNをインストールせずにSVNコマンドラインツールを取得する場合は、SVNバイナリ配布ページを確認するか、VisualSVNダウンロードページから最新バージョンをダウンロードしてください。
システムにSVNコマンドラインツールがインストールされているにもかかわらずエラーが発生'svn' is not recognized as an internal or external command
する場合は、%PATH%
環境変数を確認する必要があります。%PATH%
SVNツールディレクトリへのパスを含める必要があります。C:\Program Files (x86)\VisualSVN\bin
。
とは別にsvn.exe
、TortoiseSVNにはTortoiseProc.exe
コマンドプロンプトから呼び出すことができるものが付属しています。ほとんどの場合、このツールはGUI自動化にのみ使用されるため、このツールを使用する必要はありません。TortoiseProc.exe
SVNコマンドラインクライアントの代わりにはなりません。
Joeyが指摘したように、TortoiseSVNには独自のコマンドライン構文があります。残念ながら、慣れている場合は、かなり醜いですsvn
コマンドに現在の作業ディレクトリを無視するため、スクリプトを除いて、あまり使用できません。
コマンドライン構文をできるだけ忠実にtsvn
模倣し、svn
それに応じてTortoiseSVNを呼び出す小さなPythonプログラム()を作成しました。したがって、通常のコマンドラインツールの呼び出しとTortoiseSVNの呼び出しの違いt
は、最初は小さな文字になっています。
私のtsvn
プログラムはまだ完全ではありませんが、すでに有用です。チーズショップ(https://pypi.python.org/pypi/tsvn/)にあります
easy_install
またはがある場合はpip install
、単に指定しますtsvn
。それ以外の場合は、tarballをダウンロードして抽出し、含まれているsetup.py
インストールスクリプトを実行できます。解釈されているので、詳細に検査できます;-)
SVNコマンドを取得するための私の修正は、TortoiseSVNディレクトリから.exeファイルと.dllファイルをコピーし、それらをsystem32フォルダーに貼り付けることでした。
TortoiseSVNディレクトリからコマンドを実行し、作業ディレクトリのパスを各コマンドに追加することもできます。例えば:
C:\Program Files\TortoiseSVN\bin> svn st -v C:\checkout
パスにビンを追加すると、ファイルを複製せずに機能するはずですが、私には機能しませんでした。
'svn' is not recognized as an internal or external command