[svn] SVN : 폴더가 이미 버전 제어를 받고 있지만 커밋하지 않습니까?

mark@mark-ubuntu:~/myproject$ svn stat
?       runserver.sh
?       media/images/icons
?       apps/autocomplete
mark@mark-ubuntu:~/myproject$ svn add apps/autocomplete
svn: warning: 'apps/autocomplete' is already under version control

svn stat버전 관리하에 있지 않다고해서 추가하려고하는데 그랬다고 알려줍니다. 를 수행하면 svn ci커밋되지 않고 온라인으로 저장소를 탐색하려고 할 때 표시되지 않습니다.

커밋하려면 어떻게해야합니까?



답변

문제가있는 폴더를 일부 백업 디렉토리에 복사하고 SVN 작업 디렉토리에서 제거하십시오. .svn복사 된 폴더에서 모든 숨겨진 디렉토리 를 삭제하는 것을 잊지 마십시오 .

이제 프로젝트를 업데이트하고 정리하고 남은 것을 커밋하십시오. 이제 폴더를 작업 디렉토리로 다시 이동하고 추가하고 커밋하십시오. 대부분의 경우이 해결 방법이 작동하지만 기본적으로 SVN이 혼동 된 것 같습니다.

업데이트 : @Mark의 인용 주석 :

폴더를 이동할 필요가 없었고 폴더를 삭제 한 .svn다음 svn-adding이 작동했습니다.


답변

svn 디렉토리를 포함하는 디렉토리 트리를 추가 한 후 비슷한 모양의 문제가 발생했습니다 (소스 환경에서 svn : external이기 때문에) : svn status가 “?”라고 말했지만 추가하려고 할 때 “이미 이미 버전 관리 “.

버전이 지정된 다른 디렉토리가 없었기 때문에

find . -mindepth 2 -name '.svn' -exec rm -rf '{}' \;

잘못된 .svn 디렉토리를 제거합니다. 이렇게 한 후 새 디렉토리를 추가 할 수있었습니다.

참고 :

  • 다른 버전의 디렉토리가 포함 된 경우 찾기 표현식을보다 구체적으로 변경해야합니다.
  • 확실하지 않은 경우 먼저 “-exec …”부분을 생략하여 무엇이 삭제되는지 확인하십시오.

답변

@ gauss256의 대답 에 대한 변형 , 삭제 .svn가 나를 위해 일했습니다.

rm -rf troublesome_folder/.svn
svn add troublesome_folder
svn commit

Gauss의 솔루션 이전에 @ jwir3의 접근 방식을 시도했지만 기쁨이 없었습니다.

svn cleanup
svn cleanup *
svn cleanup troublesome_folder
svn add --force troublesome_folder
svn commit


답변

(1) 방금 나에게 일어난 일이고, 어떻게 된 일인지 흥미 롭다고 생각했습니다 . 기본적으로 폴더를 새 위치에 복사하고 수정하여 숨겨진 모든 .svn 디렉토리를 가져 오는 것을 잊었습니다. 그것이 어떻게 발생하는지 알게되면 미래에 피하는 것이 더 쉽습니다.

(2) .svn 디렉토리를 제거하는 것이 해결책이지만 디렉토리 트리 아래까지 반복적으로 수행해야합니다. 이를 수행하는 가장 쉬운 방법은 다음과 같습니다.

find troublesome_folder -name .svn -exec rm -rf {} \;


답변

svn 정리를 시도해 보셨습니까?


답변

‘apps / autocomplete / .svn’디렉토리를 확인하십시오. 안전한 곳으로 옮기고 (작동하지 않아 복원해야하는 경우) 문제가 해결되는지 확인합니다.


답변

SVN Client JavaHL (JNI) 1.8.13 및 Tortoise와 함께 Eclipse (Luna)를 설치 한 경우 해결책을 찾았습니다 .

Eclipse 열기 : 먼저 프로젝트 / 메이븐 모듈을 버전 제어에 추가해보십시오 (프로젝트-> 컨텍스트 메뉴-> 팀-> 버전 제어에 추가).

다음 Eclipse 오류 메시지가 표시됩니다.

org.apache.subversion.javahl.ClientException : 항목이 이미 있습니다. svn : ‘PathToYouProject’가 이미 버전 제어를 받고 있습니다.

그런 다음 탐색기에서 작업 공간 디렉토리를 열어야합니다. 프로젝트를 선택하고 Tortoise를 통해 해결합니다 (프로젝트-> 컨텍스트 메뉴-> TortoiseSVN-> 해결).

다음 메시지 대화 상자가 표시됩니다. ” 파일 목록이 비어 있습니다.

취소를 누르고 Eclipse에서 프로젝트를 새로 고칩니다. 프로젝트는 다시 버전 제어를 받아야합니다.

안타깝게도 하나의 프로젝트를 동시에 해결하는 것은 불가능합니다 … 아무것도 삭제할 필요는 없지만 프로젝트의 크기에 따라 약간 힘들 수 있습니다.