From: Junio C Hamano Date: Mon, 15 Nov 2010 18:31:33 GMT Subject: Re: [PATCH] use persistent memory for rejected paths Message-ID: <7vvd3yl9q2.fsf@alter.siamese.dyndns.org> In-Reply-To: <20101114130205.GA27560@localhost> Clemens Buchacher 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"...