2010-01-08 6 views
3
나는 svn rm을 사용하지 않고 작업 복사본에서 파일을 지웠고 지금은 svn이 화가났다. 파일을 찾을 수 없기 때문입니다. Dual_On_Off_Model. *이 필요하지 않으므로 하늘에있는 큰 HDD로갔습니다. 작업 복사본에 을 사용하여 나에게 소리 지르는 것을 막을 수있는 방법이 있습니까?
+0

@Manuel Aldana - 수정 된 답변을 시도했지만 제대로 작동했습니다. 다시 게시하십시오. bash-fu가 필요하지 않거나 파일을 만들지 않아도 최상의 답을 얻을 수 있습니다. –

답변

5

편집 됨 사이 :

사용 :

svn revert -R .

당신이 로컬 복사본으로 가지고있는 SVN 버전으로 되돌아갑니다.

+0

시도했습니다. 위의 시나리오에서는 작동하지 않습니다. –

+0

죄송합니다, 잊어 버렸습니다 : -R 옵션을 사용해보십시오 (응답 텍스트도 수정했습니다) –

+0

내 시나리오에서는 작동하지만 삭제 한 디렉토리의 경우 .svn 하위 디렉토리를 복원하지 못했습니다 (실제 파일, 이상하게도). 이것은 svn status를 실행했을 때 '?' 이 디렉토리들 옆에. 문제의 디렉토리 (rm -rf 사용)를 삭제하고 svn을 실행하면 모든 것이 정상으로 돌아갑니다. – Jeff

6

파일 (또는 해당 이름의 빈 파일)을 다시 추가 한 다음 svn rm을 사용하여 삭제하십시오.

2

svn revert **이 디렉토리의 모든 파일로 확장되고 더 이상 디렉토리에없는 파일을 되돌려 야하기 때문에 실패합니다. 대신 svn revert Dual_On_Off_Model.h Dual_On_Off_Model.cpp을 시도하십시오.

절대적으로 모든 것을 되돌리려면, 당신은 bash는-FU의 비트 사용할 수 있습니다

svn status | awk '{print $2}' | xargs svn revert 

잡아 svn status의 출력의 각 라인 중 두 번째 단어를 (당신이 당신의 파일 이름에 공백이없는 가정 .. .) 그런 다음 인수로 인수를 svn revert에 전달합니다.

0

는 조쉬 켈리의 대답에 의해 영감을했다 :

svn st | awk '$1 == "!" {print $2}' | xargs svn revert 

이 문제가 전체 트리를 수정해야합니다.

관련 문제