[svn] Subversion / TortoiseSVN에서 삭제 된 폴더를 “삭제 취소”하는 방법은 무엇입니까?

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

우리는 TortoiseSVN을 클라이언트로 사용하고, 저장소 브라우저로 이동하여 로그를 표시하면 작업 복사본의 유사한 대화 상자에서 볼 수있는 것과 유사한 “이 개정판의 변경 사항 되돌리기”와 같은 것이있을 것이라고 생각했습니다. 하지만 거기에는 그런 명령이 없습니다 …



답변

이전 버전에서 삭제 된 폴더를 다시 복사하십시오.

리포지토리 브라우저에서 HEAD (오른쪽 상단 모서리에 있음)라는 버튼을 클릭하여 폴더가 아직 존재하는 개정판을 표시 한 다음 해당 폴더를 마우스 오른쪽 버튼으로 클릭하고 “복사 대상 …”을 선택하고 경로를 입력합니다. 폴더를 다시 만들려는 경우 (아마도 텍스트 상자에 이미있는 동일한 경로).


답변

명령 줄 애호가를 위해 :

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

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

디렉토리가 개정 999에서 삭제되었음을 발견했다고 말하십시오 (btw : svn repo 브라우저로 개정 번호를 찾는 것이 더 쉬울 수 있음)

  • 개정 에서 1을 뺀 폴더를 복사합니다.

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

완료되었습니다!

귀하의 경우 이것은 다음과 같습니다.

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


답변

이 대답의 대부분은 어느 정도 작동하지만 정답은 Daniel의 것입니다. 역 병합을 수행하십시오. 이렇게하면 버전 기록을 유지할 수 있습니다.

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 합니다.

완료되었습니다


답변