refactoring was Re: [darcs-users] how to handle moving code around

Shae Matijs Erisson shae at
Thu Mar 31 17:45:37 UTC 2005

Julian Snitow <jsnitow at> writes:

> `darcs cp' as you describe it would effectively do one of two things:
> (1) go back in time and mangle past changesets, or (2) record a 'copy'
> operation in a patch, allowing correct historical annotation, but
> unaltered rollbacks. [Here, number 2 would be the right thing to do].

I'd prefer option 2 as well.

Interestingly, this is a refactoring operation in reverse.
Refactoring browsers disappear a method if you move a method onto a duplicate
of itself. This makes perfect sense if think about it as the opposite of 
"darcs cp", because it just means "merge duplicates".
I suspect that a lambda calculus style 'minimum' set of operations for darcs
patches might be found in refactoring theory. 
(This is not the first time I've said that. :-)
Anyone else interested in this sort of thing?
Programming is the Magic Executable Fridge Poetry, |
It is machines made of thought, fueled by ideas.   | -- Shae Matijs Erisson

More information about the darcs-users mailing list