summaryrefslogtreecommitdiff
path: root/tests/path
Commit message (Collapse)AuthorAgeFilesLines
* win32: further cleanups for 8.3 disablingEdward Thomson2015-02-031-5/+3
|
* win32: cleanup 8.3 disabled testsEdward Thomson2015-02-031-16/+7
|
* Fix test failures when 8.3 is disabledLinquize2015-01-311-3/+17
|
* git_path_join_unrooted: return base lenEdward Thomson2015-01-201-0/+47
| | | | | | | The documentation for `git_path_join_unrooted` states that the base length will be returned, so that consumers like checkout know where to start creating directories instead of always creating directories at the directory root.
* Add more Windows reserved filenamesLinquize2014-12-191-0/+13
|
* COM0 is a valid path, although Windows Explorer does not allow to create thisLinquize2014-12-191-0/+2
|
* Introduce core.protectHFS and core.protectNTFSEdward Thomson2014-12-171-3/+19
| | | | | | Validate HFS ignored char ".git" paths when `core.protectHFS` is specified. Validate NTFS invalid ".git" paths when `core.protectNTFS` is specified.
* checkout: disallow bad paths on HFSEdward Thomson2014-12-161-1/+30
| | | | | | | | HFS filesystems ignore some characters like U+200C. When these characters are included in a path, they will be ignored for the purposes of comparison with other paths. Thus, if you have a ".git" folder, a folder of ".git<U+200C>" will also match. Protect our ".git" folder by ensuring that ".git<U+200C>" and friends do not match it.
* checkout: disallow bad paths on win32Edward Thomson2014-12-162-0/+218
| | | | | | | | | | | | | | | Disallow: 1. paths with trailing dot 2. paths with trailing space 3. paths with trailing colon 4. paths that are 8.3 short names of .git folders ("GIT~1") 5. paths that are reserved path names (COM1, LPT1, etc). 6. paths with reserved DOS characters (colons, asterisks, etc) These paths would (without \\?\ syntax) be elided to other paths - for example, ".git." would be written as ".git". As a result, writing these paths literally (using \\?\ syntax) makes them hard to operate with from the shell, Windows Explorer or other tools. Disallow these.
* win32: use NT-prefixed "\\?\" pathsEdward Thomson2014-12-161-0/+190
| | | | | | | | | | | | When turning UTF-8 paths into UCS-2 paths for Windows, always use the \\?\-prefixed paths. Because this bypasses the system's path canonicalization, handle the canonicalization functions ourselves. We must: 1. always use a backslash as a directory separator 2. only use a single backslash between directories 3. not rely on the system to translate "." and ".." in paths 4. remove trailing backslashes, except at the drive root (C:\)
* path: Fix `git_path_walk_up` to work with non-rooted pathsThe rugged tests are fragile2014-09-171-2/+0
|
* Introduce git_path_make_relativeEdward Thomson2014-09-021-0/+55