[svn] SVN 오류-작업 사본이 아님

최근에 svn 서버가 변경되었고 svn 스위치를 사용했습니다.

작업 복사본에는 버전이없는 많은 리소스가 있었기 때문에 작업 복사본이 잠기고 svn 아래의 모든 폴더에 대해 폴더별로 폴더를 전환하기 시작했습니다.

그러나 저장소의 최상위 레벨에서 파일을 업데이트하려고하면 svn : Working copy ‘.’가 표시됩니다. 잠긴 오류 및 정리도 도움이되지 않습니다. 정리할 때 다음과 같은 오류가 발생합니다 . svn : ‘content’는 작업중인 복사 디렉토리가 아닙니다.

신선한 체크 아웃은 전혀 옵션이 아닙니다. 잠금 장치를 청소 및 해제하고 스위치를 완전히 수행하는 다른 방법이 있습니까?

편집 :
JesperE의 답변에서 마지막 단락

재귀적인 “svn cleanup”을 수행 할 때 “작동중인 사본이 아님”을 얻는다면 내 추측에 따르면 작업중 인 사본이어야하는 디렉토리가 있습니다 (예 : 최상위 레벨의 .svn 디렉토리는 그렇게 말합니다). 자신의 .svn 디렉토리. 이 경우 해당 디렉토리를 제거 / 이동 한 다음 로컬 업데이트를 수행 할 수 있습니다.

저장소의 문제에 대한 해결책 인 것 같습니다. 해당 폴더를 식별하고 해당 특정 폴더를 새로 체크 아웃하고 와우, 후속 정리에서 잠금이 해제됩니다! 많은 JesperE 감사합니다!

그러나 여전히 svn 스위치 오류를 파악할 수 없으며 현재 다음과 같은 내용을 읽습니다.

svn : ‘svn : // repourl / reponame / foldername’의 저장소에는 uuid ‘m / reponame’이 있지만 WC에는 ‘b5b39681-0ff6-784b-ad26-2846b9ea8e7d’가 있습니다.

어떤 아이디어?



답변

재귀를 할 때 “작업 복사본이 아님”을 얻는다면 svn cleanup내 추측은 작업 복사본이어야하는 디렉토리 (즉 .svn최상위 디렉토리 의 디렉토리)가 있지만 자체 .svn디렉토리 가 없다는 것입니다 . 이 경우 해당 디렉토리를 제거 / 이동 한 다음 로컬 업데이트 (예 :)를 시도 할 수 rm -rf content; svn checkout content있습니다.

당신이 얻을 경우 not a working copy오류를, 그것은 서브 버전은 적절한 발견 할 수 없다는 것을 .svn거기에서 디렉토리를. .svn디렉토리 가 있는지 확인하십시오contents

이상적인 해결책은 가능한 경우 새로 체크 아웃하는 것입니다.


답변

비슷한 상황 ( svn: 'papers' is not a working copy directory)으로 다른 방식 으로 들어갔 으므로 전투 스토리를 게시하겠다고 생각했습니다 (간체).

$ svn add papers
svn: Can't create directory 'papers/.svn': Permission denied

죄송합니다! 권한 수정 … 다음 :

$ svn add papers
svn: warning: 'papers' is already under version control
$ svn st
~     papers
$ svn cleanup
svn: 'papers' is not a working copy directory

그리고 papers길을 벗어나 달리고 svn up(OP에서 일한) 달리기도 해결하지 못했습니다. 내가 한 일은 다음과 같습니다.

$ mv papers papers_
$ svn cleanup
$ svn revert papers
Reverted 'papers'
$ mv papers_/ papers
$ svn add papers

효과가있었습니다.


답변

나는 그것을 해결했다.

  1. 영향을받는 폴더의 백업 복사
  2. SVN은 영향을받는 폴더를 되돌립니다
  3. 백업에서 파일을 다시 붙여 넣기

제 경우에는 문제가 삭제 된 .svn-files 때문이었습니다.


답변

어쩌면 방금 폴더 트리를 복사하고 가장 낮은 폴더를 추가하려고했습니다.

SVN
|_
  |
  subfolder1
       |
       subfolder2   (here you get an error)

이 경우 상위 레벨에서 디렉토리를 커밋해야합니다.


답변

해결 방법 : ‘작업 복사본’이 아닌 디렉토리 이름 바꾸기이 디렉토리를 다시 체크 아웃 / 업데이트 / 복원 이름이 바뀐 디렉토리에서 새 커밋 변경으로 파일 이동

이유 : .svn 디렉토리의 일부 파일을 일부 변경하면 ‘작업 사본’이 중단됩니다.


답변

새 디렉토리 내에 파일을 작성한 경우, 디렉토리를 추가해야하므로 ‘svn add newdir / newfile’대신 ‘svn add newdir’을 사용하십시오. 디렉토리 내의 모든 파일이 기본적으로 추가됩니다.


답변

방금 “작업 사본이 아님”을 얻었으며 그 이유는 Unix의 Automouter였습니다. 새로운 “cd / path / to / work / directory”가 그 트릭을 만들었습니다.