SVN (Subversion) 문제“파일이 추가 될 예정이지만 누락되었습니다.”-버전 사용


94

SVN 용 버전을 사용하고 있습니다.

이 메시지를 커밋하고 얻으려고 시도합니다.

커밋 실패 (자세한 내용은 다음 참조) : '/Users/mike/Sites/mysite.com/astss-cvsdude/Trunk/cart/flashfile.swf'가 추가 될 예정이지만 누락되었습니다.

리포지토리에 파일을 추가 한 다음 파일 시스템을 통해 삭제했기 때문이라고 생각합니다.

단순히 변경 사항을 기록하고 변경 사항을 저장소에 적용하고 싶습니다.

이 문제를 어떻게 해결할 수 있습니까?

답변:


120

무엇을 하려는지 잘 모르겠습니다. 다음을 통해 파일을 추가 한 경우

svn add myfile

다음 커밋을 할 때이 파일을 저장소에 넣으라고 svn에게만 지시했습니다 . 입력하기 전에 저장소에 변경 사항이 없습니다.

svn commit

커밋 전에 파일을 삭제 한 경우 파일 svn을 추가했기 때문에 레코드에 포함하지만 파일이 더 이상 존재하지 않기 때문에 저장소로 보낼 수 없습니다.

따라서 저장소에 파일을 저장 한 다음 작업 복사본에서 삭제하려고합니다.이 경우 파일을 다시 가져 오려고 (휴지통에서?), 커밋을 수행하고 나중에 다음을 통해 파일을 삭제합니다.

svn delete myfile
svn commit

실행을 취소 add하고 파일을 버리려면 다음을 수행 할 수 있습니다.

svn revert myfile

이것은 svn(이 경우) add-Operation을 실행 취소하도록 지시 합니다.

편집하다

죄송합니다. Max OSX 용 "버전"GUI 클라이언트를 사용 중인지 몰랐습니다. 따라서 GUI를 사용하여 포함 된 디렉토리를 되돌 리거나 냉수로 뛰어 들어 숨겨진 Mac 명령 셸을 실행합니다. :-) (독일어 OSX에서는 "Terminal"이라고합니다. 영어로 불러오는 방법을 모릅니다. 버전...)


2
여기서 문제는 그가 GUI를 사용한다는 것입니다. 어쨌든 명령 줄을 사용할 수 svn rm있다면 디렉토리에 파일이 없어도 파일 만 사용할 수 있습니다 .
Pikrass 2010

좋아, 나는 OSX 용 "버전"클라이언트를 몰랐다. 어쨌든 그는 "되돌리기"를 사용할 수 있어야하지 않나요? Windows의 TortoiseSVN에서 작동합니다.
MartinStettner 2010

svn cleanups 및 svn rms 나중에 ... 도와 주셔서 감사합니다. svn에게 "이봐, 내 OS의 기본 파일 관리자를 통해 일부 파일을 추가했습니다. 지금이 폴더에있는 항목이이 저장소의 현재 상태를 원하는 것입니다. 이 파일로 내가 할 수있는 것과 할 수없는 것을 말하지 마십시오. 그러나 예, 나를 위해 모든 것을 추적하십시오. "?
Mike

1
svn add *버전이 지정되지 않은 모든 새 파일을 자동으로 추가하고 svn commit이러한 변경 사항을 저장소에 즉시 저장합니다. Afaik은 제거에 해당하는 작업이 없으므로 파일을 제거하는 경우 svn rm수동으로 호출 해야합니다.
MartinStettner 2010

참고로, 나는 또한이 문제가 있었고 작동하지 않는 svn rm경우에도 마찬가지입니다 . 그래서 여기서해야 할 올바른 일입니다. --forcedoes not existsvn revert
Michel Müller

24

동일한 메시지를 표시하는 버전과 동일한 문제가 발생했습니다. 문제가되는 파일을 마우스 오른쪽 버튼으로 클릭하고 오른쪽 클릭 메뉴에서 '되돌리기 ...'를 선택하기 만하면 모두 괜찮 았습니다.

기본적으로 Versions (실제로 Subversion)는 여전히 파일을 추가하고 싶다고 생각하지만 파일 시스템에서 삭제했기 때문에 찾을 수 없습니다. 되돌리기 옵션은 Subversion에 추가하는 것을 잊도록 지시합니다.


앱 계층 구조에서 폴더를 삭제했기 때문에이 오류가 발생했습니다. 방금 같은 이름의 빈 폴더를 추가했는데 제대로 작동했습니다.
Yogi

10

파일을 추가 한 다음 삭제하는 것은 오류로 간주되는 일종의 작업이므로 SVN이 알려줍니다. 일부 파일 데이터를 예상하고 커밋 할 때 제공하지 말라고했고, 빨간색 표시등이 깜박이고 사이렌이 울립니다!

대답은 추가를 실행 취소하고, 또는 파일을 커밋 한 다음 'svn rm'을 사용하여 파일 시스템과 저장소에서 제거하는 것입니다.


Xcode에서 파일을 추가하고 잘못했거나 Xcode에 삭제 (휴지통으로 이동)하도록 지시합니다. 불행히도 Xcode는이 상태를 유지하고 파일을 삭제하더라도 나를 위해 svn에서 rm을 수행하지 않습니다 ...
chadbag

3

이것은 내 비슷한 문제를 해결했습니다. 나는 그것을 사용하여 변경 사항을 되 돌린 다음 모든 것을 추가하고 터미널에서 변경 사항을 커밋했습니다.

svn add folder_path/*
svn commit -m "message"

2

Xcode를 사용하여 폴더 참조의 파일 이름을 바꾸지 마십시오. Xcode를 사용하여 파일의 이름을 바꾸면 커밋으로 표시됩니다. 나중에 커밋하기 전에 삭제하면이 오류가 발생합니다.


0

방금 VS 내에서 파일을 삭제 한 다음 'Repository Explorer'에서 파일을 작업 복사본에 복사했습니다.


0

TortoiseSVN을 사용하는 경우…

"변경 사항"섹션의 커밋 창에서 문제가되는 모든 파일을 선택한 다음 마우스 오른쪽 버튼을 클릭하고 삭제를 선택할 수 있습니다. 커밋을 완료하면 예약 된 추가 항목에서 파일이 제거됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.