명령 행을 통해 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.