2013-07-09 2 views
0

ANT를 사용하여 SVN의 코드를 체크 아웃 할 수있었습니다. 하지만 지금은 일부 폴더 만 체크 아웃하고 싶습니다. 모든 폴더가 체크 아웃되지는 ​​않습니다. 내 SVN에 Folder1, Folder2 및 Folder3이 있다고 가정 해 봅시다. 그러나 Checkout에만 Folder1 및 Folder2를 사용하려고합니다. ANT를 사용하여이를 수행하는 방법이 있습니까?ANT를 사용하여 SVN에서 특정 폴더 확인

답변

2

몇 가지 질문이 있습니다. 개미를 사용하는 이유는 무엇입니까? COBOL로도 할 수 있습니다. 좋은 생각은 아닙니다. 일반적으로 ANT를 사용하여 소스를 처리하면 냄새가 좋지 않습니다. ant 파일은 소스 제어에 있어야하므로 닭/계란 역설 문제가 있습니다. 코드없이 코드를 어떻게 체크 아웃합니까?

왜 프로젝트의 폴더 하위 집합을 체크 아웃 하시겠습니까? 리포지토리의 레이아웃을 변경하면 도움이 될 것 같습니다. Folder1, Folder2 및 Folder3은 고유 한 분기, 태그 및 트렁크가 있어야하는 고유 한 프로젝트입니까? svn 레이아웃 here on SO에 대한 많은 질문과 답변이 있습니다. 일반적으로 Folder1과 Folder2가 함께 출시되지 않으면 서로 다른 svn 프로젝트입니다.

질문에 대답 : svnant checkout와 같은 수준의 디렉토리 하위 집합을 체크 아웃 할 수 없거나 exec 태스크를 사용하여 svn 클라이언트를 호출하면 Folder1에 대해 별도의 체크 아웃을 수행해야합니다. Folder2

+2

+1 완전히 동의합니다. ANT 파일은 개정 관리 시스템 내에 있습니다. 논리를 단순하게 유지하면 후회할 수 있습니다. –

0

Ant를 사용하여 코드를 체크 아웃 할 수는 있지만 그렇게하는 것을 좋아하지 않습니다.

먼저, build.xml을 체크 아웃하는 문제가 있으므로 나머지 코드를 체크 아웃하기 위해 실행할 수 있습니다. 내 체크 아웃에서 build.xml 그 자체를 업데이트하면 어떻게 될까요?

필자의 주장은 건물을 짓기 위해 앤트를 사용해야한다는 것이었고, 당신이 일을 더 잘할 수있는 다른 도구가 자신의 일을 더 잘하도록 허용한다는 것이었다. , 또는 Ant 빌드 파일 내부 이것은 Windows 배치 스크립트 나 유닉스 쉘 스크립트에 넣을 수

svn co --depth=none $REPO_LOCATION 
svn up --set-depth=infinity Folder1 
svn up --set-depth=infinity Folder2 

:

당신이 원하는, 당신은 다음 명령 줄을 사용하여 수행

<exec executable="svn"> 
    <arg line="co --depth=none ${env.REPO_LOCATION}/> 
<exec/> 
<exec executable="svn" 
    <arg line="up --set-depth=infinity Folder1"/> 
</exec> 
<exec executable="svn" 
    <arg line="up --set-depth=infinity Folder2"/> 
</exec> 

Subversion 개미 작업 플러그인이 있지만 작동시키기가 까다로울 수 있습니다. 어쨌든 SVN 명령을 직접 실행한다고 생각합니다.

관련 문제