2016-03-26 13 views
1

p4からGITへの移行に「git-p4」スクリプトを使用しています。多数の変更リスト(約500万件)のためクローン操作が失敗しています。だから私は増分インポート操作を実行しようとしています: 私は最初の実行のためにクローンを作成して、同期操作を試みました。私は小さな変更のリストでテストしました。git p4 sync operation failure

最初の実行:

git p4 clone //depot/f1/f2/f3/[email protected],17918050 -v 

セカンドラン:

git p4 sync //depot/f1/f2/f3/[email protected],17918064 -v  

エラー:

Traceback (most recent call last): 
    File "C:\Program Files\Git\mingw64/libexec/git-core\git-p4", line 3677, in <module> 
    main() 
    File "C:\Program Files\Git\mingw64/libexec/git-core\git-p4", line 3671, in main 
    if not cmd.run(args): 
    File "C:\Program Files\Git\mingw64/libexec/git-core\git-p4", line 3429, in run 
    die("fast-import failed: %s" % self.gitError.read()) 
    File "C:\Program Files\Git\mingw64/libexec/git-core\git-p4", line 122, in die 
    raise Exception(msg) 
Exception: fast-import failed: warning: Not updating refs/remotes/p4/master (new tip 85c94d84335bb1441a7f959b384729b2a4d633f4 does not contain 3222bdc29799d1fe5fff91c36524481b1469f1d9) 
+0

--deetect-branchesを使用していますか? – Vitor

+0

いいえ、私は説明で述べたのと同じコマンドを使用しています。 – Kester

+0

チェンジリストの範囲を使用する代わりに、git p4クローンで利用可能な "--max-changes"および "--changes-block-size"引数で遊んでみてください。 – Vitor

答えて

1

回避策: - 変更リストの範囲を持つディレクトリおよびクローンのコードを作成します。 git p4クローン// depot/f1/f2/f3/ere @ 17888479,17918050 -v - コードをGITリポジトリにプッシュします。下のリンクにあるスクリプトを使用して、履歴付きのコードを移動することができます。 https://gist.github.com/emiller/6769886 - 別のディレクトリ(空のリポジトリ)を作成し、増分変更リストの範囲でコードを複製します。 - GITからコードを引き出し、ローカルリポジトリのコードとマージします。 - 競合を解決してコミット後にプッシュ

関連する問題