2017-03-03 5 views
0

git init + git svn fetchでsvn repoを正常に取得できます。しかし、更新するか、ローカルのgit-svnリポジトリにsvn repoの更新を取得しようとすると、git svn rebaseが返ってきます。現在のブランチトランクは最新のです。git-svn:git svn rebaseがリポジトリを更新しない

EDIT 私はすでにgit repoに変更を加えても差が出ますか?

以下は私の.git/configファイルです。

[core] 
    repositoryformatversion = 0 
    filemode = false 
    bare = false 
    logallrefupdates = true 
    symlinks = false 
    ignorecase = true 
    hideDotFiles = dotGitOnly 
[svn-remote "svn"] 
    url = https://server/svn/Project 
    fetch = SubProject/trunk:refs/remotes/origin/trunk 
    tags = SubProject/tags/{1.03.000,1.02.000}:refs/remotes/origin/tags/* 
+0

GitクローンにまだないSVNリポジトリに新しいコミットがありますか? 'git svn rebase'は、あなたが期待していることを正確に行うべきです。 – Vampire

+0

@Vampire間違いなく更新があります。私はトランクブランチに切り替えようとしました、git svn fetch --all + git svn rebase。 –

答えて

0

次のようにあなたは、まずは、その後、クリーン、地元Gitリポジトリと同じことをリベースし、リモートにプッシュSVNリポジトリから新しいコミットをフェッチにあります

D:\svn-to-git\dev-git> git svn fetch 
D:\svn-to-git\dev-git> java -Dfile.encoding=utf-8 -jar D:\svn-to-git\svn-migration-scripts.jar sync-rebase 
D:\svn-to-git\dev-git> java -Dfile.encoding=utf-8 -jar D:\svn-to-git\svn-migration-scripts.jar clean-git --force 
D:\svn-to-git\dev-git> git add . 
D:\svn-to-git\dev-git> git push 

詳細ここで読むことができます - Migrating From SVN to Git

+0

それに加えて、 'git-svn'はSVNからGitへの移行には本当に適切なツールではなく、コミットしたいSVNサーバーのフロントエンドとしてGitを使用するためだけに、' git svn rebase'足ります? 'git svn fetch'はクローンされたすべてのブランチを更新しますが、' git svn rebase'のドキュメントの最初の文で読むことができます: "現在のHEADのSVN親からリビジョンを取り出し、現在の(コミットされていないSVNに)それに対して反対します。 OPが望んでいることを正確に行う必要があります。 – Vampire

+0

私はgit svn rebaseがsvn updateと同等であると思いますか?私はSVNリポジトリから変更を引き出すかどうかを確認するためにgit svn fetchを試みましたが、それも同様に思われました。 –

+0

@Vampire 'git svn rebase'と' git svn fetch'の違いは、前者が現在のHEADのSVN親からリビジョンを取得しているのに対し、後者はsvnリモートからすべての未追跡リビジョンを取得します。 'git-svn'はスムーズな移行のための非常に良いツールですが、私にとってはさまざまな設定で何度も働いていましたが、安全に無視できなかった場合や、そうでない場合のエッジの場合は、より洗練された代替案。 –

関連する問題