Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

base mine theirs

Tags:

svn

kdiff3

Just now I've got suggestions to my another question and am trying to merge my feature branch to the working copy of the trunk in the working copy directory of the trunk. Due to a couple of conflicts I'm using KDiff3 to resolve them. However I'm not sure what here Base, Mine and Their mean? In my case (merge branch to trunk):

Mine --- the working copy of the trunk,

Base --- ???

Their --- ???

Another basic question: After resolving the conflicts and saving, the edited version will be saved in the local working copy of the trunk. Is my understanding correct?

Actually I've googled awhile in oder to avoid same simple questions which are put forwards here. However I cannot find any simple explanations regarding to these dummy questions.

like image 580
JohnMunich Avatar asked Jan 05 '11 12:01

JohnMunich


1 Answers

Base, Mine And Theirs are just three names in a three-way-diff. You can use any copy in any field of those (base, mine, theirs). But it makes sense to do like this:

  • Base: the repository version of your checkout
  • Mine: your working copy edits
  • Theirs: the conflicting version

That means, that you have the version you checked out into your working directory. You changed it and before you can commit you have to merge the edits others did into your working copy. So you do a three-way-diff to see original (Base) vs. your edits (Mine) vs. the conflicting edits (Theirs). You go through it and merge it into your version in your working copy.

When you are done you test it (compile or whatever you have to test) and commit it.

three-way-diff in kdiff3 documentation: http://kdiff3.sourceforge.net/doc/documentation.html#id2488370

And explanation in a svn book: http://svnbook.red-bean.com/en/1.1/ch03s05.html#svn-ch-3-sect-5.4

like image 77
Simon Avatar answered Oct 24 '22 05:10

Simon