1

「git svn dcommit」を使用しようとしましたが、次のエラーが発生しました。

リポジトリ フックが失敗しました: 'pre-commit' フックがエラー出力で失敗しました:

*** 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 に答える