0

移行作業の一環として、Windows に Subversion Edge サーバーをセットアップしました。現在、svnsync に苦労しています。
コマンドを実行しようとすると(メインサーバー上で):

svnsync initialize https://main.subversion.server/svn/main.svn https://mirror.subversion.server/svn/main.svn --disable-locking --username=svnsync --password=SubversionEdge

次の2つのエラーが表示されます。

svnsync: E175002: DAV request failed; it's possible that the repository's pre-revprop-change hook either failed or is non-existent  

svnsync: E175002: Repository has not been enabled to accept revision propchanges; ask the administrator to create a pre-revprop-change hook

いくつかの異なる pre-revprop-change フックを試しましたが、成功しませんでした"exit /b 1"。それが権利の問題であるかどうかも試しました(サービスの実行に使用するユーザーを変更し、アカウントが必要なすべてのファイルにアクセスできることを確認しました)これを修正(または回避)する方法を知っている人はいますか?

4

2 に答える 2

1

SVNBook |を参照してくださいexit 0pre-revprop-change フック参照:exit 1

リビジョン プロパティの変更が発生する前に、フックが実際に存在し、ゼロの終了値を返す必要があります。

たとえばexit 0、ターゲット リポジトリの pre-revprop-change-hook に配置するだけで十分です。ただし、この方法では、認証および承認されたユーザーはリビジョン プロパティを変更できます。それはあなたが望むものではないと思います。

フック スクリプト内にいくつかのロジックを実装して、'svnsync' ユーザーのみがリビジョン プロパティを変更できるようにすることができます。

IF "%3" == "svnsync" (goto :label1) else (echo "Only svnsync user can change revision properties" >&2 )

exit 1
goto :eof

:label1
exit 0
于 2014-06-10T13:35:57.937 に答える
0

Windows の場合は、pre-revprop-change-hook.bat を使用してください。

そして、あなたの場合は「svnsync」などのアカウントがターゲットリポジトリへの書き込み権限を持っているかどうかを確認してください。

于 2015-03-26T12:16:46.007 に答える