2009-10-14 6 views
22

로컬에서 파일을 삭제 한 다음 svn update를 실행하면 해당 파일의 로컬 복사본이 복원됩니다. 그러나 이것은 폴더에 적용되지 않습니다. 폴더로도 사용할 수있는 방법이 있습니까?로컬에서 삭제 된 폴더를 복원하는 방법은 무엇입니까?

편집 : 이 콘솔 출력이 모습입니다 :

C:\svn\Google Project Hosting\xulwin\xulrunnersamples>rmdir /S /Q treeview 

C:\svn\Google Project Hosting\xulwin\xulrunnersamples>svn up 
D treeview 
Updated to revision 50. 

EDIT2 : 지금 이상 2 년 동안 SVN을 사용하고 내가 전에이 오류가 없었어요. 그러나 저는 어떤 설정도 변경하지 않았습니다. 내가 생각할 수있는 유일한 방법은 오늘 Tortoise SVN을 사용하여 외부 저장소에 관련없는 오래된 자료를 백업하는 로컬 저장소를 만들었다는 것입니다. 하지만 문제는이 로컬 저장소의 로컬 복사본과 Google 프로젝트 호스팅의 코드에서 발생하기 때문에 문제의 원인이되어서는 안됩니다.

EDIT3 : WTF 갑자기 버그를 다시 생성 할 수 없습니다. 이제는 모든 것이 작동해야합니다. 그러나 나는 아무것도 바꿀 수 없었습니다.

EDIT4 : EDIT1에서 파일은 삭제 된 것으로 표시되지만 svn commit 명령이 아무 것도 수행하지 않았기 때문에 아닙니다. 또한 Tortoise에서 수정 사항을 확인하지 않았습니다.

참고 : 문제가 계속 발생하면 완전히 재귀 적 업데이트로 인해 폴더가 복원되었습니다.

+0

당신은 자식을 사용하여 시도 적이 있습니까? –

답변

65

오늘은 svn 1.5.6에서이 문제가 발생했습니다. svn up --force the_dir_path 나를 위해 그것을 고쳤습니다.

는 다시 만들려면 :

내가 실수로 삭제 된 폴더 명령

SVN의 UPDATE 상위 폴더에

사용

$ svn up 
Updated to revision X. 
$ rm -rf the_dir_path 
$ svn up 
D the_dir_path 
Updated to revision X. 
$ svn up 
Updated to revision X. 
$ svn up --force the_dir_path 
A .... 
A .... 
Updated to revision X. 
+0

'dir'을 (나 같은) 문자 그대로 입력하려고하는 모든 사람들에게 돌아 오려는 실제 디렉토리로 바꿔야합니다. –

+7

이것은 나를 위해 해결 한 유일한 해결책입니다. 되돌리기, 재귀 복귀 등이 작동하지 않았습니다. 감사! – Laurent

+0

나를 구해 주셔서 고마워요 :) – Stevko

14

아마도 아이템을 삭제하고 업데이트하여 되돌리려면 svn revert 명령을 사용하는 것이 좋습니다. -R 스위치를 사용하여 파일/디렉토리를 재귀 적으로 되돌릴 수 있습니다. 다시 가져

revert: Restore pristine working copy file (undo most local edits). 
usage: revert PATH... 

    Note: this subcommand does not require network access, and resolves 
    any conflicted states. However, it does not restore removed directories. 

Valid options: 
    --targets ARG   : pass contents of file ARG as additional args 
    -R [--recursive]   : descend recursively, same as --depth=infinity 
    --depth ARG    : limit operation by depth ARG ('empty', 'files', 
          'immediates', or 'infinity') 
    -q [--quiet]    : print nothing, or only summary information 
    --changelist ARG   : operate only on members of changelist ARG 
          [aliases: --cl] 

Global options: 
    --username ARG   : specify a username ARG 
    --password ARG   : specify a password ARG 
    --no-auth-cache   : do not cache authentication tokens 
    --non-interactive  : do no interactive prompting 
    --trust-server-cert  : accept unknown SSL server certificates without 
          prompting (but only with '--non-interactive') 
    --config-dir ARG   : read user configuration files from directory ARG 
    --config-option ARG  : set user configuration option in the format: 
           FILE:SECTION:OPTION=[VALUE] 
          For example: 
           servers:global:http-library=serf 
+2

폴더를 삭제 한 후 svn 업데이트를하면 해당 폴더 내의 정크/임시 파일을 정리하는 편리한 방법입니다. – StackedCrooked

+0

폴더가 손상된 경우 복구하는 것보다 폴더를 삭제하고 복원하는 것이 일반적으로 빠릅니다. – StackedCrooked

+7

되돌리기가 삭제 된 폴더를 다시 만들지 않습니다. – Damien

5

사용 svn revert (-R) foldername을 다음과 같이 되돌리기위한

svn의 도움말 정보입니다. svn rmsvn up을 사용하여 삭제했으나 삭제 된 것으로 표시되어 다시 생성되지 않습니다.

+0

그는'svn rm'을하지 않고'rm' 만했습니다.나는 또한이 문제가 있었고 되 돌리는 것이 그것을 고쳐주지 않았다. 'update --force'만이했습니다. – Laurent

+0

@Laurent, 고마워요. (아직 여기 계신 분이라면) 대답이 있다면 제가 투표했을 것입니다. – 244an

3

0
svn status|grep ^D|^Ct -c9-|xargs -n1 svn revert 
관련 문제