programing tip

SVN은 커밋 전에 삭제를 취소합니다.

itbloger 2020. 6. 28. 19:12
반응형

SVN은 커밋 전에 삭제를 취소합니다.


SVN 작업 복사본에서 디렉토리를 삭제했지만 아직 커밋하지 않은 경우 되돌릴 방법이 확실하지 않습니다. "svn undo d"를 입력 할 때 "svn undo delete before commit"을 일반적인 쿼리로 제안하지만 검색 결과는 도움이되지 않습니다.

편집 : Subversion 1.4.4에서 작동하는 솔루션을 원합니다


svn revert deletedDirectory

svn revert명령에 대한 설명서다음과 같습니다 .


편집하다

deletedDirectory사용하여 삭제 rmdir하지 않은 svn rm경우을 수행해야합니다.

svn update deletedDirectory

대신에.


1) 할

svn revert . --recursive

2) 다음과 같은 오류에 대한 출력 구문 분석

"Failed to revert 'dir1/dir2' -- try updating instead."

3) 각 오류 디렉토리에 대해 svn up을 호출하십시오.

svn up dir1/dir2

나를 위해 일한 것은

svn revert --depth infinity deletedDir

삭제 한 디렉토리 위의 레벨에서 (재귀) 되돌리기 작업을 수행하십시오.


하나의 라이너로 만들려면 다음과 같이 시도하십시오.

svn status | cut -d ' ' -f 8 | xargs svn revert

내가 찾을 수있는 가장 간단한 해결책은 작업 복사본에서 부모 디렉토리를 삭제하고 (svn delete가 아닌 rm -rf 사용) 조부모에서 svn update를 실행하는 것입니다. 예를 들어, a / b / c, rm -rf a / b, cd a, svn up을 삭제 한 경우. 그것은 모든 것을 다시 가져옵니다. 물론 이것은 부모 디렉토리에 유지하려는 다른 커밋되지 않은 변경 사항이없는 경우에만 좋은 솔루션입니다.

다음 페이지 에이 질문을봤을 때이 페이지가 결과의 상단에 있기를 바랍니다. 물론 누군가가 더 깨끗한 방법을 제안하면 더 좋습니다.


커밋하기 전에 폴더를 제거하고 상위 디렉토리를 업데이트 할 수 있습니다.

rm -r some_dir

svn update some_dir_parent

참고 URL : https://stackoverflow.com/questions/1786687/svn-undo-delete-before-commit

반응형