2010-09-01 101 views
6

發送example.java 傳輸文件數據的.svn:提交失敗(細節如下): 的svn: '預提交' 鉤子失敗,錯誤輸出: example.java在文件 無用TAB:example.java任何想法這個錯誤在SVN中意味着什麼?

我試圖恢復我的更改,然後即使只是添加一個額外的字符,我會看到這個錯誤。很奇怪!任何幫助將不勝感激O_O

+2

你必須與你的顛覆回購管理員交談。很明顯,無論服務器正在使用的pre-commit鉤子都不喜歡Java文件的格式。 – 2010-09-01 00:14:47

+4

你有一個預先提交的鉤子 - 一個在提交之前檢查你的文件的腳本 - 它已經看到你的代碼包含一個或多個製表符(至少這就是消息的表述)。您應該以某種方式編輯該文件以刪除該選項卡,或與本地專家討論預提交鉤子。這可能是因爲你的編輯器在某種程度上擺弄了你文件中的空白,所以即使你做了一些小改動也會出現這個消息。你可以在像vi這樣的基本編輯器中檢查文件嗎? – 2010-09-01 00:17:04

回答

4

這聽起來像你的SVN服務器做一些預先提交處理,不允許在java源文件中的製表符。嘗試配置您的IDE以用空格替換標籤。

5

你的SVN服務器有pre-commit rules它檢查你的提交(包括提交評論)的有效性。這些規則通常用於執行諸如在提交註釋中包含分支號碼以實現可追溯性等事情。看起來你正在通過在你的example.java文件中添加一個TAB字符來違反預先提交規則。嘗試從example.java中刪除所有TAB字符並重新提交。

我必須承認一個奇怪的規則。種空間與製表符字符參數的極端.....

+0

奇怪的是,即使我恢復了我的所有更改,並嘗試通過添加任何性質的額外字符進行重新提交,我仍然會得到相同的錯誤,所以我不太明白爲什麼TAB會引發問題。 ..或者在最後一次提交後添加策略?hmm ... – alvin 2010-09-01 01:09:44

+2

提交鉤位於$ REPOS_ROOT \ hooks \ pre-commit.tmpl(或可能是pre-commit.bat)中。如果你有權訪問svn服務器,你可以檢查修改標記,就像你不能提交沒有任何添加標籤的現有文件一樣,它可能是一個新規則或其他事情正在發生。 – imoatama 2010-09-01 05:33:56

0

謝謝很多傢伙。畢竟這是一個格式問題。我不知道它是如何發生的,但是最終通過Eclipse來解決它 - >源代碼 - >格式

乾杯!