From: Thomas Rast Date: Fri, 22 Jan 2010 21:11:14 GMT Subject: Re: [PATCH] Handle double slashes in make_relative_path() Message-ID: <201001222211.14743.trast@student.ethz.ch> In-Reply-To: <7vpr52gbmu.fsf@alter.siamese.dyndns.org> On Friday 22 January 2010 02:40:41 Junio C Hamano wrote: > > Now what is the goal of this patch? To allow people to have duplicated > slashes at random places in either abs or base, or is it only interested > in a particular input that is malformed? If the latter, what is the > permitted non-canonical input? > > If abs were "/a//b/c" and base were "/a/b", then the combination is > rejected by prefixcmp() and full "/a//b/c" is returned. Is it the > intended behaviour of the patch? > > I would actually have expected to see [a real fix that handles > duplicate slashes in all instances.] It's not about *permitted* input; the problem is simply that the current function gives back *bogus* paths, which causes git to fail. So I only went for the minimal patch to fix this. Not handling the abs="/a//b/c" base="/a/b" case seemed ok to me since that was never turned as a relative "c", hence there would not be any speed loss (nor gain) from my patch. Does that answer the question? As for your patch, thanks for coming up with a real fix. I read the amended version, and it seems correct to me. -- Thomas Rast trast@{inf,student}.ethz.ch