SVN 파일의 이전 버전을 보려면 어떻게합니까?


156

이제 일부 논리가 누락 된 SVN 파일이 있으므로 필요한 논리가있는 시간으로 약 40 수정본으로 돌아 가야합니다. 명령 줄에서 파일의 diff를 보려고 시도하는 것 외에 ( 읽기가 매우 어렵습니다 ), 해당 파일의 사본을 검토하여 부품을 복구하기 위해 연구 할 수있는 방법이 있습니까?

답변:


237

이전 버전으로 업데이트 할 수 있습니다.

svn update -r 666 file

또는 파일을 직접 볼 수 있습니다.

svn cat -r 666 file | less

13
svn cat -r 666 file | lessvim으로 읽을 수 있도록 완벽합니다!
Xeoncross

4
@sillyMunky 사용해보십시오 svn cat | vim -. vim의 구문 강조가 자동으로 시작되지 않으면 :set syntax=java(또는 다른 언어) 수행하십시오.
John Kugelman

1
정말 고마워 John, 실제로 데비안을 사용하고 있으며 'source-highlight'라는 멋진 구문 강조 패키지가 있으므로 구문 강조를 자동으로 가져올 수 없습니다 (실제로 구별하기 위해 이것을 별칭으로 지정합니다).
sillyMunky

2
P : 666 파일 -r svn의 고양이> file_666.js 당신은 전체 파일을보고 싶은 경우
파리 잣 Kalia

또는 bash를 사용하는 경우 vim +set\ ft=<FILETYPE> <( svn cat -r <REV> <FILE> )
h4unt3r

5

현재 작업 개정판의 파일을 다른 개정판의 동일한 파일과 비교하는 것도 흥미 롭습니다.

다음과 같이 할 수 있습니다 :

$ svn diff -r34 file


1

개정판을 보는 가장 좋은 방법은 쉽게 사용할 수있는 프로그램 / 앱을 사용하는 것입니다. 나는 trac를 사용하고 싶습니다 : http://trac.edgewall.org/wiki/TracSubversion

그것은 훌륭한 svn 브라우저를 제공하며 실제로 개정판을 쉽게 돌아갈 수있게합니다.

확인하려는 특정 수정본 하나에 대해이를 설정하는 것은 약간의 과잉 일 수 있지만 나중에이 작업을 많이 수행 할 경우 유용 할 수 있습니다.


1

최신 버전의 Subclipse 를 사용하면 cmd 프롬프트를 사용하지 않고도 실제로 볼 수 있습니다. 파일에서 마우스 오른쪽 버튼을 클릭하고 => 팀 => 다른 지점 / 태그 / 수정으로 전환하십시오. 개정판 필드 외에도 select를 클릭하면 해당 파일의 모든 버전이 표시됩니다.


1

"그 파일의 사본을 얻는 방법"에 대한 질문에 직접 대답하려면 :

svn cat -r 666 file > file_r666

그런 다음 file_r666뷰어 또는 비교 프로그램으로 새로 만든 것을 볼 수 있습니다. 예 :

kompare file_r666 file

차이점을 잘 보여줍니다.

허용 된 답변의 명령이 실제로 파일의 사본을 제공 svn cat -r 666 file | vim하지 않으며 시스템에서 작동하지 않기 때문에 답변을 게시했습니다 ( Vim: Error reading input, exiting...)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.