2010-06-08 4 views
5

정확히 어떻게되었는지는 모르겠지만 버전이 ".svn"인 디렉토리 내 저장소에 있습니다. 그것이 어떻게되었는지 묻지 말아라. .svn이 예약 된 인수이기 때문에 svn에서 삭제하도록 지시하면 원하지 않습니다.Subversion : 버전이 지정된 ".svn"디렉토리를 제거하는 중

힘이 작동하지 않습니다.

아이디어가 있으십니까?

은 편집 :. 사람이에 청소 솔루션을 알고 있다면 나는 부모 디렉토리를 보내고 다음 다시 추가 svn rm하여 해결 확인

하지만, 그것은 매우 감사하겠습니다.

설명 :

svn delete <repo url>/foo/.svn 

이 작동하지 않습니다. 나는 명령과 논쟁의 모든 간단한 조합을 시도했다고 생각한다. 나는 이것이 가능하다면 해킹이라고 확신한다. 나는 방법을 안다. 덤프 -> 도구로 덤프 수정 -> 다시 가져 오기 하지만 그건 지옥만큼 무섭다. 이것은 자식이 아니며 svn repo를 두드리면 당신/당신은 구타 당합니다.

+2

"어떻게되는지 묻지 마세요." 글쎄,'svn log'이 당신에게 말할 것입니다. – sbi

+0

좋은 생각입니다. 'svn log -v'는 그것이 추가되었음을 알려줍니다. 그다지 많지는 않습니다. 부모 디렉토리에 'svn add'를해야합니다. svn add는 대개 기존의 .svn 디렉토리를 파괴하거나 불평하기 때문에 여전히 이상합니다. – AndreasT

+1

여기에'svn log'는 또한 누구가 추가했는지, 언제, 그리고 다른 커밋이 끝난지를 알려줍니다. 이것은 대개 누가 무엇을했는지 이해하기에 충분합니다. ':)' – sbi

답변

2

"svn의 RM은"잘 작동하는 것 같다, 난 그냥 (맥 OS X SVN 1.6.5을 사용하여) 그것을 시도 :

$ svn ls -R file:///xxx/testrepo 
foo/ 
foo/.svn/ 
foo/.svn/baz 
foo/bar/ 
foo/bar/baz 

$ svn rm -m 'Yes it works.' file:///xxx/testrepo/foo/.svn 
Committed revision 6. 

$ svn ls -R file:///xxx/testrepo 
foo/ 
foo/bar/ 
foo/bar/baz 

당신은 또한 "SVN MV"를 사용할 수 있습니다, 필요 없습니다 삭제할 항목 :

$ svn ls -R file:///xxx/testrepo 
foo/ 
foo/.svn/ 
foo/.svn/baz 
foo/bar/ 
foo/bar/baz 

$ svn mv -m 'Rename works too.' file:///xxx/testrepo/foo/.svn \ 
    file:///xxx/testrepo/foo/dotsvn 
Committed revision 8. 

$ svn ls -R file:///xxx/testrepo 
foo/ 
foo/bar/ 
foo/bar/baz 
foo/dotsvn/ 
foo/dotsvn/baz 

ps. svn 저장소에 ".svn"디렉토리를 생성하는 것은 쉽습니다. URL과 함께 svn cp 또는 svn mv를 사용하기 만하면됩니다.

0

그냥 svn delete이 직접 저장소, 예를 들어,에서

svn rm -m "removing checked-in .svn" http://myserver/svn/repo/trunk/dir/.svn

는 수정 된 버전을 검색 로컬 복사본과 svn update을 삭제합니다. URL이와

+0

svn delete가 .svn을 매개 변수로 받아들이지 않기 때문에 이것은 작동하지 않습니다. 이것은 내 질문 텍스트에서 "그것을 삭제하도록 svn에게 말하면 ..."이라는 의미입니다. – AndreasT

관련 문제