Re: [PATCH] log: use true parents for diff even when rewriting

2013-07-23 Thread Thomas Rast
Junio C Hamano gits...@pobox.com writes: Thomas Rast tr...@inf.ethz.ch writes: When using pathspec filtering in combination with diff-based log output, parent simplification happens before the diff is computed. The diff is therefore against the *simplified* parents. This works okay,

Re: [PATCH] log: use true parents for diff even when rewriting

2013-07-23 Thread Uwe Kleine-König
Hello Thomas, On Tue, Jul 23, 2013 at 09:27:06AM +0200, Thomas Rast wrote: Junio C Hamano gits...@pobox.com writes: Conceptually I can see how this will change the history simplification in the vertical direction (skipping the ancestry chain and jumping directly to the closest grandparent

Re: [PATCH] log: use true parents for diff even when rewriting

2013-07-23 Thread Junio C Hamano
Thomas Rast tr...@inf.ethz.ch writes: +define_commit_slab(saved_parents, struct commit_list *); +struct saved_parents saved_parents_slab; +static int saved_parents_initialized; + +void save_parents(struct commit *commit) +{ + struct commit_list **pp; + + if

[PATCH] log: use true parents for diff even when rewriting

2013-07-22 Thread Thomas Rast
When using pathspec filtering in combination with diff-based log output, parent simplification happens before the diff is computed. The diff is therefore against the *simplified* parents. This works okay, arguably by accident, in the normal case: the pruned commits did not affect the paths being

Re: [PATCH] log: use true parents for diff even when rewriting

2013-07-22 Thread Junio C Hamano
Thomas Rast tr...@inf.ethz.ch writes: When using pathspec filtering in combination with diff-based log output, parent simplification happens before the diff is computed. The diff is therefore against the *simplified* parents. This works okay, arguably by accident, in the normal case: the