1

サーバーにサブバージョンがあります。コミットしようとすると、次のようなエラーが発生します。

error creating module:org.tigris.subversion.javahi.ClientException:svn:
Commit blocked by pre-commit hook(exit code 199) with no output.
svn MERGE of '/svn/mssql/trunk':409 Conflict (http://www.domain.com)

次に、/var/log/httpd/error_log 内のエラー ログを確認しようとします。

次のようなエラーが発生しました:

Could not MERGE resource "/svn/[project name]/!svn/act/8b7476df-3701-0010-a025-c590208c08a0" into  "/svn/[project name]/trunk"

Commit blocked by pre-commit hook (exit code 199) with no output.  [409, #165001]

そのエラーは何ですか?

これを解決するには?

4

2 に答える 2

1

pre-commitフックには 2 つの異なるタイプがあります。

  • サーバー側: これは、標準の Unix pre-commit フックです。フック自体は、リポジトリhooksディレクトリ内にあります。フックが実行可能でない場合、またはフックと呼ばれるフック スクリプトがない場合、フックは実行されpre-commitません。
  • TortoiseSVN クライアント側フック: フックはクライアントにあり、TortoiseSVN に固有です。

pre-commit hookと言うとき、サーバー上のものですか、それともコンピュータ上のものですか? フックを前に入れるように改造したとおっしゃいましたねexit 0

フックが何をするのか、誰がそこに置いたのかは述べていません。これにより、何が問題なのかを判断することが非常に困難になります。さまざまなタスクを実行する何千もの Subversion フックが浮かんでいます。私はこれが何であるか分かりません。誰がこのフックを設定しましたか? デフォルトでは、Subversion にはアクティブなフックがありません。誰かが追加したに違いない。誰がした?

そして、なぜ彼らはこのフックを付けたのですか?このフックは何を達成していると思われますか。一部のフックは、重複したファイルがリポジトリに追加されるのを防ぎます。大文字と小文字の不一致を防ぐものもあります。セキュリティを行う人もいれば、冗談を言う人もいます。

フックをPastebinに投稿してから戻ってきて、更新したことをお知らせください。誰がフックを追加したのか、その理由を教えてください。

そうでなければ、私たちがあなたのためにできることはあまりありません.

于 2012-06-27T03:43:18.543 に答える
-2

次のコードを使用して、コミット前のスクリプトに新しい行を追加することで、この問題を解決できます。

#!/bin/sh
exit 0;

その後、コミット、更新、チェックアウトなどを行うことができます:)

しかし、これらの行をすべてのリポジトリ プロジェクトに手動で追加する必要がありますか? これを克服するための別のアイデアはありますか?

ありがとう

于 2012-06-27T02:00:38.303 に答える