2009-06-19 4 views
3

새로 체크 아웃 할 수 있도록 프로젝트의 svn 체크 아웃 폴더를 삭제하려고합니다.NAV로 svn 체크 아웃을 삭제 하시겠습니까?

[delete] Deleting directory 'C:\projects\my_project\Trunk'. 

BUILD FAILED 

c:\Projects\my_project\default.build(63,4): 
Cannot delete directory 'C:\projects\my_project\Trunk\SomeFolder\AnotherFolder'. 
    The directory is not empty. 

여기 NANT과 함께 작업 복사본을 삭제하는 트릭이 있습니까 : 나는 다음과 같은 오류가 계속 NANT이 작업을 삭제하여이 폴더를 삭제하려고 할 때마다 문제는? .svn 디렉토리 만 대상으로하는 삭제를 시도했지만, 어떤 이유로 든 nant가 모든 것을 삭제하지는 않습니다. 여기에 내가 사용하고있는 작업이 있지만 작동하지 않습니다.

<delete> 
     <fileset basedir="myproject\trunk"> 
      <include name="\**\.svn" /> 
     </fileset> 
    </delete> 

모든 아이디어를 높이 평가할 것입니다!

답변

2

당신이 전체 트렁크 디렉토리 <include ... />이 파일이 아닌 디렉토리를 선택에도 수 있다면 내가 지금 확인할 수

<delete dir="myproject/trunk" /> 

을 삭제합니다. 그렇지

당신은 그냥 fileset도 디렉토리를 선택하면 확실하지 않다 나는이 dirset를 사용을 .svn 디렉토리

<delete> 
    <dirset basedir="myproject\trunk" defaultexcludes="false"> 
     <include name="**/.svn" /> 
    </dirset> 
</delete> 

을 삭제합니다. 아마 defaultexcludes="false"의 사용 공지 사항 "나에게 을 .svn 명명 된 모든 파일을 제공"및 defaultexcludes이 무엇인지 여기 <fileset documentation>을 확인하는 것으로 해석됩니다 (예를 들어, 당신이 포함하려 정확히 **/.svn)

+0

아래 내 대답을 참조하십시오. 닫기 –

3

@jitter을, 당신 매우 가까웠습니다

먼저 dirset이 없으므로 사용하려고 시도 할 때 오류가 발생했습니다. 올바른 선택이있는 경우 여기에 실제로 어떤 일을한다

<delete> 
    <fileset basedir="myproject\trunk" defaultexcludes="false"> 
    <include name="**/.svn" /> 
    <include name="**/.svn/**/*" /> 
    </fileset> 
</delete> 

파일 세트는 디렉토리를 포함합니다. 나는 키가 D efaultexcludes="false"를 사용하여 제대로을 .svn 폴더의 하위 폴더를 선택

**/.svn/**/* 

을 사용하고 있었다 생각합니다.

감사합니다.

+0

글쎄, .NET이나 NAnt가 설치되어 있지 않고, 단지 그들의 사이트에있는 문서에 의해 썼다. 그리고 dirset가 있습니다. http://nant.sourceforge.net/release/latest/help/types/dirset.html. 그리고 CVS에서도 http://nant.cvs.sourceforge.net/viewvc/nant/nant/src/NAnt.Core/Types/DirSet.cs?revision=1.2&view=markup. 어쩌면 최근 버전에서 – jitter

관련 문제