2016-11-25 6 views
3

svn2gitをインストールして、SVNリポジトリをGITにすばやく変換しました。私は別のマシン(Ubuntu 16.04)と問題なく動作した別のSVNリポジトリで変換手順を試しました。git2svnシンボリックリンクを作成できません(ファイル名が長すぎます)

今はLinux Mint CinnamonのSVNリポジトリとは別の(ただし非常にシミラールな)リポジトリを使っています。

git clone https://my.git.com/repository.git 
cd repository 
svn2git svn://my.svn.com/repository --authors ../authors_transform.txt 

. 
. 
. 

error: unable to create symlink asp/layer/man/rep/onewith_totalmax_victory.php (File name too long) 
read-tree -m -u -v HEAD HEAD: command returned error: 128 

私の場合ではない/ home暗号化の可能性について(ファイルの長さの制限として)読んでいます。 ランダムな文字列を試してみました

touch Etiam_tortor_est0_placerat_sit_amet_dolor_in0_ultricies_malesuada_nisi-_Aenean_et_urna_enim-_Vivamus_porta0_velit_et_pulvinar_fermentum0_urna_lacus_tempor_sapien0_et_laoreet_tellus_elit_nec_ligula-_Nulla_iaculis0_libero_eget_rutrum_mattis0_nisl_velit_vive 

これは256文字で、ファイルを作成します。

これに対処するには?

EDIT:問題はmacOS Sierraでも発生します。

答えて

0

svn2gitツールは、git-svnを使用しているため、SVNリポジトリを「すぐに変換する」には適していません。

svn2gitというPlenyツールがありますが、おそらく最も良いのはhttps://github.com/svn-all-fast-export/svn2gitのKDEです。そのsvn2gitツールを使用することを強くお勧めします。それは私がそこで利用できると知っている最高です、そして、それはあなたがそのルールファイルでできることに非常に柔軟です。

svn2gitあなたは git-svnに基づいて使用して git-svnはないリポジトリまたはリポジトリ部品のワンタイム変換のための適切なツール です。 Gitを既存のSVNサーバーのフロントエンドとして使用する場合は便利ですが、ワンタイムコンバージョンの場合はではなくを使用してください。git-svnを使用しますが、svn2gitはこのケースに適しています。

svnevereverからhttp://blog.hartwork.org/?p=763までは、SVNリポジトリの履歴をGitに移行する際の履歴を調べるのに最適なツールです。 git-svn(またはあなたのケースでは、間違ったsvn2gitが)で開始することが容易である


にもかかわらず代わりgit-svnのKDE svn2gitを使用して、なぜ、ここではさらにいくつかの理由があることは、その柔軟性以外にも、優れている:

  • 履歴はsvn2git(正確なものが使用されている場合)によってはるかに良く、よりきれいに再構築されますが、これは特に分岐やマージなどの複雑な履歴の場合に当てはまります
  • タグは、 Gothのチェス
  • git-svnタグには余分な空きコミットが含まれており、ブランチの一部ではないため、fetchはデフォルトでコマンドに--tagsを与えるまでそれらを取得しません。フェッチされる。彼らは
  • に属しどこ適切svn2gitタグを使用すると、SVNでレイアウトを変更した場合、あなたが簡単にあなたはまた、簡単に複数のGitリポジトリに1つのSVNリポジトリを分割することができsvn2gitと歴史最終的に
  • を失うことになるgit-svnで、svn2gitでこれを設定することができます
  • 又は容易1つのGitのリポジトリに同じSVNルートにおける複数のSVNリポジトリを組み合わせる
  • 変換が速く正確svn2gitgit-svn
0123よりも無数倍であります

git-svnが悪化し、KDE ​​svn2gitが優れている理由はたくさんあります。シンボリックリンクだった特定のファイルと同時にファイルで問題となっているようだ、すべての後

git clone --no-checkout https://my.git.com/repository.git 
cd repository 
git config core.symlinks false 
git checkout <branch> 
2

の変換は、シンボリックリンクはこれを試して壊しましたか?

とにかく手動でSVNでファイルを修正してから変換を実行すると、問題が修正されました。

関連する問題