2011-01-13 4 views
0

Mercurial 저장소에서 Ant 빌드를 실행하려고하는데 문제가 있습니다. Ant 태스크가 build.xml 파일을 찾을 수 없습니다. 잘 모르겠어요하지만, 내부 여기서는 build.xml 파일 build.xml.i 이름과 나는이 개미를 혼동 할 수있다 생각됩니다Mercurial에서 Ant 사용

myrepo/.hg/store/data/build 

하지만 : 나는 수은의 repo를 통해 볼 때, 나는 나의 파일을 찾을 수 있습니다.

Mercurial 저장소에 대한 Ant 스크립트를 실행하는 가장 좋은 방법은 무엇입니까? 아니면이 일을 완전히 잘못하고 있습니까?

+0

빌드 디렉토리가 무시되지 않습니까? ('.hgignore') – VonC

답변

2

원하는 'build.xml'버전으로 '작업 디렉토리'를 업데이트해야합니다. 이는 일반적으로 최신 버전이므로 다음과 같이 할 수 있습니다.

여기서 hgrepo은 Mercurial 저장소입니다.

+0

글쎄, 나는 원격 저장소에서 build.xml 파일을 실행하려고한다. 따라서 로컬 저장소에서 파일을 쉽게 찾을 수 있습니다. 하지만 리모컨은 네트워크상의 Linux 서버에 있습니다. 그래서 그 서버로 가서 저장소를 찾을 때 그곳에서 파일을 찾을 수 없습니다. – sma

+0

내가 실제로 한 것은 원격 저장소에서 hg archive를 실행하는 것입니다. 나는 그 때 나의 파일에 얻을 수 있었다. 그러나 이것은 단지 옳지 않은 것처럼 보입니다. 더 좋은 방법이 있습니까? – sma

+0

원격 저장소가 중앙 저장소 인 경우 저장소에서 항목을 실행하지 않으려 고합니다. repo를 복제하고 일을 처리 한 다음 repo를 삭제하여 임시 작업 디렉토리를 만드는 것이 훨씬 좋습니다. 실제로 우리의 중앙 저장소에는 Apache 이외의 다른 곳에서는 액세스 할 수 없습니다. – trojanfoe

4

저장소 (myrepo/.hg/store/data/build)에서 빌드를 실행하려고합니다. 그리고, 작업 디렉토리을 사용하지 않으면 다른 작업이 실패 할 수 있습니다. 작업 디렉토리를 얻으려면 HG에 저장소를 복제하도록 알리십시오.

즉, HG 저장소를 HG 명령을 통해 조작하기 위해서만 모호한 데이터베이스로 취급해야합니다. 다른 VC/SCM 시스템에도 동일하게 적용됩니다 (SVN 저장소를 살펴보십시오).

+0

그래서 hg archive를 사용하는 위의 방법을 사용하는 것이 바람직한 방법이 아닌가? 내 로컬에 작업 디렉토리가 있지만 build.xml 파일을 실행하면 로컬 서버 (CMS 서버와 함께 CMS를 사용함)로 빌드가 수행됩니다. – sma

+1

@sma "선호하지 않는"것이 아닙니다. 금지되어 있습니다. 업데이트, 커밋, 푸시, 풀링 작업을 수행하는 동안 HG 리포지토리에 들어갈 내용을 알거나 신경 쓰지 않아야합니다. – Apalala

+0

감사합니다. 나는이 주석과 관련하여 지난 밤에 약간의 독서를했다. 나는 이제 작업 디렉토리의 개념을 더 잘 이해할 수 있다고 생각한다. 도와 주셔서 감사합니다. – sma

관련 문제