명령 행을 통해 TortoiseSVN 사용


253

커맨드 라인 SVN 옵션을 사용하고 싶습니다. TortoiseSVN을 사용하고 여러 명령을 실행하면 다음 오류가 발생합니다.

'svn'은 내부 또는 외부 명령으로 인식되지 않습니다

나는 명령을 사용했다

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

환경 변수 또는 다른 것을 추가해야한다고 생각합니다.

TortoiseSVN을 명령 줄에서 어떻게해야합니까?


4
slik subversion을 제안 합니다. 그리고 설치 후 bin 디렉토리를 경로에 추가하십시오. -bhups
bhups

3
TortoiseSVN은 아마도 가장 많이 사용되는 Windows GUI SVN 클라이언트이며 철저하게 문서화되어 있습니다. 참조 명령 줄 구현이 아니기 때문에 의사 클라이언트라고하지 않습니다.
Joey

18
최신 버전의 TortoiseSVN (이 글의 1.7.1)에는 설치 중에 명령 행 도구를위한 옵션이 있습니다. 기본적으로 설정되어 있지 않지만 svn에 대한 표준 명령 줄 파일을 설치합니다. 따라서 더 이상 Silk와 같은 별도의 서브 버전 패키지를 설치할 필요가 없습니다.
vee

1
참고로 Slik svn을 사용하고 " 'svn'is not unknown ..."오류가 발생하면 시스템 속성 대화 상자를 열어야 할 수도 있습니다. Slik이 Path 변수에 올바른 항목을 추가하는 동안 변수를 활성화하려면 편집 및 '확인'을 클릭해야합니다 (변경하지 않은 경우에도). 적어도 그것은 Windows Vista를 사용한 경험이었습니다. 그렇게 한 후에 Windows는 경로의 변경 사항을 인식했으며 내 svn 명령이 인식되었습니다.
Jesse

1
환경 변수에 SlikSvn / bin 경로를 추가했지만 여전히이 오류가 발생합니다 ...
Lion789

답변:


463

기본적으로 TortoiseSVN에는 항상 연결된 GUI (Graphical User Interface)가 있습니다. 그러나 설치 프로그램 (버전 1.7 이상)에서는 "명령 행 클라이언트 도구"옵션을 선택하여 명령 행에서 svn 명령 (svn commit 및 svn update)을 호출 할 수 있습니다.

다음은 설치 프로그램의 "명령 줄 클라이언트 도구"옵션의 스크린 샷입니다. 선택해야합니다.

설치 방법 -TortoiseSvn-CommandLineTools


52
개인적으로, 나는이 답변을 허용 된 것보다 선호합니다 : 보조 설치 없음, 표준 SVN 명령 행에 대한 전체 액세스.
Haroldo_OK

2
또한 명령 줄 도구 버전이 TortoiseSVN 버전과 동기화되어 있다는 추가 이점이 있습니다.
the_mandrill

4
...보다 자세하게는 Subversion의 작업 디렉토리 형식이 몇 번 변경되었습니다 (예 : 버전 1.7 및 1.8). 1.7 클라이언트는 svn upgraded 가 아닌 한 이전 작업 디렉토리를 사용하지 않습니다 . 그 후에 1.6 클라이언트는 더 이상 사용할 수 없습니다.
Tobias

38
팁으로, Tortoise가 이미 설치되어 있으면 다시 설치할 필요가 없습니다. 원본 설치 관리자 .msi 파일을 열기 만하면됩니다. "제거"를 선택하는 대신 "수정"을 선택할 수 있습니다. 아무것도 엉망으로 만들지 않고 현재 Tortoise 설치를 업데이트합니다.
Trevor

5
팁으로, Tortoise가 이미 설치되어 있고 .msi 파일이없는 경우 제어판-> 프로그램 및 기능으로 이동 한 다음 TortoiseSVN-> 수정을 선택할 수 있습니다.
zvi

131

TortoiseSVN에는 TortoiseSVN GUI 자동화에 사용할 수있는 명령 줄 인터페이스가 있으며 일반 Subversion과 다릅니다.

TortoiseSVN의 명령 행 옵션에 대한 정보는 부록 D. TortoiseSVN 자동화 문서에서 찾을 수 있습니다 . 여기서 작업 할 주요 프로그램은 TortoiseProc.exe입니다.

그러나 맨 위에있는 메모는 이미 다음과 같이 말합니다.

TortoiseSVN은 GUI 클라이언트이며이 자동화 안내서는 TortoiseSVN 대화 상자가 사용자 입력을 수집하도록 표시하는 방법을 보여줍니다. 입력이 필요없는 스크립트를 작성하려면 공식 Subversion 명령 행 클라이언트를 대신 사용해야합니다.

또 다른 옵션은 Subversion 바이너리를 설치하는 것입니다. Slik SVN 은 훌륭한 빌드이며 Collabnet과 같은 등록이 필요하지 않습니다. 최신 버전의 TortoiseSVN에는 설치하도록 선택한 경우 명령 줄 클라이언트도 포함됩니다.


2
이것에 추가하기 만하면 거북이가 경로에 있는지 확인하십시오. 그렇지 않으면 아무것도 작동하지 않습니다.
Thomas Owens

2
이 답변을 바탕으로 두 번째 명령 줄 인터페이스를 배우는 대신 실제 SVN 명령 줄 클라이언트를 설치하는 것이 가장 좋습니다. 그래도 어떻게 해야할지 모르겠다.
jprete

2
토마스 : 기본적으로 TortoiseSVN과 Slik SVN은 경로를 적절히 변경합니다.
Joey

23
이 솔루션은 구식이되었습니다. TortosieSVN 설치 프로그램에는 이제 명령 줄 도구가 포함되어 있습니다.
Josh

1
PATH 환경 변수를 변경하기 위해 설치 후 재부팅해야 할 수도 있습니다.
Oliver Bock

91

TortoiseSVN GUI를 이미 설치했고 명령 줄 도구로 업그레이드하는 방법이 궁금한 경우 다음 단계를 수행하십시오.

  1. Windows 제어판 → 프로그램 및 기능 (Windows 7 이상)으로 이동
  2. TortoiseSVN을 찾아 클릭하십시오.
  3. 사용 가능한 옵션에서 "변경"을 선택하십시오.
  4. 추가 단계는이 이미지를 참조하십시오.

    TortoiseSVN 명령 줄 활성화

  5. 명령 행 클라이언트 도구를 완료 한 후 명령 프롬프트를 열고 입력 svn help하여 성공적인 설치를 확인하십시오.


답변이 아직 형식화되지 않았습니다. 그리고 원치 않는 정보가있었습니다. 그는 당신의 답변을 올바르게 형식화하고 편집했습니다. 자세한 내용은 도움말 센터를 참조하십시오. ;)
Lucky

Win10는 "앱 및 기능"입니다 ..하지만 아마 분명
슬림

그래, 믿지마 편집 내용이 합법적인지 여부를 메타로 질문하십시오. 그는 답변의 형식을 지정할뿐만 아니라 답변에 필요하지 않은 원치 않는 정보도 제거했습니다. 이것을 중재라고합니다. 그리고 담당자가 많으면 일반적으로 검토 및 제공을 통해 사이트를 정리하므로 도움말 센터를 찾아 보라고 제안합니다. 그러나 당신은 지식을 얻는 대신에 논쟁하기를 원합니다. 행운을 빕니다 .😉
운이 좋은

예, 사실 저는 지식을 나누는 데 관심이 있으며 누군가의 일을 주장하고 설교하지 않습니다. 또한 나는 높은 담당자의 맹인이 아닙니다.
Devendra Vaja

명령 줄을 활성화하는 동안 다운로드해야하는 응용 프로그램 경로를 요청합니다. 경로 : osdn.net/projects/tortoisesvn/storage/1.12.0/Application/…
조시

27

명령 지원을 사용하려면 다음 단계를 수행해야합니다.

  1. 환경 변수에서 경로를 정의하십시오.

    • ' 시스템 속성 '을여십시오;
    • ' 고급 ' 탭 에서 ' 환경 변수 '버튼을 클릭하십시오
    • ' 시스템 변수 ' 섹션 에서 ' 경로 '옵션을 선택하고 ' 편집 '을 클릭하십시오.
    • TortoiseProc.exe 파일 의 경로에 변수 값을 추가하십시오 ( 예 :

      C : \ Program Files \ TortoiseSVN \ bin

  2. 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... 대신 ) 로 지정할 수 있습니다.
Tobias

10

svn을 활성화하려면 TortoiseSVN 설치 프로그램을 다시 실행하려면 "수정"(사용자가 기능 설치 방식을 변경할 수 있음)을 선택하고 "명령 줄 클라이언트 도구"를 설치하십시오.


"수정"옵션이 어디에 있는지 궁금해하는 분들을 위해-Tortoise SVN을 다시 설치해보십시오
maya

@maya 이미 설치 한 경우 제거하거나 다시 설치하지 마십시오. Control Panel\Programs\Programs and FeaturesTortoise SVN으로 이동 하여을 클릭 Change한 다음을 클릭하십시오 Modify.
Lucky

9

내 솔루션은 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"를 참조하십시오.


큰! 이것은 실제로 평범하지 않은 TortoiseSVN을 svn명령 줄에서 호출하는 유일한 대답입니다 .
Warlike Chimpanzee

4

TortoiseSVN과 Apache Subversion 명령 줄 도구를 모두 설치할 수 있습니다. 일반적으로 VisualSVN 다운로드 사이트 ( https://www.visualsvn.com/downloads/) 에서 Apache SVN 도구를 설치합니다.

설치되면 Subversion \ bin을 설정된 PATH에 넣습니다. 그러면 GUI를 사용하려고 할 때 TortoiseSVN을 사용할 수 있으며 명령 줄에서 사용할 적절한 SVN 명령 줄 도구가 있습니다.


3

많은 TortoiseSVN 사용자가 실제로 svn.exe명령 행 클라이언트를 찾을 때 잘못된 명령 행 도구를 사용하게하는 혼동이 있습니다.

TortoiseSVN을 명령 줄에서 어떻게해야합니까?

svn.exe

명령 프롬프트에서 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.

TortoiseProc.exe

이외에도 svn.exeTortoiseSVN은 TortoiseProc.exe명령 프롬프트에서 호출 할 수 있습니다. 대부분의 경우이 도구는 GUI 자동화에만 사용해야하므로이 도구를 사용할 필요 가 없습니다 . TortoiseProc.exeSVN 명령 줄 클라이언트를 대체하지 않습니다.


2

Joey가 지적했듯이 TortoiseSVN에는 자체 명령 줄 구문이 있습니다. 불행히도 svn명령 에 익숙 하고 현재 작업 디렉토리를 무시하면 스크립팅을 제외하고는 매우 유용하지 않습니다.

커맨드 라인 구문을 가능한 tsvn한 모방하고 svnTortoiseSVN을 호출 하는 작은 Python 프로그램 ( )을 만들었습니다 . 따라서 일반 명령 줄 도구를 호출하는 것과 TortoiseSVN을 호출하는 것의 차이 t는 처음에 작은 글자 로 줄어 듭니다 .

tsvn프로그램은 아직 완성되지 않았지만 이미 유용합니다. 치즈 샵에서 찾을 수 있습니다 ( https://pypi.python.org/pypi/tsvn/ )


파이썬에 익숙하지 않은 사람들을 위해 : 최신 파이썬 2.x 인터프리터가 필요합니다. 당신이있는 경우 easy_install또는 pip install단지 지정 tsvn; 그렇지 않으면 tarball을 다운로드하여 압축을 풀고 포함 된 setup.py설치 스크립트를 실행할 수 있습니다 . 해석되기 때문에 자세히 검사 할 수 있습니다 ;-)
Tobias

2

얼마 후이 해결 방법을 사용했습니다 ...

(.bat 파일에서)

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

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

2

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
Suraj M

0

"SVN 명령 줄 도구"를 선택하면 다음과 같이됩니다.

여기에 이미지 설명을 입력하십시오


5
이것이 바람직한 결과이지만,이 답변은 실제로 이것을 달성하는 방법을 알려주지 않습니다.
BogdanBiv
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.