[darcs-users] darcs patch: Simpler types for changes --summary. (and 2 more)

Eric Kow kowey at darcs.net
Mon Aug 24 00:24:42 UTC 2009


On Wed, Aug 19, 2009 at 22:28:47 +0200, Reinier Lamers wrote:
> Here you are, sir...

Thanks.
 
> Are replace patches actually useful, and not some historical curiosity? I
> used to be somewhat afraid of them for some reason.

I personally find replace patches useful because they generally
commute more/reduce dependencies.

Two gotchas:
- Merging replace patches with different token specs will lead to a
  conflict, which isn't very nice.
- Conflict marking for replace is virtually non-existent.

That aside, I don't really think there is anything to be afraid of.
Just remember that replace is extremely dumb.  It just knows about
'things that fit my token spec' and 'everything else'.  See
http://lists.osuosl.org/pipermail/darcs-users/2009-August/020880.html
for a discussion on this.

You can shoot yourself in the foot by replacing more than you really
intended, but I don't think it's any worse than using the
search-replace-all functionality of your text editor.  See also
http://bugs.darcs.net/issue887

Even for people who like darcs replace, there are times where it's not
clear whether to just use plain old hunk patches (no risk of replacing
too many things there).  For this kind of work, i.e.  doing a bunch of
boring camel casing, it's very clear-cut.

> Will it do the right thing  if someone later adds a comment 'this used
> to be called xml_summary', and the comment-adding patch and the
> replace patch are commuted back and forth?

That would depend on the replace patch, so no commutation.

-- 
Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
PGP Key ID: 08AC04F9
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 194 bytes
Desc: not available
URL: <http://lists.osuosl.org/pipermail/darcs-users/attachments/20090824/80e57fc3/attachment.pgp>


More information about the darcs-users mailing list