[wp-hackers] Switching from SVN

Eric Mann eric at eam.me
Fri Dec 10 05:51:00 UTC 2010

> No. Merges are hard because *merges are hard*.

I'm going to agree with Scribu here.  I used to think merges were hard
because *merges are hard* ... until I switched to a different system.

Mercurial, for example, merges entirely differently than SVN.  SVN looks at
the current state of two files and attempts to infer the differences between
them to combine the files.  Conflicts occur frequently and can be a pain to

Mercurial works its way backwards from each changeset to the common ancestor
of both branches.  By moving through every change, it can build a much
fuller picture of how each files has changed - even if two developers change
the same line of code!  It's not magic, and you'll still run into the
occasional conflict, but they're not anywhere near as common as with SVN.

On Thu, Dec 9, 2010 at 9:44 PM, Otto <otto at ottodestruct.com> wrote:

> On Thu, Dec 9, 2010 at 11:38 PM, scribu <mail at scribu.net> wrote:
> > That's where your SVN mentality comes in, where merges are hard.
> No. Merges are hard because *merges are hard*.
> If two people change the same line, then somebody has to fix the line.
> Simple as that. A version control system can't fix that. This is code,
> not magic.
> Even SVN can merge two different changesets that don't touch the same
> lines (but do touch the same files). I use this all the time. It works
> fine.
> > No, as previously mentioned by someone else, a merge that doesn't work
> out
> > of the box would simply be marked as needs-refresh.
> Sooo... how is this different then?
> On Thu, Dec 9, 2010 at 11:41 PM, scribu <mail at scribu.net> wrote:
> > It's easier when you move code from one file to another, for example,
> > because git keeps track of that.
> >
> > I had that problem when working on my GSoC project, which involved a lot
> of
> > moving code around.
> I admit that that is a great improvement over SVN's purely single file
> based system. However, it seems like a fairly thin and uncommon case
> to me. Furthermore, this is basically an incremental improvement that
> is not based on the distributed nature of the version control system.
> How does making the version control *distributed* improve the ability to
> merge?
> -Otto
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers

More information about the wp-hackers mailing list