Reputation: 7889
I unfortunately have to work with an SVN repository at work. I do this via git-svn. Now, after I've made changes, commited them and my git-svn "pull" alias:
!git svn fetch && git svn rebase -l
Now if there's a merge conflict that I don't want to resolve, my instinct is to do:
git checkout --theirs conflicting_file
git add conflicting_file
git rebase --continue
But, now, instead of having the conflicting_file
from some other developer, it seems there's now the conflicting_file
that was previously in my index.
What exactly happens here and what's the correct way of doing this?
Upvotes: 0
Views: 636
Reputation: 4772
I think @poke had it right: "theirs" and "ours" are swapped in your mind vs git's behavior. When you do the svn rebase, your current branch ("ours") is the replication of the svn branch and the changes that are being merged/rebased in ("theirs") are the ones that you made locally. When I use git-svn for the same purpose, I put my stuff on a separate git branch and only bring it into the svn branch when I'm ready to do a 'svn dcommit'. Doing that would make the theirs/ours issue more clear in your mind, and also keeps you from having to deal with conflicts until you're ready to.
Upvotes: 2