3

ワークフロー プロセスの一部として Mercurial を使用していますが、うまく機能しています。ただし、1つの厄介な問題があります。アップグレードを行うために中央リポジトリから Linux Web サーバーにプルするときは、「root」ユーザーで行っています。これは、新規または変更されたファイルの所有者とグループを「ルート」に割り当てるように見えます。

残念ながら、私はそれで他の問題に遭遇するので、常にすべてのファイルを調べて、適切なグループと所有者 (Web サーバーの非 root ユーザー) にリセットする必要があります。

Mercurial にこれを自動的に実行させる方法はありますか、または誰かがそれを行うための高速な方法を持っていますか? シェルを使用していて、入力する必要があります

chown -R username /home/username

私はchgrpで似たようなことをしようとしています。全体が散らかっているように見えますが、必要なことを達成するためのより簡単な方法があると思います。リポジトリからプルするときに所有者とグループを設定する方法はありますか?

4

2 に答える 2

8

ルートとしてではなく、プルする必要があります。そうすれば、その問題は発生しません。ただし、何らかの理由でそれが実行できない場合は、いつでも更新フックを使用してファイルのアクセス許可を修正できます。リポジトリの.hg/hgrcファイルに次のように記述します。

[hooks]
update = chown -R username:usergroup /home/username

hg updateそして、そのコマンドは各(または)の後に自動的に実行されますhg pull -u

于 2010-11-03T15:45:53.620 に答える
1

それぞれを個別に定義することで、複数のフックを追加できます

    [hooks]
    update.command1 = chown -R username:usergroup /home/username
    update.command2 = chown username2:usergroup2 /home/username/excludeme
于 2014-09-21T05:59:29.590 に答える