11

svnsync を使用して使用済みのリポジトリをコピーしようとしています (マシンが動作している限り、リポジトリを最適に使用できるようにするためにこのようにしています) が、うまくいかないようです。

私は 2 台のマシンを持っています (名前は変更しましたが、その他の情報は変更していません)。

  • INITIAL : Subversion 1.4.5 (r25188) を使用したカスタム Linux (svnadmin による報告)。このマシンから、SOURCE というリポジトリに同期しようとしています。このリポジトリには http プロトコルを使用してアクセスでき、svnsync ユーザーが作成されています。にはSOURCE/hooks、実行可能ファイルが 1 つだけ存在します: pre-revprops-change.
  • FINAL : Subversion 1.6.6 (r40053) を使用した Ubuntu (svnadmin による報告)。このマシンでは、svn16 というリポジトリで同期します。このリポジトリには http プロトコルを使用してアクセスでき、svnsync ユーザーが作成されています。ではsvn16/hooks、実行可能ファイルはpre-revprop-changestart-commitです。このマシンでは、 http://FINAL/svnですべてのリポジトリにアクセスできるようにするdav_svn.confディレクティブが含まれていますSVNParentPath /var/svn

ブラウザで各リポジトリ URL を開き、認証ダイアログを発行して、URL と login/pwd が正しいことを確認しました。これは常に機能しているように見えました。

次のコマンドを実行しようとしています

svnsync initialize http://FINAL/svn/svn16 http://INITIAL/SOURCE

しかし、それは常に表示されます

Authentication realm: <http://FINAL:80> All Subversion Repositories hosted on FINAL
Password for 'ubunut-user':
Authentication realm: <http://FINAL.fr:80> All Subversion Repositories hosted on FINAL
Username: svnsync
Password for 'svnsync':
svnsync: DAV request failed; it's possible that the repository's pre-revprop-change hook either failed or is non-existent
svnsync: At least one property change failed; repository is unchanged
svnsync: Error setting property 'sync-lock':
Revprop change blocked by pre-revprop-change hook (exit code 255) with no output.

どこかに何らかの構成の問題があると思います§。しかし、何?そしてどこに ?私が見たさまざまなドキュメントは、フックを宇宙全体で実行可能にすることが効率的な解決策であることを示唆しているため、Webはここでは役に立たないようです(私の場合はそうではありません)。

4

3 に答える 3

14

私はばかよりもばかだったことが判明しました。

このようなエラーの場合、すべてが正しく機能していることを確認する最も簡単な方法は、手動でさまざまなフックを呼び出すことです。

pre-revprop-change私のフックが間違って書かれていることが明らかになりました

"#!/bin/sh"
exit 0

明らかに、削除すると"問題は解決しました。

于 2010-08-23T09:32:08.733 に答える
12

非常に頻繁な間違いを避けるために、ちょっとしたメモ。

このようなエラーが発生した場合は、最初にpre-revprops-changeファイルが実行可能であることを確認してください。そうでない場合は、次を実行します。

chmod +x $DEST_SVN_REPO/hooks/pre-revprops-change

where $DEST_SVN_REPO -- 宛先リポジトリへのパス。

于 2012-04-22T14:51:25.477 に答える