Linux オンボードが制限された小さな NAS サーバー (QNAP TS-210) を使用しています。ローカル SVN デーモンでフックを実行する際に問題があります。コマンドラインから直接実行すると、すべて問題ありません。SVN がそれらをフックとして実行しようとした場合、またはそれらが crontab に追加されてから CRON がそれらを実行しようとした場合、どちらも失敗します。
これは、これらのスクリプト/フックを実行しているユーザーの違いによるものだと言われました。「admin」として SSH 経由で自分の NAS にログインしており、CRON と SVN の両方が「root」の下で実行されていると想定しています。ルートには、宛先フォルダー (SVN post-commit-hook を使用してリポジトリをローカル フォルダーにエクスポートする) または SVN / CRON を実行するための十分な権限がないようです (SVN は pre-revprop-change フックでも失敗します。のみが含まれているexit 0
ため、SVN はフックをまったく実行できないと想定しています)。それとも、これは何か違うのでしょうか?
編集:SVNを「管理者」の下で強制的に実行するにはどうすればよいですか、または「ルート」に十分な権限を設定して、SVNフックを実行できるようにするには(「管理者」)?
編集:私のフックスクリプトは/share/Sys/svn/tools_and_examples/hooks
そうです、呼び出し
ls -lh /share/Sys/svn/tools_and_examples/hooks
結果は次のとおりです。
-rwxrwx--x 1 trejder everyone 147 Jun 24 14:33 post-commit.cron*
-rw-rw---- 1 admin administ 1.9k Jun 25 12:20 post-commit.tmpl
-rw-rw---- 1 admin administ 1.6k Jun 25 12:20 post-lock.tmpl
-rw-rw---- 1 admin administ 2.2k Jun 25 12:20 post-revprop-change.tmpl
-rw-rw---- 1 admin administ 1.5k Jun 25 12:20 post-unlock.tmpl
-rw-rw---- 1 admin administ 3.3k Jun 25 12:20 pre-commit.tmpl
-rw-rw---- 1 admin administ 2.4k Jun 25 12:20 pre-lock.tmpl
-rw-rw---- 1 admin administ 6 Jun 25 12:29 pre-revprop-change
-rw-rw---- 1 admin administ 2.1k Jun 25 12:20 pre-unlock.tmpl
-rw-rw---- 1 admin administ 2.7k Jun 25 12:20 start-commit.tmpl
そして私にこれをls -lh /share/Sys/svn/tools_and_examples/hooks/post-commit.cron
くれました:
-rwxrwx--x 1 trejder everyone 147 Jun 24 14:33 /share/Sys/svn/tools_and_examples/hooks/post-commit.cron*
うまくいけば、これは役に立ちます。