[첫화면으로]TortoiseSVN

마지막으로 [b]

4 번째 수정본
http://tortoisesvn.tigris.org/

Upload:ExplorerView1.png

MS 윈도우즈용 Subversion 클라이언트. 로컬에서 사용할 경우는 서버의 역할도 해 준다고 한다.

diff 출력

별도의 세팅을 하지 않은 상태에서는 매번 diff 를 실행하면 외장 diff 프로그램의 경로를 묻는다. 이 때 취소를 하면 기본적으로는 윈도우즈의 notepad.exe 가 실행되면서 unified diff 출력이 나온다. 이 방법은, 매번 취소를 한 번 해줘야 되는 것이 불편하고 (AnswerMe 경로 지정 창이 뜨지 않게 하는 방법을 아시는 분?) 소스 화일이 unix 화일 포맷일 경우는 줄바꿈이 제대로 되지 않는다.

setting 에 들어가서 Main->Diff viewer 를 따로 지정해 주면 unified diff 출력이 여기서 지정한 에디터에 나오게 된다. ViEditor 등을 사용하면 색상 지원이 되므로 편하다.

setting 에서 Main->External diff 지정하면 지정한 프로그램을 실행하여 diff 출력을 생성한다. "{{{지정한프로그램 기존화일 수정한화일}}}" 을 커맨드라인에서 실행하는 형식으로 보인다. 따라서 해당 프로그램이 커맨드라인 인자를 받을 수 있어야 한다. 그런데 이 경우, GNU diff 같은 프로그램을 사용하면 diff 출력이 도스창에 출력되고 출력이 끝나자마자 창이 사라져 버린다. 따라서 GUI를 제공하는 diff 프로그램을 찾아야 한다. (External diff 에 GNU diff 를, Diff viewer 에 gvim 을 지정해 보았으나 실패하였다. diff 와 viewer 를 호출하는 정확한 방법을 알아야 할 듯)

윈도우즈에서 ViEditor 를 사용한다면 gvim + GNU diff 조합을 추천. (사실은 해 본 게 이것밖에 없음)
 * diff.exe 가 있는 경로를 PATH 환경변수에 추가한다.
 * vimdiff.bat 배치화일을 만들어 그 내용을 {{{gvim -d %1 %2}}} 라 한다. (gvim.exe 의 전체 경로를 batch 화일에 적어주던가, gvim.exe 의 경로를 PATH 에 추가하던가 한다)
 * TortoiseSVN 의 External diff 를 vimdiff.bat 를 선택해 준다. (여기서 바로 {{{gvim.exe -d}}} 라고 지정해 줄 수 있다면 굳이 위의 배치화일을 만들 필요가 없을 텐데, 실제 해 보면 제대로 되지 않는다)
위와 같이 하면, svn diff 를 하면 {{{gvim -d 기존화일 현재화일}}}이 실행되고, gvim 은 다시 내부적으로 {{{diff 기존화일 현재화일 > diff출력}}}을 실행하여 그 결과를 다음 그림과 같이 보여준다

Upload:vimdiff.png

위 그림을 보면 수정, 추가, 삭제된 부분이 서로 다른 색상으로 표시되고, 양쪽이 동일한 부분은 ViEditor 의 folding 기능 (vim 6.* 대 버전부터 지원) 을 사용하여 접혀 있는 것을 볼 수 있다. 기본 출력인 unified diff 보다는 훨씬 보기 좋다.


컴퓨터분류

이 수정본 편집일: 2003-12-9 7:54 pm (변경사항 [d])
2652 hits | Permalink | 변경내역 보기 [h] | 현재 수정본 보기 | 4 번째 수정본 소스 보기