2012-03-08 9 views
1

私は面倒な状況があります。私の会社はsvnを使っていますが、私はWindowsとOSXのコンピュータでgit-svnを使ってローカルに開発しています。私は、WindowsマシンがOSXラップトップからプッシュして引っ張ることを可能にしようとしています。OSXローカルブランチを引っ張るときに、「No common commits」とヒットします。 基本的な事実はです:git-svnはWindowsとosxで異なるハッシュを生成します

  • WindowsとOSXの両方が
  • SVNトランクを追跡両リポジトリが最新であり、ショーは、最新のログメッセージ
  • git logとして10を吹けのgit - のsvnレポを持っています同じ著者のハッシュで同じメッセージを表示しますが、コミットハッシュが異なります

これは「共通コミットなし」の問題ですが、なぜハッシュが異なるのですか?それが行末の問題、または大文字小文字を区別するファイル名の問題である場合、どのように私は違いを見つけることができます。

注:これは巨大な(1.8GB)レポですので、手動でファイルを修正または比較することはできません。

+0

すべてのコミットハッシュが異なるのですか?両方のreposで 'git rev-list'を実行すると、コミットハッシュのリストを取得できます。 –

+0

私はすべてが「共通コミットなし」とは異なると推測しています。 * first * commitのsha(親を持たないもの)で 'git cat-file -p $ SHA'を試してください。木の唯一の違いはありますか?そうであれば、 'git ls-tree -r $ SHA'を使ってツリー内のすべてのエントリのハッシュを得ることができます。 –

+0

ケビン、これらの2つのリポジトリは、最初のコミットとは異なるsvnリビジョンを持っています。これは、Winが@ 5で始まり、OSXが@ 10で始まる場合、Win @ 10は親を持ち、OSX @ 10はハッシュを投げ捨てて下流のものをすべて破棄することを意味します。それはおそらく問題です。 Gitの改ざんに対する固有の抵抗は、私がWinから以前の履歴を削除するだけではなく、10時に開始することができないことを意味します。再チェックアウトする必要がありますか? –

答えて

0

Kevinはいくつかの調査ツールを指摘し、私はsvnブランチが異なるsvnリビジョンで追跡を開始したことに気付きました。これが問題の原因です。ブランチを別のものに移植する方法を検討するのではなく、リポジトリを再ダウンロードしました。ありがとうKevin