하나의 특정 태그 만 삭제하려는 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 copy
.
이 개정 후 나를 위해 일한 raudi의 답변에 이어.
일부 svn 클라이언트는 다음과 같이 폴더 뒤에 @를 사용하는 대신 -r 개정 매개 변수를 사용하여 지정된 개정 번호가 필요할 수 있습니다.
svn copy svn://svnserver/project/tags svn://svnserver/project/tags **-r 998** -m "undeleted folder"
-r <revision>
작동합니다. 그러나 폴더를 직접 복원하려는 경우을 사용해야 @<revision>
합니다. 그렇지 않으면 파일을 찾을 수 없다는 메시지가 표시됩니다.
고토 Repository Browser
당신의이 repository
, 당신의 부모 폴더를 마우스 오른쪽 버튼으로 클릭 삭제 폴더가 존재했다. 이제 Show Log
상위 폴더에서 삭제 작업을 커밋 한 이전 개정을 선택합니다. 목록이 표시되고 개정 정보에서 폴더를 마우스 오른쪽 버튼으로 클릭하고Update to this Revision
합니다.
완료되었습니다