trac 0.12.2-ja

subversionと連携をさせています。
ssh接続でsubversionに接続して、コメントした場合hookスクリプトで、ref表記などに対応して
チケットにコメントがつくようになっています。

これが、rootで、ssh接続した場合は、うまくチケットにコメントが付くのですが、ユーザを作成して
ユーザで、ssh接続した場合は、うまくチケットにコメントが付きません。

tracのタイムラインには、チェンジセットがうまくいった旨の表記が出ます。

何か、考えられる原因はあるでしょうか?
trac-svn-hook post-commit dbファイルなどの実行権限、読み取り権限は確認して問題ない
のを確認しています。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/09/29 14:29:39
  • 終了:2011/09/30 15:08:03

回答(2件)

id:a-kuma3 No.1

a-kuma3回答回数4557ベストアンサー獲得回数19032011/09/29 15:22:05

ポイント150pt

実行ユーザを変えるとうまくいかない、というのであれば、九割方、権限の問題だと思います。

db ファイルへの書き込み権限が無いんじゃないでしょうか?


■参考

http://d.hatena.ne.jp/ichikaway/20090414/1239718997

id:reitanigawa

すみません、上記のURLの施策はやっていました。

権限の問題だと思うのですが、特に、dbのほうは更新時にエラーがでていません。

権限も確認しているのですが、そこではないようです。

hookスクリプトや、post-commitが動いているので、なんか作成ユーザだけパスが通っていない

とかを考えていますが、今のところ効果的な対応策はない状態です^^;

2011/09/29 16:26:27
id:miau No.2

miau回答回数2ベストアンサー獲得回数02011/09/30 00:00:30

ポイント150pt

そのユーザで ssh ログイン後、直接 post-commit を実行するとどうなりますか?

post-commit はリポジトリのパスとコミットされたリビジョン番号を受け取りますので、

リポジトリが /home/hoge/svn/repo1、リビジョン番号が 123 であれば、

env - ./post-commit /home/hoge/svn/repo1 123

のように確認できます。env - を付加しているのは、環境変数を初期化するためです。

■参考

http://subversion.apache.org/faq.ja.html#hook-debugging

id:reitanigawa

root ユーザ

env - ./post-commit /home/hoge/svn/repo1 123

→コメントが付く

hogehogeユーザ

env - ./post-commit /home/hoge/svn/repo1 123

→コメントが付かない

と、環境変数の初期化の有無では挙動がかわりませんねー。

さらに、調べると

root ユーザ コマンドラインで

trac-admin /home/trac/ changeset added /home/hoge/svn/repo1 45

をたたくとコメントが付きますが

hogehogeユーザ コマンドラインで

trac-admin /home/trac/ changeset added /home/hoge/svn/repo1 45

をたたいてもコメントが付きません

sudo trac-admin /home/trac changeset added /home/hoge/svn/repo1 45

で、コメントが付きます。

現状、こんな感じです。

2011/09/30 09:52:15
  • id:a-kuma3
    >上記のURLの施策はやっていました。
    失礼しました。

    この類の情報を確認している、ということは、スクリプトでは、コマンドはフルパスで書いてるんですよね。
    シェルは、/bin/sh ですか?

    root と、うまくいかないユーザの環境で、PATH, LD_LIBRARY_PATH, PYTHONPATH あたりの
    内容が一致してるかどうかは、確認してますか?
    それとも、これらは hook のスクリプトで定義済みでしょうか?
  • id:reitanigawa
    rootのほうでも LD_LIBRARY_PATH, PYTHONPATH
    は、設定していないんですよねー。
    (printenvで確認しています)

    PATHは違いますが、あわせるように、hookスクリプトのほうで修正しました。
  • id:reitanigawa
    解決しました。
    最終的に、trac-admin のコマンド自体が、hogehogeユーザでは使えない
    →tracのuserフォルダ自体を認識できない
    → /home/trac/hogehoge の 所有者変更(chown)が甘かったの原因でした。
    (グループに対しての権限はつけていました)

    ありがとうございました。アドバイスをきっかけに早い解決ができました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません