2010-11-19 2 views
2

을 커밋SVN은 diff 목록은 내가 무엇을 찾고 있어요 것은

svn diff a b --list_commits 

예 :

훨씬 더 명확히 등

------------------------------------------------------------------------ 
rXXXXX | user | 2010-11-16 14:28:28 +0100 (Tue, 16 Nov 2010) | A line 

Comment Q 
------------------------------------------------------------------------ 
rXXXXZ | user | 2010-11-16 14:28:28 +0100 (Tue, 16 Nov 2010) | B line 

Comment W 
------------------------------------------------------------------------ 
rXXXXY | user | 2010-11-16 14:28:28 +0100 (Tue, 16 Nov 2010) | C line 

Comment E 

.... (힘내 및 SVN 너무 근본적 다르다.)로 판독 될 수

git log master..branch 

구하는 현재 분기와 마스터 분기 간의 변경 목록

+3

당신이 뭘하고 있는지 명확하지 않습니다. 기대하는 결과물의 예를 들려 줄 수 있습니까? –

답변

0

try svn2cl 브랜치 (또는 트렁크)에서 리비전에 지정하면 찾고있는 로그가 생성됩니다.

http://arthurdejong.org/svn2cl/

+0

문제는이 포트가 이미 병합 된 백 포트의 수를 차지하지 않는다는 것입니다. 예 : version1은 트렁크에서 분기되고, A, B 및 C는 트렁크에 추가됩니다. B가 이제 버전 1로 백 포트되어 있습니다. 이제 버전 1에 A 및 C가 있음을 나타내는 내용이 필요합니다. – rib

0

svn mergeinfo --show-revs eligible ^/trunk ^/branches/foo 같은 명령은 당신에게 당신이 찾고있는 정보를 제공 할 수 있습니다. the manual에서 볼 수 있듯이 리비전 번호 목록이 인쇄됩니다. 일부 스크립트를 사용하여 이들을 svn log에 전달하여 원하는 출력을 얻을 수 있습니다.

svn mergeinfogit log보다 덜 신뢰할 수 있습니다. 내 경험에 svn 1.6, 병합 경우에만 ^/trunk^/branches/foo에서 발생하는 것이 좋습니다. 합병이 더 복잡한 경우 (예 : 양방향 또는 세 번째 지점에서 trunkfoo까지 또는 하위 디렉토리까지) svn은 혼란 스러울 수 있으며 지점 간 차이를 과장 할 수 있습니다 (즉, 수정 사항이 실제로 그들이 병합되었을 때). 때때로 혼란은 hacks like this에 의해 해결 될 수 있습니다.

+0

"($ svn mergeinfo --show-revs 적격 한 트렁크 브랜치/X); svn log - $ X trunk; done"을 실행하면 올바른 병합 작업을 수행 한 것으로 간주됩니다. 하지만 나는 50 %가 합병되지는 않지만 커밋과 함께 siutaion에있다. 그래서 이것은 내 테스트 케이스에서 많은, 제안에 2-3 시간을 준다. 그러나 나는 이것이 우리가 svn에서 기대할 수있는 최선이라고 생각한다. – rib

관련 문제