Subversion / TortoisesVN에서 삭제 된 폴더를 "취소"하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/2265369

문제

우리는 실수로 하나의 특정 태그를 삭제하려는 전력 저장소에서 '태그'폴더를 삭제했습니다. '태그'폴더를 되 찾는 가장 쉬운 방법은 무엇입니까?

우리는 TortoisesVN을 클라이언트로 사용하며 Repo 브라우저로 가서 로그를 표시 할 때 작업 사본에서 유사한 대화 상자에서 볼 수있는 것과 마찬가지로 "이 개정에서 변경 사항"과 같은 것이있을 것이라고 생각했습니다. 그러나 그러한 명령은 없습니다 ...

도움이 되었습니까?

해결책

삭제 된 폴더를 이전 개정판에서 다시 복사하면됩니다.

저장소 브라우저에서 헤드 라벨이 붙은 버튼 (오른쪽 상단 코너)을 클릭하여 폴더가 여전히 존재하는 개정판을 표시 한 다음 해당 폴더를 마우스 오른쪽 버튼으로 클릭하고 "복사 ..."를 선택하고 경로를 입력하십시오. 폴더가 다시 만들어지기를 원합니다 (아마도 이미 텍스트 상자에있는 것과 동일한 경로).

다른 팁

명령 줄 애호가 :

  • 먼저 삭제가 발생한 개정 번호를 찾으십시오.

    svn log -v http://svnserver/path/to/folderContainingDeletedFolder
    

디렉토리가 Revision 999에서 삭제되었다고 가정 해 봅시다 (BTW : SVN Repo 브라우저에서 개정 번호를 찾는 것이 더 쉽다는 것을 알 수 있음).

  • 개정에서 폴더를 복사하십시오 마이너스 1

    svn copy http://svnserver/path/to/folderContainingDeletedFolder/deletedFolder@998 http://svnserver/path/to/folderContainingDeletedFolder/deletedFolder -m "undeleted folder"
    

voilà 넌 끝났어!

귀하의 경우에는 다음과 같습니다.

    svn copy http://svnserver/project/tags@998 http://svnserver/project/tags -m "undeleted folder"

이 답변의 대부분은 어느 정도 작동하지만 정답은 다니엘입니다. 리버스 병합을 수행하십시오. 그렇게하면 버전 기록을 유지합니다.

svn merge -r R1:R2

여기서 R1은 귀하가있는 개정판이고 R2는 삭제 된 파일/폴더를 포함하는 개정입니다.

당신은해야합니다 리버스 병합.

그것을하는 방법에 대한 자세한 내용은 (그리고 SVN과 함께하고 싶거나 필요로하는 다른 모든 것) 공식 책을 사용할 수 있습니다. 온라인.

이 개정 후 나를 위해 일한 Raudi의 답변에서.

일부 SVN 클라이언트는 다음과 같이 폴더를 사용하는 대신 -r 개정 매개 변수를 사용하여 지정된 개정 번호가 필요할 수 있습니다.

svn copy svn://svnserver/project/tags svn://svnserver/project/tags **-r 998** -m "undeleted folder"

이동 Repository Browser 당신의 repository, 당신의 부모 폴더를 마우스 오른쪽 버튼으로 클릭하십시오 삭제 된 폴더 존재했다. 지금, Show Log 상위 폴더 중에서 삭제 작업을 커밋 한 이전 개정판을 선택하십시오. 목록이 있고 개정 정보에서 폴더를 마우스 오른쪽 버튼으로 클릭하고 Update to this Revision.

당신은 끝났습니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top