[issue2052] hgext.notify's diffs span too many changesets

John Prevost bugs at mercurial.selenic.com
Thu Feb 18 22:53:46 UTC 2010


New submission from John Prevost <j.prevost at gmail.com>:

When the notify extension is handling a changegroup, it produces a diff from 
the first parent of the first changeset in the group to the new tip.  
Unfortunately, this causes the diff to potentially include the text of many 
changes that were already in the target repository.

A better diff strategy is to notify using the diff between the old tip and 
the new tip--this way the diff covers only new material that the changegroup 
is adding to the repository.  This also improves the quality of diffstat in 
the presence of merges, since diffstat will only cover files that the new 
changesets actually change (and not any files touched by pulling and merging 
changes that are already present in the target repo).

I'm including a very basic patch for this.  A real patch should probably 
include a new option to choose between this behavior and the old behavior.

----------
files: notifytipdiff.hg
messages: 11809
nosy: j.prevost
priority: bug
status: unread
title: hgext.notify's diffs span too many changesets

____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue2052>
____________________________________________________
-------------- next part --------------
A non-text attachment was scrubbed...
Name: notifytipdiff.hg
Type: application/octet-stream
Size: 666 bytes
Desc: not available
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20100218/a0af89fa/attachment.obj>


More information about the Mercurial-devel mailing list