Program Tip

Subversion에서 삭제 된 분기를 복원해야합니다.

programtip 2020. 11. 16. 22:02
반응형

Subversion에서 삭제 된 분기를 복원해야합니다.


Subversion 저장소의 작업 복사본 두 개, 트렁크 중 하나와 내가 만든 브랜치 중 하나가 있습니다.

실수로 저장소 브라우저에서 분기를 삭제했습니다. 브랜치를 복원하려면 어떻게합니까? 전체 저장소에 대한 가장 최근 커밋을 취소하는 방법이 있습니까?


사용하다:

svn cp [path to deleted branch]@[revision before delete] [new path]

예를 들면 :

svn cp svn://myrepo.com/svn/branches/2.0.5@1993 \
       svn://myrepo.com/svn/branches/2.0.5_restored

1993은 삭제 전 개정판입니다.

여기 에 좋은 문서가 있습니다 ...

@사용자 이름 에서 기호 를 이스케이프하는 방법이 있어야합니다 .


TortoiseSVN을 사용하는 경우 해결책은 다음과 같습니다.

  1. 저장소 브라우저에서 삭제 한 폴더의 상위 폴더 (예 : "branches")로 이동하십시오.
  2. 폴더를 마우스 오른쪽 버튼으로 클릭하고 "로그 표시"를 수행하십시오.
  3. 특정 분기 폴더를 삭제 한 개정을 찾습니다.
  4. 해당 개정 직전 개정을 선택하십시오.
  5. 마우스 오른쪽 버튼을 클릭하고 "저장소 찾아보기"를 선택합니다. 이제 분기를 삭제하기 직전 시점의 저장소 상태를보고 있습니다.
  6. 삭제 한 분기 폴더를 찾아 선택하고 마우스 오른쪽 단추로 클릭 한 다음 "복사 위치 ..."를 선택합니다.
  7. 이제 삭제 된 폴더를 새 이름 또는 동일한 이름으로 복사 할 수 있습니다.

마지막 개정판이 108이라고 가정합니다.

svn merge --revision 108:107
svn diff 
svn commit -m "Reverted revision 108"

병합에 소스 URL을 추가 할 수도 있습니다.

svn merge --revision 108:107 http://svn/repo/

스택 오버플로의 다른 곳 : TortoiseSVN에서 커밋 실행 취소


이 문제가 발생했지만 위의 명령이 작동하지 않았습니다. 한 일은 훨씬 쉬웠습니다. 제거하기 전에 한 개정판에서 분기를 확인했습니다.

제거 된 개정판은 9331입니다. 9330에 체크 아웃했습니다.

svn co https://svn.acme.com/svn/giantFlySwatterTargetingSystem/branches/bug1234@9330 restored

제가 원했던 쉬운 해결책이었습니다.


이것은 나를 위해 일했습니다.

svn cp --username your_user_name https : // path_to_your_repo / branches / deleted_branch_name @ last_revision_before_deletion https : // path_to_your_repo / branches / new_name_for_branch


또는 분기를 삭제 한 단일 커밋 인 경우 :

커밋을 되 돌린 다음 커밋

svn merge -c -REV .
svn commit -m "Reverting deletion of branch XYZ"

동일한 문제가 발생하여 SmartSVN (Enterprise 6.0.2)에서 다음과 같이 해결했습니다.

  • 트렁크 / HEAD에서보기 열기
  • 메뉴 리포지토리 호출 / 리포지토리 브라우저에서 열기 (삭제 된 브랜치는 브랜치 폴더에 없음)
  • 저장소 브라우저에서 메뉴 Repository / Show Revision ...을 호출합니다.
  • 삭제 직전에 개정을 선택하십시오 (삭제 된 분기가 분기 폴더에 다시 나타납니다).
  • 삭제 된 분기를 마우스 오른쪽 버튼으로 클릭하고 메뉴에서 복사를 선택한 다음 대상에 대해 동일한 경로를 입력합니다.

참고 URL : https://stackoverflow.com/questions/1568484/need-to-restore-a-deleted-branch-in-subversion

반응형