Re: [PATCH] use persistent memory for rejected paths
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:50:02
Clemens Buchacher [off-list ref] writes:
An aborted merge prints the list of rejected paths as part of the error message. Some of those paths do not have static buffers, so we have to keep a copy. Use string_list's to accomplish this. Previous to this fix, the error message would print whatever was stored in the stack at that point.
Hmmm, all calls to add_rejected_path() seems to be with ce->name as the path parameter, and I do not think we ever free cache entries (either taken from the index or synthesized during the merge), so I am a bit surprised that this is necessary (namely, if some ce->name points into the stack, wouldn't that be a more serious bug than misreporting???).
With this change, the path list is printed in the order of processing. Previously, the order was reversed.
That is true but I wonder if the order should be "whatever the processing order happens to be" in the first place, as this is a report to the end user, no? Perhaps "collect in strlist, sort at the end before showing" is a more desirable thing to do? Still, I am more disturbed by the "some do not have static"...