Re: Segmentation fault during diff generation
From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Mon, 1 Sep 2014 17:26:48 +0100
The attached brute-force patch seems to fix many of the cases where changelist filtering was missing or wrong, but I don't much like it and haven't properly tested it.
I'm attaching it for us to consider, but not necessarily to commit. If anyone wants to kick it around a bit (test it) and report back, or preferably write some proper tests for it, that would be great.
Bert Huijben wrote:
> Julian Foad wrote:
>> (In the longer term, I would like it if we could implement this changelist
>> filtering in one place instead of scattering these "if" conditions around.
>> I would like to see a code structure more analogous to "find /wc/path <node
>> selection conditions: depth, changelists, etc.> | xargs diff", probably using
>> the existing svn_wc__internal_walk_children() function or something similar
>> to it.)
> You do know that this kind of restructuring would make it +- impossible to
> handle tree changes?
No, I don't know that.
> Personally I would wish we could just do the changelist filtering in the
> output layer, instead of in all the diff drivers separately... But the
> current code doesn't properly guarantee access to the local working copy
> paths to do that kind of processing there.
> In many cases it prefers to just pass something url like. (Not necessary the
> proper url)
If filtering at the output layer is easier that's totally fine with me, anything as long as it's simple and consistent.
Can we say the same thing in a more positive way: "It should be possible to do the filtering in the output layer. One thing that needs to be fixed to make this possible is that the WC paths need to be communicated consistently."
This is an archived mail posted to the Subversion Dev mailing list.