[groonga-dev,00708] hgの使い方が間違っているっぽい

Back to archive index

Kazuhiko kazuh****@fdiar*****
2012年 2月 27日 (月) 18:15:13 JST


かずひこです。

今更気づいたのですが、build/makefiles/sphinx-build.am のhgの使い方が間
違っているようです。

sphinx-ensure-updated:
        if ! $(SPHINX_BUILD_COMMAND) 2>&1 | head -1 | grep 'v1.[2]' -q >
/dev/null; then \
          $(HG) pull $(SPHINX_DIR); \
        fi

hg pull の使い方は
       hg pull [-u] [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [SOURCE]
なので、ここは cd $(SPHINX_DIR); $(HG) pull でないとだめで、しかもさらに、

http://mercurial.selenic.com/wiki/JapaneseFAQ によると

> 5.6. hg pullとしたのにワーキングディレクトリはからっぽのままです
> 
> Mercurialというシステムにはリポジトリとワーキングディレクトリの2つの概念があります。hg pull はリモートリポジトリでの変更をローカルリポジトリに引っ張ってきますがワーキングディレクトリは変更しません。
> 
> そのおかげで引っ張ってきた変更をまだマージできずに作業中の状態がめちゃくちゃになるのを防げます。マージもやりやすくなります。
> 
> ワーキングディレクトリを更新するには、hg updateを実行してください。pullをするときにワーキングディレクトリも更新したい場合はhg pull -uとします。こうした場合はローカルでの変更をマージしたり上書きしたりはしません。

だそうですので、hg update もいりそうです。

というわけで、上記の箇所は
          (cd $(SPHINX_DIR); $(HG) pull; $(HG) update)
じゃないかと思います。

あと、このファイルがgroongaとmroongaで微妙に違っていて、groongaだとgrep
v1.2になっていて、mroongaだとgrep v1.1なのですが、取得するタイミングで結
果が異なるのも嫌ですし、適当な「これで動いていそう」なリビジョンで、
hg update -r 3600 みたいに固定しちゃうのはどうでしょうか?

かずひこ




groonga-dev メーリングリストの案内
Back to archive index