Re: [PATCH 3/3] diffstat generation in hooks--update was passing "^baserev" to git-diff-tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andy Parkins wrote:
> > You still need to derive a merge-base, but only to detect the forced
> > update and to format the message. Then you should use --not $baserev
> > instead of ^$baserev just in case there is more than one merge-base.
> 
> Are you suggesting something like this?
> 
> git-rev-parse --not --all $baserev | git-rev-list --stdin --pretty $newrev
> 
> Which would start showing from $newrev but would exclude all baserevs and all
> existing branches.

You are using ^$baserev in two instances.

(1) in a for loop which obviously is intended as a table of contents
(revs plus rev-type (can this be anything else than 'commit'?)). Here
you should use

git-rev-list $newrev --not $baserev

(2) later to print the log messages for all new revs. Here you use just
this:

git-rev-list --pretty $oldrev..$newrev


Then the diffstat:

git-diff-tree --no-color --stat -M -C --find-copies-harder \
  $oldrev $newrev

This reflects the modifications of the revisions that have just been
listed *only* in the fast-forward case. But even in the forced update
case it tells how the old tree transformed into the new tree, and for
this reason nothing more complicated is needed, IMO.

-- Hannes

-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]