GNU bug report logs - #10472
`realpath --relative-to=<path> /` outputs inconsistent trailing slash

Previous Next

Package: coreutils;

Reported by: Mike Frysinger <vapier <at> gentoo.org>

Date: Tue, 10 Jan 2012 20:17:02 UTC

Severity: normal

Done: Pádraig Brady <P <at> draigBrady.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Pádraig Brady <P <at> draigBrady.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#10472: closed (`realpath --relative-to=<path> /` outputs
 inconsistent trailing slash)
Date: Wed, 25 Jan 2012 16:56:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Wed, 25 Jan 2012 16:55:09 +0000
with message-id <4F2033ED.5070109 <at> draigBrady.com>
and subject line Re: bug#10472: `realpath --relative-to=<path> /` outputs inconsistent trailing slash
has caused the debbugs.gnu.org bug report #10472,
regarding `realpath --relative-to=<path> /` outputs inconsistent trailing slash
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
10472: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10472
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Mike Frysinger <vapier <at> gentoo.org>
To: bug-coreutils <at> gnu.org
Subject: `realpath --relative-to=<path> /` outputs inconsistent trailing slash
Date: Tue, 10 Jan 2012 15:15:57 -0500
[Message part 3 (text/plain, inline)]
first some examples that look fine ...

these all output the same thing:
	realpath --relative-to=/usr /usr/bin
	realpath --relative-to=/usr/ /usr/bin
	realpath --relative-to=/usr /usr/bin/
	realpath --relative-to=/usr/ /usr/bin/
which is to say, they show:
	bin

as does these:
	realpath --relative-to=/usr/bin /usr
	realpath --relative-to=/usr/bin/ /usr
	realpath --relative-to=/usr/bin /usr/
	realpath --relative-to=/usr/bin/ /usr/
which is to say, they show:
	..

as does these:
	realpath --relative-to=/ /usr
	realpath --relative-to=/ /usr/
which is to say, they show:
	..

however, if the last argument is just the root path:
	realpath --relative-to=/usr /
	realpath --relative-to=/usr/ /
we end up with a trailing slash:
	../

for consistency, i don't think that should be the case

(reported by Ulrich Müller via https://bugs.gentoo.org/398339)
-mike
[signature.asc (application/pgp-signature, inline)]
[Message part 5 (message/rfc822, inline)]
From: Pádraig Brady <P <at> draigBrady.com>
To: Mike Frysinger <vapier <at> gentoo.org>
Cc: 10472-done <at> debbugs.gnu.org
Subject: Re: bug#10472: `realpath --relative-to=<path> /` outputs inconsistent
	trailing slash
Date: Wed, 25 Jan 2012 16:55:09 +0000
[Message part 6 (text/plain, inline)]
On 01/10/2012 10:30 PM, Pádraig Brady wrote:
> On 01/10/2012 09:53 PM, Mike Frysinger wrote:
>> On Tuesday 10 January 2012 15:15:57 Mike Frysinger wrote:
>>> as does these:
>>> 	realpath --relative-to=/ /usr
>>> 	realpath --relative-to=/ /usr/
>>> which is to say, they show:
>>> 	..
>>
>> sorry, typo here ... these actually output:
>> 	../usr
>>
>> i guess that should be just "usr".
>> -mike
> 
> Agreed. python concurs too:
> 
>>>> os.path.relpath(start='/usr',path='/')
> '..'
>>>> os.path.relpath(start='/',path='/usr')
> 'usr'
> 
> Essentially in these edge cases the relative paths
> printed are valid, but not canonicalised.
> 
> I'll fix it up.

Proposed fix attached.

cheers,
Pádraig.
[relpath-edge-cases.diff (text/plain, attachment)]

This bug report was last modified 13 years and 75 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.