답변:
SVN 명령을 거치지 않고 .svn 서브 디렉토리를 삭제하거나 이동할 때 발생하므로 SVN은 작업 사본의보기를 손상시킵니다.
먼저 정리를 시도한 후에도 해결되지 않으면 디렉토리를 되돌 리거나 업데이트하여 하위 디렉토리 .svn 폴더를 복원하십시오.
원인이 무엇인지 모르는 경우 해결책은 작업 복사본 (로컬에있는 전체 체크 아웃)을 다른 곳으로 내보내는 것입니다.
tortoisesvn을 사용하는 경우 "버전이없는 파일 내보내기"옵션이 있지만 명령 줄에서 버전 버전 파일 만 내 보내면 버전이없는 파일을 수동으로 복사하는 데 많은 노력이 필요합니다 .
완료되면 깨끗한 작업 복사본을 확인한 다음 내 보낸 백업을 맨 위에 놓습니다. 백업에 .svn 폴더가없는 것이 매우 중요합니다.
사람들이 다른 작업 복사본 또는 .svn 항목을 손상시키는 다른 작업 복사본에서 작업 복사본을 체크 아웃하기 전에이 오류를 보았습니다.
이 상황을 유발할 수있는 시나리오에는 여러 가지 변형이 있습니다. 다음은 하나의 예입니다.
나는 결국! 'svn rename'명령을 사용하지 않고 www에서 www_a로 이름이 변경된 디렉토리에 표시하십시오.
이 시점에서 올바른 svn 작업 디렉토리를 가져와야합니다. 그리고 svn 디렉토리 혼란을 해결하는 방법에 대해 배우십시오.
리포지토리 디렉토리에 대한 심볼릭 링크를 만들었을 때 Windows에서도 이것을 보았습니다. 이 경우 리포지토리 루트는 "폐쇄"된 것으로 나타납니다. 그러나 이것은 아무런 영향을 미치지 않는 것 같습니다.
재현 단계 :
레포 확인
svn checkout --force http://svn.server.hostname/path/to/repo/and/plugin_dir
디렉토리가 정상인지 확인하십시오
cd plugin_dir
svn st -u
출력은
Status against revision: 1234
심볼릭 링크 만들기 (문제가 있음)
cd ..
mklink /d link_dir plugin_dir
cd link_dir
svn st -u
출력은
~ 1234 .
Status against revision: 1234
FTP 클라이언트를 사용하여 하위 디렉토리가있는 폴더에 작업 사본에 붙여 넣을 때이 문제가 발생했습니다. 전송 버튼을 누르 자마자 망했다는 것을 알았습니다. 작업 방식이 너무 늦었습니다.
나는 위의 모든 제안을 시도했지만 다른 발견은 온라인에서 아무 소용이 없었습니다. 모든 옵션에서 디렉토리가 잠겨 오류가 발생하여 작업을 수행 할 수 없습니다.
Time Machine 사본으로 이동하여 디렉토리를 복원했으며 사용하기 좋았습니다. 작업 사본을 예방책으로 정리하고 파일을 올바르게 업데이트 한 후 업무를 다시 시작했습니다.
웹 인터페이스를 통해 CMS (WordPress 또는 Drupal)로 업데이트 할 때 디렉토리에서이 "폐쇄 된"상태를 얻습니다. 응용 프로그램은 해당 코드가 실제로는 하위 버전 작업 복사본임을 인식하지 못하므로 플러그인을 업데이트하면 해당 플러그인이 제거됩니다. 디렉토리 (디렉토리 포함 .svn
)와 플러그인의 새 버전에서 새 디렉토리를 가져옵니다.
그 얻으려면 .svn
차단 된 디렉토리를 포함하는 디렉토리에서 디렉토리의 뒷면. 로 결제를 수행합니다 --force
. 예를 들어 plugin_dir
"~"로 표시 되면 상위 디렉토리에서 다음을 실행합니다.
svn checkout --force http://svn.server.hostname/path/to/repo/and/plugin_dir
이미 존재하는 모든 파일은 checkout 명령의 출력에 단독으로 남겨지고 "E"로 표시됩니다 (실행시 "M"으로 표시됨 svn status
).
때때로 업데이트로 새로운 파일을 다시 추가해야합니다. 또는 체크 아웃 할 때 다시 나타나기 때문에 업데이트의 일부로 삭제해야하는 파일을 삭제하십시오. 결제시 'A'로 표시되어 있지만 이후 svn status
에는 언급하지 않습니다.
Eclipse에서 일부 파일에 빨간색 느낌표가 표시되는 문제가 발생했습니다. 소스 디렉토리의 .svn 폴더가 문제였습니다. .svn 폴더를 삭제하고 이클립스를 새로 고침하여 파일을 체크인 할 수있었습니다.
파일 이름이 동일한 폴더로 파일을 교체했을 때 이런 일이 발생했습니다. 이전 파일을 삭제하고 커밋 한 다음 새 파일을 추가하여 해결합니다. 조금 해 키지 만 나를 위해 일했습니다 :)