cvs2svn合には"xxxが変わってきているんですけど、vファイル"
質問
その答えを自分の問い合しようと思ったのです!しかしんだ後で、私の答えの場合、でん:
換算するときにこのオプションを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のための記録です。
場合のリンクは無効となりますが、その概要はあったのブラウザに送信され、 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に私の古いリポジトリをインポートするために使用されるツールは、参照されていないバージョンで投げていた。
グッドラック!