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

2013-07-23 Thread Junio C Hamano
Thomas Rast 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 (!saved_parents_initialized) {

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 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 that touche

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

2013-07-23 Thread Thomas Rast
Junio C Hamano writes: > Thomas Rast 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

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

2013-07-22 Thread Junio C Hamano
Thomas Rast 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 pruned > commits

[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 f