[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Merger not Merging -- What I would like a merge process to do.

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2005-01-24 18:45:06 CET

On Jan 24, 2005, at 9:13 AM, Brass Tilde wrote:
>
> For instance, let's say the branch starts out using a class,
> "TBD.something". After the branch is cut, trunk is changed to no
> longer
> need that class, so not only is the file removed, but other source
> files are
> changed to remove references to it. In the meantime the branch was not
> changed to remove those references. Thinking about it, there are two
> more
> possibilities (at least) in the branch. One is that the changes to the
> branch don't involve the deleted class at all. The other is that the
> changes to the branch require the presence of the class that has been
> deleted from trunk.

There you go, you just answered your own question.

If the branch changes have nothing to do with the deleted class, then
there will be no problems merging thoes changes to a working copy that
has the class missing. If the branch changes *do* talk about the
class, then you will definitely get some conflicts merging to the
working copy.

The process of merging isn't mysterious at all. A simple analogy:
imagine that you hand off a copy of your software to your buddy. Then
you go and make some changes to your software. Perhaps you add some
things, perhaps you remove some things. You definitely edit some
files.

Two weeks later, your buddy sends you an email saying, "hey! I made
some improvements to your software! I've attached a patch in this
email."

Will the patch apply cleanly to your latest code? The answer is: it
completely depends on the patch, and it also depends on how your
software has changed over the last two weeks.

    * If the patch tries to change files that no longer exist, you'll
get a conflict.

    * If the patch tries to delete files that you've since changed,
you'll get a conflict.

    * If the patch tries to add new files with the same names of ones
that you've coincidentally also added, you'll get a conflict.

    * If the patch tries to change lines of code that no longer exist,
you'll get a conflict.

    * If the patch tries to change lines of code that you also changed,
you'll get a conflict.

    * If the patch tries to add new lines of code to an area where you
also added new lines, you'l get a conflict.

That's about as explicit as the rules get. :-)

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Mon Jan 24 18:48:31 2005

This is an archived mail posted to the Subversion Users mailing list.