From: Markus Wanner <markus@bluegap.ch>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andrew Dunstan <andrew@dunslane.net>
Cc: Ron Mayer <rm_pg@cheapcomplexdevices.com>
Cc: Marko Kreen <markokr@gmail.com>
Cc: Greg Stark <stark@enterprisedb.com>
Cc: Andres Freund <andres@anarazel.de>
Cc: Aidan Van Dyk <aidan@highrise.ca>
Cc: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Cc: Magnus Hagander <magnus@hagander.net>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Subject: Re: PostgreSQL Developer meeting minutes up
Date: Sun, 07 Jun 2009 01:03:05 +0200
Message-ID: <4A2AF5A9.1050901@bluegap.ch> (raw)
In-Reply-To: <11701.1244308956@sss.pgh.pa.us>
References: <20090526144812.GC15213@yugib.highrise.ca>
<e51f66da0906020546l578e56c8m52f5a6e10760eaf9@mail.gmail.com>
<20090602162333.369974jcc3jpn3dx@mail.bluegap.ch>
<e51f66da0906020834q7e6e3401jf77f40f9924bbace@mail.gmail.com>
<20090602180702.15986cp384yo3l7q@mail.bluegap.ch>
<e51f66da0906020917m274debd5u3288d6d56b62daf7@mail.gmail.com>
<20090603131004.12934iyrr4f7rlsc@mail.bluegap.ch>
<4136ffa0906030508i2971790dk54a8203ee03ed196@mail.gmail.com>
<4A266A56.2020703@anarazel.de>
<4136ffa0906030701x200bf0e4o4c77fa3239062ca5@mail.gmail.com>
<e51f66da0906030720u33d72d05y14ea5ce002cbaf1e@mail.gmail.com>
<20090604114610.808217tbogts0noi@mail.bluegap.ch>
<4A283A8D.8030600@cheapcomplexdevices.com>
<20090605090514.11712ntlvhi2deay@mail.bluegap.ch>
<2871.1244209112@sss.pgh.pa.us>
<4A2922E8.1090505@dunslane.net>
<4A2A8E16.2090703@bluegap.ch>
<4A2A9FB8.4050405@dunslane.net>
<11701.1244308956@sss.pgh.pa.us>
Hi,
Tom Lane wrote:
> How robust is git about dealing with whitespace changes,
> nearby variable renamings, and such?
Monotone tracks changes line by line. I'm not sure about git. Kdiff3,
which is used to do the manual merge, if necessary, uses some finer
grained method, AFAIK.
However, there's no special whitespace treatment. Nor anything remotely
as clever as "nearby variable renaming". There's no such magic, the
developer still needs to tell the tool what he wants.
However, I'd argue that monotone (as well as git) do an incredible job
at "remembering" these decisions and merges, so you never need to do a
manual merge twice. (Which I remember doing a lot with diff/patch, quilt
or subversion).
> Andrew's plperl patches would be an excellent small test case. Anybody
> want to try them against the experimental git repository and see if git
> does any better than plain patch?
I've given that patch a try under monotone (just because I happen to
know that a lot better). The results should be the same as with git.
I've started with the patch against 7.4 (which I know doesn't resemble
the current workflow, but is sufficient for testing merging
capabilities). Merging that to 8.0 worked without any conflicts.
Although the result then differed from Andrew's work in that the
variable dummy_perl_env is declared after the "#ifdef WIN32" block as
opposed to before in 7.4. The addition in the comment ("notably on
Windows") of course also didn't appear automatically.
It merged from 8.0 to 8.1 without any conflicts, results were equal.
Merging from 8.1 to 8.2 resulted in one merge conflict, because of the
additional condition ('if (interp_state == INTERP_NONE)') that got added
between 8.1 and 8.2.
Merging from 8.2 to 8.3 and then to HEAD as well was conflict free
again. The results differ in whitespace changes exclusively.
So, three out of the five merges would have been equally perfect with
automatic merging, while requiring only one single command, which could
even be scripted, because it remains the same over time, i.e. for
monotone it was something similar to:
mtn propagate REL8_0_STABLE REL8_1_STABLE
Regards
Markus Wanner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: markus@bluegap.ch, tgl@sss.pgh.pa.us, andrew@dunslane.net, rm_pg@cheapcomplexdevices.com, markokr@gmail.com, stark@enterprisedb.com, andres@anarazel.de, aidan@highrise.ca, heikki.linnakangas@enterprisedb.com, magnus@hagander.net
Subject: Re: PostgreSQL Developer meeting minutes up
In-Reply-To: <4A2AF5A9.1050901@bluegap.ch>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox