1

svn の変更を Mercurial リポジトリにプルしているときにエラーが発生しました。

abort: ('Valid UTF-8 data\n(hex: 75 6c 6c 20 74 61 73 6b 20 6c 69 73 74 20 74 68 65 20 63 6c 69 65 6e 74)\nfollowed by invalid UTF-8 sequence\n(hex: 92 73 20 4e)', 22)

svnでそれを検出する方法を見つけました(ファイル名は修正されていますが、コンテンツは修正されていません)。この検出を hgsubversion に適用して、プルを続行するにはどうすればよいですか??

4

1 に答える 1

0

以下は機能しません-ステップ4を参照してください(これが時間を節約するのに役立つ場合は賛成してください:))。うまくいけば、本当の答えはこれのいくつかのバリエーションです...

  1. リビジョンのsvnログを見て、影響を受けるファイルを確認してください(できれば少量)
  2. isutf8 .hg/store/data/trunk/{svn path}(パッケージからの)ファイルの使用ごとmoreutilsに([my]ブランチは、私が理解していないhgブランチのもののためにトランクにも表示されます...)。物事が「正しく間違っている」場合、isutf8不平を言うオフセットはinvalid UTF-8 sequenceメッセージに非常に近いはずです。私の場合、isutf8エラーが22であった位置24で不平を言いました(これはユニコードデコードの開始または終了のいずれかを報告しているだけだと思います...)
  3. の線に沿って何かをする

    iconv -f iso-8859-1 -t utf8 {file name} > {temp file}
    mv {file name} ~ # For backup purposes
    mv {temp file} {file name}
    
  4. 最後にsvnをログに記録し、楽観的な答えを書いたhg pullにプルを開始した後、再び失敗するのを見てください。

于 2011-05-18T23:03:35.470 に答える