svn 에 폴더나 파일을 추가하고 아직 commit 하지 않은 데이타를 revert 할 경우 다음과 같이 에러가 발생하는 경우가 있다.

 

"Can't revert without reverting parent" 또는 "Can't revert without reverting children"

이럴 경우 revert 대신 추가된 폴더/파일을 delete 로 삭제해야 하는데 다음과 같은 문제가 있다. 

  1. svn delete 는 로컬 PC내의 작업 사본을 즉시 삭제하므로 보존해야 할 파일이 있을 경우 큰 문제가 된다.
  2. TortoiseSVN 에서는 add 되고 아직 커밋되지 않은 경우에 delete 메뉴가 표시되지 않는다.

 

위 문제는 cmd 에서 svn delete 명령어를 수행하고 작업사본을 보존하는 delete 의 옵션인 --keep-local 를 사용해 svn add 로 추가된 파일/디렉터리만 revert 할 수 있다.

 

사용법

svn add --keep-local revert_dir
CODE

 

 

Ref