[darcs-users] Eclipse integration, refactoring, and combinato rial explosion?
Marnix Klooster
mklooster at baan.nl
Thu Dec 11 11:09:17 UTC 2003
Hello all,
A small addition to my previous post to darcs-users, where I wrote:
> I think the two strongest points of darcs are:
> * Works in terms of patches and collections thereof; this is a very
> natural way of thinking about software that is developed by
> multiple parties (or even multiple colleagues in one team).
> * Develops in a direction where patches capture the *human
> intention* of a change, instead of just the textual diff.
A consequence of this is that I think Tom Lord (on
http://gnuarch.org/bin/view/Main/DarcsComparison) draws an incorrect
conclusion when he says that "[the darcs approach] tries to automate the
wrong things. Indeed, when merging two trees, logically I'm combining all
the patches that went into each tree. However, in general, that can have
conflicts [...] [T]o resolve those conflicts [...] [a]rch [...] gives you a
toolbox of different techniques [...]".
Having such a toolbox is of course a good thing.
But what Tom ignores here, is that patches described by human intention will
result in *less* conflicts, therefore lessening the need for conflict
resolution tools. I mean, of all manual merges I've ever done (using
ClearCase) many could have been done automatically if the *intent* of the
merge had been described more in intensional terms like "rename variable X
to Y".
In that sense, I'm convinced that darcs does try to automate a good thing:
conflict avoidance. And also, I'm pretty sure that having 'intensional
patches' makes it easier to resolve conflicts: it is a good basis for better
conflict resolution tools.
Darcs isn't there yet, but it is going in the right direction. (Not fast
enough for me, but hey, this is uncharted territory :-)
Groetjes,
<><
Marnix
--
Marnix Klooster
mklooster at baan.nl <mailto:mklooster at baan.nl>
More information about the darcs-users
mailing list