2011-01-13 11 views
0

MercurialリポジトリでAntビルドを実行しようとしていて、何か問題があります。 Antタスクでbuild.xmlファイルが見つからないようです。私はわからないものの、内部ここで、build.xmlファイルはbuild.xml.iの名前と私は、これはアリを混乱することができると思われるMercurialでAntを使用する

myrepo/.hg/store/data/build 

しかし:私は水銀レポを通じて見ると、私はで私のファイルを見つけることができます。

Mercurialリポジトリに対してAntスクリプトを実行する最も良い方法は何ですか?あるいは私はこれを完全に間違っているのですか?

+0

ビルドディレクトリが無視されていませんか? ( '.hgignore') – VonC

答えて

2

'作業ディレクトリ'を必要なbuild.xmlのバージョンで更新する必要があります。これは一般的に最新のものです。

$ cd hgrepo 
$ hg update 
$ ant build 

ここで、hgrepoはMercurialリポジトリです。

+0

まあ、私は明確にする必要があります、私はリモートリポジトリのbuild.xmlファイルで実行しようとしています。したがって、私のローカルリポジトリでは、ファイルを簡単に見つけることができます。しかし、私のリモートは、ネットワーク上のLinuxサーバー上にあります。だから私はそのサーバーに移動し、リポジトリをルックアップ、私はそこにファイルを見つけることができません。 – sma

+0

私が実際に行ったことは、リモートリポジトリ上でhgアーカイブを実行することです。私はそれから私のファイルを得ることができました。しかし、これは正しいとは思わない。より良い方法がありますか? – sma

+0

リモートレポがあなたの中心的なレポであるなら、あなたはそこから物を動かしたくありません。リポジトリを複製し、あなたのことをしてから、リポジトリを削除して、一時的な作業ディレクトリを作成するほうがはるかに優れています。実際、私たちの中央リポジトリにはApache以外からはアクセスできません。 – trojanfoe

4

リポジトリ内のビルド(myrepo/.hg/store/data/build)を実行しようとしています。それは、作業ディレクトリを使用しない限り、他のことが失敗する可能性があります。作業ディレクトリを取得するには、リポジトリを複製するようにHGに指示します。

つまり、HGリポジトリは、HGコマンドで操作するためにのみ不明瞭なデータベースとして扱う必要があります。同じことが他のVC/SCMシステムにも当てはまります(SVNリポジトリの内部を見てみてください)。

+0

私は上記のhgアーカイブの使用方法を推測しています。ローカルに作業ディレクトリがありますが、build.xmlファイルを実行すると、ローカルサーバー(CMSサーバーを使用してCMSを使用しています)にビルドが実行されます。 – sma

+1

@sma「好きではない」とは禁じられています。更新、コミット、プッシュ、および作業を引き継ぐ限り、HGリポジトリに何が入るかを知らないでください。 – Apalala

+0

ありがとうございます。私はこれらのコメントと一緒に昨夜読書をしました。私は今、作業ディレクトリの概念を理解していると思います。助けてくれてありがとう。 – sma

関連する問題