[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