2010-02-15 8 views
5

새 부모에게 git 스타일의 SVN 브랜치를 리베이스 할 수있는 도구가 있습니까?git 스타일의 브랜치를 리베이스하는 SVN 도구

그래서, 다음과 같은 상황에서, 나는 기능 분기를 만들고, 커밋 내가 복사하는 트렁크 도구를 찾고 있어요 트렁크

   E---F---G Feature 
      /
A---B---C---D--H--I trunk 

에이 있고, 하나 커밋을 하나씩 적용 존재할 경우 모든 충돌을 해결할 수있게하지만 - 각각의 커밋은 동일한 커밋 메시지를 유지하지만 여전히 다른 커밋입니다.

    E'---F'---G' Feature 
       /
A---B---C---D--H--I trunk 

그래서 그 E에서 E 다를 것 '은이 경우 E에서 충돌을 일으키는 E의 경우를 제외하고, E와 동일한 변화를 저지 할 것이다'E 커밋 '해결 충돌을 가지고 그리고 같은 커밋 메시지를 가지고있다.

트렁크를 최신 상태로 유지하는데 도움이되기를 원한다. svnmerge.py/mergeinfo 방법은 도움이되지 않는다. 당신은 다시 트렁크에 병합합니다.

답변

3

sv svn 유틸리티에 rebase command이 있습니다. 나는 새로운 지류를 만들기 때문에 그것을 사용한 적이 없다.

+1

SVN이 어렵게 만듭니다. 당신은 포스트 단계로서 미리 리다이징 된 브랜치를 삭제하고 리베이스 된 버전으로 대체 할 수 있습니다. 나는 로컬 변경 사항을 가진 누군가가 업데이트하려고하자마자 svn이 폭발 할 것이라고 가정합니다. –

0

트렁크의 변경 사항을 최신 상태로 유지하려면 svn merge을 사용하여 트렁크를 분기에 병합하면됩니다.

+0

그 작업 흐름은 힘내,'git merge'에서 직접적으로 동일합니다. 그는'git rebase'에 Subversion에 상응하는 것이 있는지 묻고 있습니다. –

+3

네, 그럴 수도 있습니다. git으로 작업 할 때 (실제로 git에서는 기존 SVN 저장소를 사용할 수 있음을 알고 있습니다.) 실제로 그렇게하는 것이 최선일 수 있습니다. 그러나 SVN으로 작업 할 때 트렁크의 최신 변경 내용으로 기존 SVN 브랜치를 최신 상태로 유지하는 방법은 내가 작성한 것을 수행하는 것입니다. 이것이 내가 그런 방식으로 작성한 이유입니다. – sbi

+0

@ 벤 전복에 상응하는 도구가 없다는 것을 알고 있습니다. 그러나 효과적으로 rebased 된 타사 도구가 있는지 궁금합니다. – timmow

0

나는 오랜 시간, 무거운 SVN 사용자이지만 능력을 지점에 리트리브 할 수있는 능력은 나에게 적어도, 그것은 가장 중요한 특징 인 것 같다. 불행하게도 모든 광택있는 git 마케팅 브로셔는 분산 된 저장소 '기능'에 중점을 두는 것처럼 보입니다 - 우리 시나리오에서는 그다지 중요하지 않습니다.

관련 문제