2010-09-01 42 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来解决它 - >源代码 - >格式

干杯!