커맨드 라인 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 (Graphical User Interface)가 있습니다. 그러나 설치 프로그램 (버전 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
... 대신 ) 로 지정할 수 있습니다.
svn을 활성화하려면 TortoiseSVN 설치 프로그램을 다시 실행하려면 "수정"(사용자가 기능 설치 방식을 변경할 수 있음)을 선택하고 "명령 줄 클라이언트 도구"를 설치하십시오.
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:$*
유닉스에서. * rc 파일처럼 명령 프롬프트를 열 때마다 실행되는 .cmd 파일을 설정하는 방법에 대한 팁은 Google "doskey persist"를 참조하십시오.
svn
명령 줄에서 호출하는 유일한 대답입니다 .
TortoiseSVN과 Apache Subversion 명령 줄 도구를 모두 설치할 수 있습니다. 일반적으로 VisualSVN 다운로드 사이트 ( https://www.visualsvn.com/downloads/) 에서 Apache SVN 도구를 설치합니다.
설치되면 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
bin을 경로에 추가하면 파일을 복제하지 않고 작동하지만 작동하지 않습니다.
'svn' is not recognized as an internal or external command