1

我尝试使用 'git svn dcommit' 但出现以下错误:

存储库挂钩失败:“预提交”挂钩失败,错误输出:

*** Transaction blocked
    TRAILING WHITESPACE discovered in these files
        designs/trunk/1167923/cfg/main.cpp
        designs/trunk/1167923/cfg/Registers.cpp

Code does not conform to whitespace standard
 at /usr/lib/git-core/git-svn line 922

我不知道如何解决它。

这是我的配置:

receive.denynonfastforwards=true
alias.st=status
alias.ci=commit
alias.co=checkout
alias.br=branch
alias.log1=log --oneline
alias.fetchavs=fetch --all --progress -v
alias.pushav=push --all --progress -v
alias.dfb=diff -b 
alias.dfw=diff -w
color.ui=auto
color.branch=auto
color.diff=auto
color.interactive=auto
color.status=auto
core.autocrlf=input
core.safecrlf=true
core.whitespace=nowarn
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
svn-remote.svn.url=http://svn
svn-remote.svn.fetch=designs/trunk/1167923:refs/remotes/trunk
svn-remote.svn.branches=designs/branches/1167923/*:refs/remotes/*
svn-remote.svn.tags=designs/tags/1167923/*:refs/remotes/tags/*
4

1 回答 1

2

该错误将来自您的远程(svn)服务器 - 您的 git-svn 配置不是特别相关。

您需要编辑待处理的提交,以便服务器接受每个单独的提交。

例如

  • git rebase -i HEAD~10
  • 确定问题提交
  • 选择 e 进行编辑
  • 纠正你的空白错误
  • git commit -va --amend
  • git rebase --continue

然后再试dcommit一次。

在您自己的 git pre-commit 钩子中放置等效检查符合您的利益 - 这样您就可以在提交时知道您的更改在推送到 svn 时将被拒绝,因此可以更正。

于 2012-07-23T05:50:08.893 回答