cvs2svn合には"xxxが変わってきているんですけど、vファイル"

StackOverflow https://stackoverflow.com/questions/773958

  •  13-09-2019
  •  | 
  •  

質問

その答えを自分の問い合しようと思ったのです!しかしんだ後で、私の答えの場合、でん:

換算するときにこのオプションをSubversion cvs2svnに失敗したファイルのメッセージ

"xxx is not a valid ,v file"

何が問題なのでしょうか。

役に立ちましたか?

解決

結局のところ

CVSNTはcvs2svnがそれらを必要とするいくつかのファイルから最後は0xaを省略します。これは簡単に次のC#コードで固定することができます。

static void Main(string[] args)
{
  foreach (string file in Directory.GetFiles(args[0], "*,v", SearchOption.AllDirectories))
  {
    using (FileStream sin=File.Open(file, FileMode.Open, FileAccess.ReadWrite))
    {
      sin.Position=sin.Length-1;
      if (sin.ReadByte()==0x40)
      {
        Console.WriteLine("fixed "+file);
        sin.WriteByte(0xa);
      }
    }
  }
}

他のヒント

私の場合、また腐敗に symbols 部に xxx,v ファイルです。想される形式が tag_name:tag_rev, があった場合:

  • :tag_rev
    例えば tag_name
    固定を削除します。
  • 複数の tag_name
    例えば tag_name1:tag_name2:tag_rev
    固定を除去し、第二のタグ名を使うように。
  • 無効な名前の改正になります。私の場合、無効な文字にしたい z (1ビットの差ASCII :z).
    例えば tag_nameztag_rev
    固定に置き換え z:.

を中の調査になっていたため、 print ライン cvs2svn_rcsparse\common.py.場合の解析の記号に失敗した場合、最後のタグを印刷するようになりました。

def _parse_admin_symbols(self, token):
while 1:
  tag_name = self.ts.get()
  # WileCau print the token and tag_name
  print 'token=|%s| tag_name=|%s|' % (token, tag_name)
  if tag_name == ';':
    break
  self.ts.match(':')
  tag_rev = self.ts.get()
  self.sink.define_tag(tag_name, tag_rev)

を変更するためには、さらに印刷を追加し多くのノイズを出力するアのキャンセル手数料無のみの印刷の場合、例外を起こしたニーとも狭いです。


またこのリンクができない私の問題がある。信用へのキリスト教Haarmannのための記録です。

http://tigris-scm.10930.n7.nabble.com/suggestions-for-cvs2svn-fix-for-error-quot-myfile-txt-v-is-not-a-valid-v-file-quot-td54240.html

場合のリンクは無効となりますが、その概要はあったのブラウザに送信され、 xxx,v ファイルを編集した交換0x0A(LF)の0x0D/0x0A(CR/LF)は、追加の文字によるパーサをお考えのファイルが腐敗した.

思いもようなエラーとなります。ご利用する場合は、cvs2gitするために移動さcvsリポジトリへのgit、このエラーが発生する複数のファイルです。って検出されることが欠閉 0x40(@) 末のファイルです。

私の解決には:

1. Open the corrupted cvs-history-file e.g. with vim (maybe in binary mode)
2. Add the missing @

できませんので、その内容を比較し、破損ファイルのRCSファイル形式: rcs_man_page

このトラブルシューティングを行うための一つの方法はあなたにいくつかの洞察を提供することができるrcs log *file,v*を、実行することです。

私の場合、私はS '@欠落しているいくつかのファイル、セミコロンが欠落していくつかのファイルを持っていた、と私はcvspserverに私の古いリポジトリをインポートするために使用されるツールは、参照されていないバージョンで投げていた。

グッドラック!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top