2011-01-14 18 views
5

私たちは最近、SVNサーバーをあるデータセンターから別のデータセンターに移動し、サーバーのIPが変更されました。私はsvn switch --relocate old_url new_urlを使って私の実際の作業コピーを更新しました。それは満足していました。SVNリポジトリを移動した後のgit-svn?

しかし私はgit-svnを使ってリポジトリのローカルgitバージョンで作業しています。 SVNサーバーを移動した後、私は.git/configにレポのURLを更新し、私はdcommitを使用しようとすると、私はこのエラーが表示されます。私は

Unable to determine upstream SVN information from HEAD history. 
Perhaps the repository is empty. at /home/me/libexec/git-core/git-svn line 520. 

何をしないのですか?

答えて

4

一般的に、これはgit-svnが直接サポートするものではありません。最大のハードルは、git-svnがSVNからのコミットを一意に識別するために "git-svn-id"(各コミットのコミットログに表示されます)を使用し、SVN URLがこのIDの一部であることです。 URLが変更されると、既存のすべての履歴がほとんど無効になります。

hereのように動作するはずの回避策がありますが、正確には単純ではなく、自分で試したことはありません。

+0

ありがとうございました。私はこれが事実であると恐れていたが、私は自分の仕事を失うことについてあまり心配していない。私はいつもSVNのものを再インポートした後、私の枝を引っ張ることができます。 – codekoala

+1

私は[GitSvnSwitch](https://git.wiki.kernel.org/index.php/GitSvnSwitch)のリンクに記載されている回避策を試してみましたが、それはうまくいきました。 – ldav1s

+0

はい、私の '.git/config'に同じ' url'と 'rewriteRoot'を使って私のトリックもやってしまいました!素晴らしい! – codekoala

0

これをgit-svnで行うには、両方のreposを複製してマージし、次にgit-svnメタデータを再構築します。

私の答えはhereです。

関連する問題