次のようなフラットな svn リポジトリがあります。
my_repo/
├── file1.c
├── file2.c
├── file3.c
└── README
このリポジトリにはブランチもタグもありません。私がやろうとしているのは、それを git リポジトリに変換してコミット履歴を維持することだけです。
私が試してみました:
git svn clone --trunk=/ -A users.txt svn+ssh://user@svn.example.com/projects/my_repo dest_dir
これはうまくいくと思いましたが、ナビゲートしdest_dir
て実行するとgit svn fetch
、何も取得されないようです。git log
利回りの使用:
fatal: bad default revision 'HEAD'
使用すると、次のようsvn checkout svn+ssh://user@svn.example.com/projects/my_repo
に返されます。
A my_repo/file1.c
A my_repo/file2.c
A my_repo/file3.c
A my_repo/README
Checked out revision 57.
したがって、リポジトリは有効でアクセス可能です。
subgit
このエラーが発生するなど、さまざまなツールを試しましたがsvn: E170003: 'stat' not implemented
、これは、リポジトリをホストしているサーバーが古いバージョンのサブバージョンを使用しているためだと思います。サーバーを制御できないため、更新を実行できません。
svn2git
コマンドを使用して、 も使用してみました
svn2git svn+ssh://user@svn.example.com/projects/my_repo --rootistrunk -authors users.txt --verbose
しかし、これは私に別のエラーを与えていました:
E: 'svn+ssh:/user@svn.example.com/projects/my_repo' is not a complete URL and a separate URL is not specified command failed
これは私を困惑させ、なぜそれが機能しないのかわかりません。基本的に、履歴を維持しながらsvnリポジトリをgitリポジトリに変える方法を考えていました。誰かが私を助けてくれるか、正しい方向に向けてくれることを願っています。この単純なレポを git に転送するのがこんなに難しいとは思いもしませんでした!
ありがとう