簡體   English   中英

提交被預提交掛鈎SVN阻止

[英]Commit blocked by pre-commit hook SVN

我的服務器上有Subversion,當我嘗試提交時出現了以下錯誤:

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]

那是什么錯誤?

如何解決呢?

有兩種不同類型的預提交掛鈎:

  • 服務器端:這是標准的Unix預提交鈎子。 掛鈎本身位於存儲庫hooks目錄中。 如果掛鈎不是可執行文件,或者沒有名為pre-commit的掛鈎腳本,則掛鈎不會運行。
  • TortoiseSVN客戶端掛鈎:該掛鈎在客戶端上,特定於TortoiseSVN。

當您說pre-commit hook時 ,您是在談論服務器上的鈎子還是計算機上的鈎子 您說您通過將exit 0放在前面來修改了該鈎子。

您沒有說明鈎子是做什么的,也沒有說明是誰把它放在那里的。 這使得很難確定出了什么問題。 有成千上萬的Subversion鈎子圍繞着執行各種任務。 我不知道這是什么。 誰設置了這個鈎子? 默認情況下,Subversion沒有活動的鈎子。 一定有人添加了它。 誰干的?

而且,他們為什么要掛這個鈎子? 這個掛鈎應該完成什么。 一些掛鈎可防止將重復文件添加到存儲庫。 有些可以防止套管不匹配。 有的做安全,有的只是開玩笑。

將您的鈎子粘貼Pastebin上 ,然后回來,讓我們知道您已更新它。 讓我們知道是誰添加了這個鈎子以及為什么。

否則,我們無能為力。

我可以使用以下代碼在預提交腳本上添加新行來解決此問題:

#!/bin/sh
exit 0;

之后,我可以提交,更新,簽出等:)

但是我必須在每個存儲庫項目上手動添加這些行嗎? 克服這個問題的另一個思路是什么?

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM