>>> The 'ignore_ancestry' flag should probably be passed to >>> svn_wc__get_diff_editor(..., ignore-ancestry=ignore_ancestry, ...) instead >>> of passing (..., ignore_ancestry=use_git_diff_format, ...). But then where >>> should 'use_git_diff_format' be used?
Bert wrote: >> The git_diff flag, triggers a lot of things... some of which require >> noticing ancestry. >> >> Instead of properly defining what this flag did, we just passed it around >> everywhere. >> >> With the new callback apis and filters, most of this was no longer >> necessary. Philip Martin wrote: > If the current code is correct then we should remove the redundant > assignment to ignore_ancestry and make it an unused parameter. But it doesn't look like the current code is correct. > The filter reverse the results, but there is one thing it can't do. > > In some cases we have replacements... > Reported as a delete, followed by an add. > > Just using the reverse filter would make this an add followed by a delete, > as it can't just reorder the callbacks. > > That is why the driver still knows which reporting order it should use. > > But it no longer contains an if in all places to report two ways... as it > used to do with the old implementation. The filter performs the translation > for all drivers. The svn_wc__get_diff_editor() doc string says " * Normally, the difference from repository->working_copy is shown. * If @a reverse_order is TRUE, then show working_copy->repository diffs. ". That's not true, it only swaps the order of 'add' and 'delete', so I've corrected that doc string in r1619788. - Julian

