- 16 Jan, 2015 8 commits
-
-
Edward Thomson committed
-
Edward Thomson committed
-
On case insensitive filesystems, we may have files in the working directory that case fold to a name we want to write. Remove those files (by default) so that we will not end up with a filename that has the unexpected case.
Edward Thomson committed -
Edward Thomson committed
-
Symbolic links that abuse case insensitivity to write into .git.
Edward Thomson committed -
Don't bother trying to recreate the previously created directory during checkout, for a modest reduction in the number of stats.
Edward Thomson committed -
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.
Edward Thomson committed -
Checkout can now provide performance data about the number of (some) syscalls performed using an optional callback. This structure remains internal-only in maintenance branches.
Edward Thomson committed
-
- 09 Jan, 2015 1 commit
-
-
Philip Kelley committed
-
- 05 Jan, 2015 2 commits
-
-
Bump version to 0.21.4
Carlos Martín Nieto committed -
Edward Thomson committed
-
- 27 Dec, 2014 3 commits
-
-
A rule "src" in src/.gitignore must only match subdirectories of src/. The current code does not include this context in the match rule and would thus consider this rule to match the top-level src/ directory instead of the intended src/src/. Keep track fo the context in which the rule was defined so we can perform a prefix match.
Carlos Martín Nieto committed -
A rule can only negate something which was explicitly mentioned in the rules before it. Change our parsing to ignore a negative rule which does not negate something mentioned in the rules above it. While here, fix a wrong allocator usage. The memory for the match string comes from pool allocator. We must not free it with the general allocator. We can instead simply forget the string and it will be cleaned up.
Carlos Martín Nieto committed -
Given top !top/foo in an ignore file, we should not unignore top/foo. This is an implementation detail of the git code leaking, but that's the behaviour we should show. A negation rule can only negate an exact rule it has seen before.
Carlos Martín Nieto committed
-
- 21 Dec, 2014 2 commits
-
-
[maint/v0.21] Fix build of tests with mingw
Edward Thomson committed -
very, very partial backport of 2f795d8f to maint/v0.21 branch without this include, O_RDWR and O_CREAT are undeclared when building tests/path/win32.c with mingw
Tony Kelman committed
-
- 20 Dec, 2014 3 commits
-
-
We need to know what wchar_t and MAX_PATH are. Including common.h takes care of that for us.
Carlos Martín Nieto committed -
GIT_BEGIN/END_DECL were missing from sys/refs.h and preventing compilation with g++ as the symbol were mangled.
Damien PROFETA committed -
Carlos Martín Nieto committed
-
- 18 Dec, 2014 3 commits
-
-
Edward Thomson committed
-
Carlos Martín Nieto committed
-
We need these directories to exist so cl_git_mkfile() can create the files we ask it to.
Carlos Martín Nieto committed
-
- 17 Dec, 2014 11 commits
-
-
Edward Thomson committed
-
Validate HFS ignored char ".git" paths when `core.protectHFS` is specified. Validate NTFS invalid ".git" paths when `core.protectNTFS` is specified.
Edward Thomson committed -
Vicent Marti committed
-
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.
Edward Thomson committed -
Validate loose reference names on Win32.
Edward Thomson committed -
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.
Edward Thomson committed -
Vicent Marti committed
-
Vicent Marti committed
-
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:\)
Edward Thomson committed -
Edward Thomson committed
-
Edward Thomson committed
-
- 10 Dec, 2014 1 commit
-
-
Backport two important changes to 0.21 branch
Carlos Martín Nieto committed
-
- 25 Nov, 2014 2 commits
-
-
Ungureanu Marius committed
-
We're freeing the memory which holds the locks so we must make sure that the locking function doesn't try to use it.
Carlos Martín Nieto committed
-
- 03 Nov, 2014 1 commit
-
-
A non-readable mapping of a file causes an access violation in the pack tests. Always use PROT_READ to work around this.
Stefan Sperling committed
-
- 27 Oct, 2014 2 commits
-
-
Carlos Martín Nieto committed
-
More backports to 0.21
Carlos Martín Nieto committed
-
- 26 Oct, 2014 1 commit
-
-
Edward Thomson committed
-