aboutsummaryrefslogtreecommitdiff
path: root/src/path
AgeCommit message (Collapse)Author
2016-08-30path/filepath: handle ".." in normalizing a path on WindowsHiroshi Ioka
Current code assumes there are not ".." in the Clean(path). That's not true. Clean doesn't handle leading "..", so we need to stop normalization if we see "..". Fixes #16793 Change-Id: I0a7901bedac17f1210b134d593ebd9f5e8483775 Reviewed-on: https://go-review.googlesource.com/27410 Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Alex Brainman <alex.brainman@gmail.com> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-08-25path/filepath: don't return SkipDir at topIan Lance Taylor
If the walker function called on a top-level file returns SkipDir, then (before this change) Walk would return SkipDir, which the documentation implies will not happen. Fixes #16280. Change-Id: I37d63bdcef7af4b56e342b624cf0d4b42e65c297 Reviewed-on: https://go-review.googlesource.com/24780 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-08-23path/filepath: use testenv.MustHaveSymlink to simplify symlink testsHiroshi Ioka
Cleanup test code for symbolic links. Change-Id: I25f561cd34dc4d120a4143f933619d233a6cffc5 Reviewed-on: https://go-review.googlesource.com/27573 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-07-07path/filepath: fix typo in commentIan Lance Taylor
Change-Id: I0c76e8deae49c1149647de421503c5175028b948 Reviewed-on: https://go-review.googlesource.com/24781 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-07-06path/filepath: document Clean behavior for each functionIan Lance Taylor
Document explicitly which functions Clean the result rather than documenting it in the package comment. Updates #10122. Fixes #16111. Change-Id: Ia589c7ee3936c9a6a758725ac7f143054d53e41e Reviewed-on: https://go-review.googlesource.com/24747 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-05-31path/filepath: prevent infinite recursion on Windows on UNC inputJosh Bleecher Snyder
This is a minimal fix to prevent this and other possible future infinite recursion. We can put in a proper fix for UNC in Go 1.8. Updates #15879 Change-Id: I3653cf5891bab8511adf66fa3c1a1d8912d1a293 Reviewed-on: https://go-review.googlesource.com/23572 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Andrew Gerrand <adg@golang.org>
2016-05-27path/filepath: fix globbing of c:\*dir\... patternAlex Brainman
The problem was introduced by the recent filepath.Join change. Fixes #14949 Change-Id: I7ee52f210e12bbb1369e308e584ddb2c7766e095 Reviewed-on: https://go-review.googlesource.com/23240 TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
2016-04-11all: use bytes.Equal, bytes.Contains and strings.Contains, againDominik Honnef
The previous cleanup was done with a buggy tool, missing some potential rewrites. Change-Id: I333467036e355f999a6a493e8de87e084f374e26 Reviewed-on: https://go-review.googlesource.com/21378 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-04-05path/filepath: normalize output of EvalSymlinks on windowsHiroshi Ioka
Current implementation uses GetShortPathName and GetLongPathName to get a normalized path. That approach sometimes fails because user can disable short path name anytime. This CL provides an alternative approach suggested by MSDN. https://msdn.microsoft.com/en-us/library/windows/desktop/aa364989(v=vs.85).aspx Fixes #13980 Change-Id: Icf4afe4c9c4b507fc110c1483bf8db2c3f606b0a Reviewed-on: https://go-review.googlesource.com/20860 Reviewed-by: Alex Brainman <alex.brainman@gmail.com> Run-TryBot: Alex Brainman <alex.brainman@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-04-03path, path/filepath: add Join example with joined rooted pathRuss Cox
This makes clear that Go's path.Join and filepath.Join are different from the Python os.path.join (and perhaps others). Requested in private mail. Change-Id: Ie5dfad8a57f9baa5cca31246af1fd4dd5b1a64ee Reviewed-on: https://go-review.googlesource.com/20711 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-03-29path/filepath: use fsutil with TestEvalSymlinksCanonicalNamesAlex Brainman
TestEvalSymlinksCanonicalNames fails on system where 8dot3 name creation is disabled. Add new test that temporarily changes 8dot3 name creation file system setting and runs TestEvalSymlinksCanonicalNames under that setting. New test requires administrator access and modifies important file system setting, so don't run the test unless explicitly requested by specifying new test flag. Updates #13980 Change-Id: I598b5b956e6bd0ed556e79d350cb244808c89c0b Reviewed-on: https://go-review.googlesource.com/20863 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
2016-03-16path: fix up bizarre testRob Pike
The Join test was doing something remarkable and unnecessary instead of just using ... on a slice. Maybe it was an editing relic. Fix it by deleting the monstrosity. Change-Id: I5b90c6d539d334a9c27e57d26dacd831721cfcfe Reviewed-on: https://go-review.googlesource.com/20727 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-03-06Rewrite leftover references to plan9.bell-labs.com to 9p.io.Muhammed Uluyol
Change-Id: Iadb4aa016a7b361d01827787dbc59164d5d147f2 Reviewed-on: https://go-review.googlesource.com/20291 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-03-02all: single space after period.Brad Fitzpatrick
The tree's pretty inconsistent about single space vs double space after a period in documentation. Make it consistently a single space, per earlier decisions. This means contributors won't be confused by misleading precedence. This CL doesn't use go/doc to parse. It only addresses // comments. It was generated with: $ perl -i -npe 's,^(\s*// .+[a-z]\.) +([A-Z]),$1 $2,' $(git grep -l -E '^\s*//(.+\.) +([A-Z])') $ go test go/doc -update Change-Id: Iccdb99c37c797ef1f804a94b22ba5ee4b500c4f7 Reviewed-on: https://go-review.googlesource.com/20022 Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Dave Day <djd@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-02-24all: fix typos and spellingMartin Möhrmann
Change-Id: Icd06d99c42b8299fd931c7da821e1f418684d913 Reviewed-on: https://go-review.googlesource.com/19829 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-02-23all: fix typosShawn Smith
Change-Id: I6035941df8b0de6aeaf6c05df7257bcf6e9191fe Reviewed-on: https://go-review.googlesource.com/19320 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-02-19all: replace strings.Index with strings.Contains where possibleNathan VanBenschoten
Change-Id: Ia613f1c37bfce800ece0533a5326fca91d99a66a Reviewed-on: https://go-review.googlesource.com/18120 Reviewed-by: Robert Griesemer <gri@golang.org> Run-TryBot: Robert Griesemer <gri@golang.org>
2015-12-15path/filepath: include test number in TestIssue13582 outputAlex Brainman
Otherwise it's hard to tell the difference between link1 and link2 or other tests. Change-Id: I36c153cccb10959535595938dfbc49db930b9fac Reviewed-on: https://go-review.googlesource.com/17851 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Alex Brainman <alex.brainman@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-12-14path/filepath: keep walking if EvalSymlinks returns symlinkAlex Brainman
Fixes #13582 Change-Id: I220f3c7b9511b3c080874f5c42f2a431fdddcbb7 Reviewed-on: https://go-review.googlesource.com/17794 TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
2015-12-09path/filepath: remove code working around Join bugAlex Brainman
EvalSymlinks code assumes that Join has a bug (see issue #11551 for details). But issue #11551 has been fixed. Remove the workaround so it does not confuses us when we read code next time. Change-Id: I06bea20189f01f9922237c05516847353d8e4736 Reviewed-on: https://go-review.googlesource.com/17620 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-12-06path/filepath: handle c: as first parameter in Join properlyAlex Brainman
This is CL 11882 brought back to life. Fixes #11551 Change-Id: I29810183957745442d1e9937f56a66fc9c6cc82a Reviewed-on: https://go-review.googlesource.com/17470 Reviewed-by: Russ Cox <rsc@golang.org> Run-TryBot: Alex Brainman <alex.brainman@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-11-28path: fix typoShenghou Ma
Fixes #13419. Change-Id: I530d0b714ea0743c72eacd07b390c3f8cc556e21 Reviewed-on: https://go-review.googlesource.com/17239 Reviewed-by: Robert Griesemer <gri@golang.org>
2015-11-17path/filepath: in Rel use case-insensitive comparison on WindowsMohit Agarwal
Compare basepath and targetpath using strings.EqualFold. The absence of this on Windows causes an unterminating condition in `for` statement later in the function. Fixes #13258 Change-Id: Ib5a0caba864ee425dc75ece47b9cf6fb626f47f1 Reviewed-on: https://go-review.googlesource.com/16857 Run-TryBot: Alex Brainman <alex.brainman@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
2015-11-17path/filepath: include the original paths in error messagesMohit Agarwal
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>
2015-11-12path/filepath: in Rel use case-insensitive comparison on WindowsYasuhiro Matsumoto
Fixes #10802 Compare Volume name and each path elements using strings.EqualFold. Change-Id: Ibdefdb801d0326e53755bc9cc8c10eed998094e5 Reviewed-on: https://go-review.googlesource.com/16795 Reviewed-by: Russ Cox <rsc@golang.org>
2015-11-01path/filepath: fix EvalSymlinks(".") on windowsAlex Brainman
Also new tests added. So, perhaps, this CL corrects even more broken EvalSymlinks behaviour. Fixes #12451 Change-Id: I81b9d92bab74bcb8eca6db6633546982fe5cec87 Reviewed-on: https://go-review.googlesource.com/16192 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Alex Brainman <alex.brainman@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-10-22path/filepath: test EvalSymlinks returns canonical path on windowsAlex Brainman
When you create C:\A.TXT file on windows, you can open it as c:\a.txt. EvalSymlinks("c:\a.txt") returns C:\A.TXT. This is all EvalSymlinks did in the past, but recently symlinks functionality been implemented on some Windows version (where symlinks are supported). So now EvalSymlinks handles both: searching for file canonical name and resolving symlinks. Unfortunately TestEvalSymlinks has not been adjusted properly. The test tests either canonical paths or symlinks, but not both. This CL separates canonical paths tests into new TestEvalSymlinksCanonicalNames, so all functionality is covered. Tests are simplified somewhat too. Also remove EvalSymlinksAbsWindowsTests - it seems not used anywhere. Change-Id: Id12e9f1441c1e30f15c523b250469978e4511a84 Reviewed-on: https://go-review.googlesource.com/14412 Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-10-20path/filepath: disable symlink tests on android.Hyang-Ah Hana Kim
Same reason as https://go-review.googlesource.com/#/c/16115/ For golang/go#10807 Change-Id: Id0c404e9feb963f39a111fc317c9787692516ae1 Reviewed-on: https://go-review.googlesource.com/16116 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-08-21all: fix some vet-caught formatting errors, mostly but not only in testsRob Pike
Could go in 1.5, although not critical. See also #12107 Change-Id: I7f1608b58581d21df4db58f0db654fef79e33a90 Reviewed-on: https://go-review.googlesource.com/13481 Reviewed-by: Dave Cheney <dave@cheney.net>
2015-07-11all: link to https instead of httpBrad Fitzpatrick
The one in misc/makerelease/makerelease.go is particularly bad and probably warrants rotating our keys. I didn't update old weekly notes, and reverted some changes involving test code for now, since we're late in the Go 1.5 freeze. Otherwise, the rest are all auto-generated changes, and all manually reviewed. Change-Id: Ia2753576ab5d64826a167d259f48a2f50508792d Reviewed-on: https://go-review.googlesource.com/12048 Reviewed-by: Rob Pike <r@golang.org>
2015-06-29path/filepath: document and test behavior of SkipDir on filesRuss Cox
This behavior is not what we might have designed from the start, but it has been present since Go 1. Rather than make a visible behavioral change that might cause programs to work differently in Go ≤1.4 vs Go ≥1.5, document what SkipDir on a non-directory has always meant. If code doesn't want this meaning, it is easy enough not to return SkipDir on non-directories. Fixes #10533. Change-Id: Ic0612f032044bc7c69bf62583a02037e4b47530b Reviewed-on: https://go-review.googlesource.com/11690 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Rob Pike <r@golang.org>
2015-05-31path: fix a typo in documentation of SplitMichael Käufl
Change-Id: Ic00882735d95d61f7c9d9f28d34cb4acce6a5546 Reviewed-on: https://go-review.googlesource.com/10556 Reviewed-by: Minux Ma <minux@golang.org>
2015-04-13path/filepath: skip test on darwin/arm64David Crawshaw
Just like darwin/arm. Change-Id: I4b0ab4a104f2c8a821ca8b5fa8d266e51883709f Reviewed-on: https://go-review.googlesource.com/8816 Reviewed-by: Minux Ma <minux@golang.org>
2015-04-08all: fix race when allocating buffer for some windows syscallsAlex Brainman
Fixes #9753 Change-Id: I6c641ed7ef4f687a108e7d937ab4b9c24d5baf5d Reviewed-on: https://go-review.googlesource.com/4940 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-03-18all: use "reports whether" in place of "returns true if(f)"Josh Bleecher Snyder
Comment changes only. Change-Id: I56848814564c4aa0988b451df18bebdfc88d6d94 Reviewed-on: https://go-review.googlesource.com/7721 Reviewed-by: Rob Pike <r@golang.org>
2015-03-11path/filepath: clarify the package doc about '/' in returned results.Hyang-Ah (Hana) Kim
The slash is replaced with os.PathSeparator before returning. Split, SplitList are the exceptions; comments for them mention this. Fixes golang/go#10122. Change-Id: I66dbee8d09f378582e046be8df309a3930151820 Reviewed-on: https://go-review.googlesource.com/7310 Reviewed-by: Alex Brainman <alex.brainman@gmail.com> Reviewed-by: Rob Pike <r@golang.org>
2015-03-01path/filepath: get tests working on darwin/armDavid Crawshaw
Change-Id: Ic44d7837aaec58601e5d9cad8da5b958a809f4a0 Reviewed-on: https://go-review.googlesource.com/6400 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-02-20path/filepath: add example for filepath.SplitAndrew Gerrand
Fixes #9928 Change-Id: Iab37051078755a132f211ad48e756422f7c55a39 Reviewed-on: https://go-review.googlesource.com/5416 Reviewed-by: Minux Ma <minux@golang.org>
2015-02-06all: don't refer to code.google.com/p/go{,-wiki}/Péter Surányi
Only documentation / comment changes. Update references to point to golang.org permalinks or go.googlesource.com/go. References in historical release notes under doc are left as is. Change-Id: Icfc14e4998723e2c2d48f9877a91c5abef6794ea Reviewed-on: https://go-review.googlesource.com/4060 Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-01-20path/filepath: make Join handle UNC paths on WindowsEmil Hessman
Unless the first element is a Universal Naming Convention (UNC)[0] path, Join shouldn't create a UNC path on Windows. For example, Join inadvertently creates a UNC path on Windows when told to join at least three non-empty path elements, where the first element is `\` or `/`. This CL prevents creation of a UNC path prefix when the first path element isn't a UNC path. Since this introduces some amount of Windows-specific logic, Join is moved to a per GOOS implementation. Fixes #9167. [0]: http://msdn.microsoft.com/en-us/library/gg465305.aspx Change-Id: Ib6eda597106cb025137673b33c4828df1367f75b Reviewed-on: https://go-review.googlesource.com/2211 Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
2014-12-18path/filepath: remove named result parameter for VolumeNameEmil Hessman
Fix style by removing unnecessary named result parameter. Fix doc comment while here. Change-Id: If8394e696ab37e00a95484d5137955aa06c59520 Reviewed-on: https://go-review.googlesource.com/1781 Reviewed-by: Yasuhiro MATSUMOTO <mattn.jp@gmail.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
2014-09-18path/filepath: document that Glob ignores i/o errorsRuss Cox
Fixes #8008. LGTM=adg R=golang-codereviews, nightlyone, adg CC=golang-codereviews https://golang.org/cl/138630045
2014-09-08build: move package sources from src/pkg to srcRuss Cox
Preparation was in CL 134570043. This CL contains only the effect of 'hg mv src/pkg/* src'. For more about the move, see golang.org/s/go14nopkg.