Ich möchte Befehlszeilen-SVN-Optionen verwenden. Ich verwende TortoiseSVN, führe mehrere Befehle aus und erhalte die folgende Fehlermeldung.
'svn' wird nicht als interner oder externer Befehl erkannt
Ich habe den Befehl benutzt
svn checkout [-N] [--ignore-externals] [-r rev] URL PATH
Ich denke, ich sollte eine Umgebungsvariable oder etwas anderes hinzufügen.
Was soll ich tun oder kann TortoiseSVN nicht über die Befehlszeile verwendet werden?
svn
tortoisesvn
Nachtwanderer
quelle
quelle
Antworten:
Standardmäßig ist TortoiseSVN immer eine grafische Benutzeroberfläche (GUI) zugeordnet. Im Installationsprogramm (ab Version 1.7) können Sie jedoch die Option "Befehlszeilen-Client-Tools" auswählen, um svn-Befehle (wie svn commit und svn update) über die Befehlszeile aufzurufen.
Hier ist ein Screenshot der Option "Befehlszeilen-Client-Tools" im Installationsprogramm. Sie müssen sicherstellen, dass Sie sie auswählen:
quelle
svn upgrade
d; Danach kann ein 1.6-Client es nicht mehr verwenden.TortoiseSVN verfügt über eine Befehlszeilenschnittstelle, die für die Automatisierung der TortoiseSVN-Benutzeroberfläche verwendet werden kann und sich von der normalen Subversion unterscheidet.
Informationen zu den Befehlszeilenoptionen von TortoiseSVN finden Sie in der Dokumentation: Anhang D. Automatisieren von TortoiseSVN . Das Hauptprogramm, mit dem hier gearbeitet werden soll, ist
TortoiseProc.exe
.Aber eine Notiz ganz oben sagt schon:
Eine andere Möglichkeit wäre, dass Sie die Subversion-Binärdateien installieren. Slik SVN ist ein netter Build (und erfordert keine Registrierung wie Collabnet). Neuere Versionen von TortoiseSVN enthalten auch den Befehlszeilenclient, wenn Sie ihn installieren möchten.
quelle
Falls Sie die TortoiseSVN-Benutzeroberfläche bereits installiert haben und sich fragen, wie Sie ein Upgrade auf Befehlszeilentools durchführen können, gehen Sie wie folgt vor ...
Weitere Schritte finden Sie in diesem Bild.
Öffnen Sie nach Abschluss der Befehlszeilen-Client-Tools eine Eingabeaufforderung und geben Sie ein
svn help
, um die erfolgreiche Installation zu überprüfen.quelle
Um die Befehlsunterstützung zu verwenden, sollten Sie die folgenden Schritte ausführen:
Pfad in Umgebungsvariablen definieren:
Fügen Sie den Variablenwert mit dem Pfad zur TortoiseProc.exe- Datei hinzu, zum Beispiel:
C: \ Programme \ TortoiseSVN \ bin
Da Sie TortoiseProc registriert haben , können Sie es gemäß der TortoiseSVN- Dokumentation verwenden .
Beispiele:
TortoiseProc.exe / command: commit /path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt "/ logmsg:" test log message "/ closeonend: 0
TortoiseProc.exe / Befehl: Update / Pfad: "c: \ svn_wc \" / closeonend: 0
TortoiseProc.exe / Befehl: log /path:"c:\svn_wc\file1.txt "/ startrev: 50 / endrev: 60 / closeonend: 0
PS Um einen Anzeigenamen wie 'svn' anstelle von 'TortoiseProc' zu verwenden, platzieren Sie die Datei 'svn.bat' im Verzeichnis von 'TortoiseProc.exe'. Es gibt ein Beispiel für svn.bat:
quelle
tsvn
Programm berichtet (das zum Zeitpunkt der Antwort von Warlock noch nicht existierte). In neueren Windows-Versionen können alle Argumente als%*
(anstelle von%1 %2 %3
...) angegeben werden.Um svn zu aktivieren, führen Sie das TortoiseSVN-Installationsprogramm erneut aus, wählen Sie "Ändern" (Ermöglicht Benutzern das Ändern der Art und Weise, wie Funktionen installiert werden) und installieren Sie "Befehlszeilen-Client-Tools".
quelle
Control Panel\Programs\Programs and Features
Suche nach Tortoise SVN und klickenChange
Sie auf und dann aufModify
.Meine Lösung bestand darin, mit DOSKEY einige Aliase für die Befehle einzurichten, die ich am häufigsten verwende:
Google "doskey persist" bietet Tipps zum Einrichten einer .cmd-Datei, die jedes Mal ausgeführt wird, wenn Sie die Eingabeaufforderung wie eine. * RC-Datei unter Unix öffnen.
quelle
svn
über die Befehlszeile aufruft, nicht gewöhnlich .Sie können sowohl TortoiseSVN als auch die Apache Subversion-Befehlszeilentools installieren. Normalerweise installiere ich die Apache SVN-Tools von der VisualSVN-Download-Site: https://www.visualsvn.com/downloads/
Platzieren Sie nach der Installation den Subversion \ bin in Ihrem festgelegten Pfad. Dann können Sie TortoiseSVN verwenden, wenn Sie die GUI verwenden möchten, und Sie haben die richtigen SVN-Befehlszeilentools, die Sie über die Befehlszeile verwenden können.
quelle
Es gibt eine Verwirrung, die dazu führt, dass viele TortoiseSVN-Benutzer die falschen Befehlszeilentools verwenden, wenn sie tatsächlich nach einem
svn.exe
Befehlszeilenclient suchen .svn.exe
Wenn Sie Subversion-Befehle an der Eingabeaufforderung ausführen möchten, sollten Sie den
svn.exe
Befehlszeilenclient ausführen . TortoiseSVN 1.6.x und ältere Versionen enthielten keine SVN-Befehlszeilentools, moderne Versionen jedoch.Wenn Sie SVN-Befehlszeilentools erhalten möchten, ohne TortoiseSVN installieren zu müssen, überprüfen Sie die Seite mit den SVN-Binärverteilungen oder laden Sie einfach die neueste Version von der VisualSVN-Downloadseite herunter .
Wenn auf Ihrem System SVN-Befehlszeilentools installiert sind, der Fehler jedoch weiterhin angezeigt wird
'svn' is not recognized as an internal or external command
, sollten Sie die%PATH%
Umgebungsvariable überprüfen .%PATH%
muss den Pfad zum SVN-Tools-Verzeichnis enthalten, zC:\Program Files (x86)\VisualSVN\bin
.TortoiseProc.exe
Abgesehen davon
svn.exe
wird TortoiseSVN mitgeliefertTortoiseProc.exe
, das über die Eingabeaufforderung aufgerufen werden kann. In den meisten Fällen müssen Sie nicht brauchen , um dieses Tool zu verwenden, da es nur für die GUI - Automatisierung verwendet werden soll.TortoiseProc.exe
ist kein Ersatz für den SVN-Befehlszeilenclient.quelle
Wie Joey betonte, verfügt TortoiseSVN über eine eigene Befehlszeilensyntax. Leider ist es ziemlich hässlich, wenn Sie an
svn
Befehle gewöhnt sind, und es ignoriert das aktuelle Arbeitsverzeichnis, daher ist es nicht sehr brauchbar - außer für Skripte.Ich habe ein kleines Python-Programm (
tsvn
) erstellt, das diesvn
Befehlszeilensyntax so genau wie möglich nachahmt und TortoiseSVN entsprechend aufruft. Daher wird der Unterschied zwischen dem Aufrufen der normalen Befehlszeilentools und dem Aufrufen von TortoiseSVN zut
Beginn auf einen kleinen Buchstaben reduziert .Mein
tsvn
Programm ist noch nicht vollständig, aber bereits nützlich. Es kann im Cheeseshop gefunden werden ( https://pypi.python.org/pypi/tsvn/ )quelle
easy_install
oder habenpip install
, geben Sie einfach antsvn
; Andernfalls können Sie den Tarball herunterladen und extrahieren und das enthaltenesetup.py
Installationsskript ausführen . Da es interpretiert wird, können Sie es im Detail überprüfen ;-)Nach einiger Zeit habe ich diese Problemumgehung verwendet ...
(in der .bat-Datei)
quelle
Meine Lösung zum Abrufen von SVN-Befehlen bestand darin, EXE- und DLL-Dateien aus dem TortoiseSVN-Verzeichnis zu kopieren und in den Ordner system32 einzufügen.
Sie können den Befehl auch über das TortoiseSVN-Verzeichnis ausführen und jedem Befehl den Pfad des Arbeitsverzeichnisses hinzufügen. Beispielsweise:
Das Hinzufügen des Bin zum Pfad sollte funktionieren, ohne die Dateien zu duplizieren, aber es hat bei mir nicht funktioniert.
quelle
'svn' is not recognized as an internal or external command
Nach Auswahl von "SVN-Befehlszeilentools" sieht es folgendermaßen aus:
quelle