mirror of
https://github.com/golang/go
synced 2024-11-18 00:34:44 -07:00
path/filepath: include the original paths in error messages
On Windows, Rel emits error messages of the form `Rel: can't make \windows relative to \windows`. Rather than emitting paths after stripping volume names, emit the original paths so as to make those of the form `Rel: can't make d:\windows relative to c:\windows`. Fixed a test that expected the error message to emit clean path instead of the original. Fixes #13259 Change-Id: I3a9bd5b137205f22794ec8046b4e917ee48cf750 Reviewed-on: https://go-review.googlesource.com/16858 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
This commit is contained in:
parent
888aadfa60
commit
e0e4ccb51a
@ -35,7 +35,7 @@ func ExampleRel() {
|
|||||||
// On Unix:
|
// On Unix:
|
||||||
// "/a/b/c": "b/c" <nil>
|
// "/a/b/c": "b/c" <nil>
|
||||||
// "/b/c": "../b/c" <nil>
|
// "/b/c": "../b/c" <nil>
|
||||||
// "./b/c": "" Rel: can't make b/c relative to /a
|
// "./b/c": "" Rel: can't make ./b/c relative to /a
|
||||||
}
|
}
|
||||||
|
|
||||||
func ExampleSplit() {
|
func ExampleSplit() {
|
||||||
|
@ -270,7 +270,7 @@ func Rel(basepath, targpath string) (string, error) {
|
|||||||
baseSlashed := len(base) > 0 && base[0] == Separator
|
baseSlashed := len(base) > 0 && base[0] == Separator
|
||||||
targSlashed := len(targ) > 0 && targ[0] == Separator
|
targSlashed := len(targ) > 0 && targ[0] == Separator
|
||||||
if baseSlashed != targSlashed || !sameWord(baseVol, targVol) {
|
if baseSlashed != targSlashed || !sameWord(baseVol, targVol) {
|
||||||
return "", errors.New("Rel: can't make " + targ + " relative to " + base)
|
return "", errors.New("Rel: can't make " + targpath + " relative to " + basepath)
|
||||||
}
|
}
|
||||||
// Position base[b0:bi] and targ[t0:ti] at the first differing elements.
|
// Position base[b0:bi] and targ[t0:ti] at the first differing elements.
|
||||||
bl := len(base)
|
bl := len(base)
|
||||||
@ -296,7 +296,7 @@ func Rel(basepath, targpath string) (string, error) {
|
|||||||
t0 = ti
|
t0 = ti
|
||||||
}
|
}
|
||||||
if base[b0:bi] == ".." {
|
if base[b0:bi] == ".." {
|
||||||
return "", errors.New("Rel: can't make " + targ + " relative to " + base)
|
return "", errors.New("Rel: can't make " + targpath + " relative to " + basepath)
|
||||||
}
|
}
|
||||||
if b0 != bl {
|
if b0 != bl {
|
||||||
// Base elements left. Must go up before going down.
|
// Base elements left. Must go up before going down.
|
||||||
|
Loading…
Reference in New Issue
Block a user