summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* index tests: test capitalization before mkdirv0.21.3hf/021_patchEdward Thomson2014-12-181-2/+4
|
* Plug leaksCarlos Martín Nieto2014-12-181-0/+2
|
* Create miscapitialised dirs for case-sensitive filesystemsCarlos Martín Nieto2014-12-181-0/+4
| | | | | We need these directories to exist so cl_git_mkfile() can create the files we ask it to.
* Bump version to 0.21.3Edward Thomson2014-12-171-2/+2
|
* Introduce core.protectHFS and core.protectNTFSEdward Thomson2014-12-176-44/+151
| | | | | | Validate HFS ignored char ".git" paths when `core.protectHFS` is specified. Validate NTFS invalid ".git" paths when `core.protectNTFS` is specified.
* path: Use UTF8 iteration for HFS charsVicent Marti2014-12-173-81/+132
|
* checkout: disallow bad paths on HFSEdward Thomson2014-12-1753-1/+207
| | | | | | | | 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.
* reference_create: validate loose namesEdward Thomson2014-12-172-4/+46
| | | | Validate loose reference names on Win32.
* checkout: disallow bad paths on win32Edward Thomson2014-12-1794-90/+900
| | | | | | | | | | | | | | | 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.
* index: Check for valid paths before creating an index entryVicent Marti2014-12-172-23/+188
|
* tree: Check for `.git` with case insensitivyVicent Marti2014-12-171-1/+1
|
* win32: use NT-prefixed "\\?\" pathsEdward Thomson2014-12-1710-103/+591
| | | | | | | | | | | | 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:\)
* clar: wide character comparisonsEdward Thomson2014-12-172-0/+42
|
* tests: use p_ instead of posix func directlyEdward Thomson2014-12-171-2/+2
|
* Bump version to 0.21.2v0.21.2Carlos Martín Nieto2014-10-271-2/+2
|
* Merge pull request #2655 from ethomson/v0.21.2Carlos Martín Nieto2014-10-2713-27/+164
|\ | | | | More backports to 0.21
| * global: clean up openssl_locks on shutdownEdward Thomson2014-10-261-1/+7
| |
| * config test: clean up memory leakEdward Thomson2014-10-251-0/+1
| |
| * travis ci: build maint branches and development'Edward Thomson2014-10-251-1/+2
| |
| * Fixed memory leak in git_tag_delete()Pierre-Olivier Latour2014-10-251-2/+3
| |
| * Patch from @carlosmn to refresh the parent config before snapshotting.Alan Rogers2014-10-251-1/+6
| |
| * Change the length of the file so that the change is picked up.Alan Rogers2014-10-251-2/+2
| |
| * Add a test to make sure a new snapshot has the new value.Alan Rogers2014-10-251-1/+14
| |
| * is_empty_dir (wi32): cope with empty mount pointsEdward Thomson2014-10-251-16/+26
| | | | | | | | | | | | | | | | | | | | | | | | FindFirstFile will fail with INVALID_HANDLE_VALUE if there are no children to the given path, which can happen if the given path is a file (and obviously has no children) or if the given path is an empty mount point. (Most directories have at least directory entries '.' and '..', but ridiculously another volume mounted in another drive letter's path space do not, and thus have nothing to enumerate.) If FindFirstFile fails, check if this is a directory-like thing (a mount point).
| * p_lstat win32: don't canonicalize volume mountsEdward Thomson2014-10-251-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | A reparse point that is an IO_REPARSE_TAG_MOUNT_POINT could be a junction or an actual filesystem mount point. (Who knew?) If it's the latter, its reparse point will report the actual volume information \??\Volume{GUID}\ and we should not attempt to dereference that further, instead readlink should report EINVAL since it's not a symlink / junction and its original path was canonical. Yes, really.
| * Don't copy buffer in checkout unless neededEdward Thomson2014-10-251-6/+8
| |
| * Ensure filters (i.e. CRLF) are applied when checking out conflict contentJacques Germishuys2014-10-251-3/+19
| |
| * Introduce failing test for conflict filtering in indexEdward Thomson2014-10-254-0/+69
| |
| * repository_head_unborn: clear error when HEAD is unbornEdward Thomson2014-10-251-1/+3
|/
* ssl: dump the SSL ciphers in favour of TLSCarlos Martín Nieto2014-10-241-0/+13
| | | | | | | | | | All versions of SSL are considered deprecated now, so let's ask OpenSSl to only use TLSv1. We still ask it to load those ciphers for compatibility with servers which want to use an older hello but will use TLS for encryption. For good measure we also disable compression, which can be exploitable, if the OpenSSL version supports it.
* Merge pull request #2596 from libgit2/cmn/maint-21Edward Thomson2014-10-1118-38/+112
|\ | | | | Add a few backports to 0.21 maintenance
| * Silence unused return value warningcmn/maint-21Jacques Germishuys2014-10-111-1/+1
| |
| * Ensure patch is initialized to zero, otherwise, the allocated flag may be setJacques Germishuys2014-10-111-0/+1
| |
| * Silence uninitialized warningJacques Germishuys2014-10-111-1/+1
| |
| * Fixed odb foreach test failure for big-endian 64-bitJakub Čajka2014-10-111-1/+1
| |
| * Fixed merge REUC test for big-endian 64-bitJakub Čajka2014-10-111-1/+1
| |
| * The raw index buffer content is not guaranteed to be alignedJacques Germishuys2014-10-111-24/+29
| | | | | | | | * Ensure alignment by copying the content into a structure on the stack
| * Ensure pool data is aligned on an 8 byte boundaryJacques Germishuys2014-10-111-1/+1
| |
| * Introduce GIT_ALIGNJacques Germishuys2014-10-111-0/+8
| |
| * git_filter: dup the filter nameAnurag Gupta (OSG)2014-10-111-2/+11
| |
| * config: Fix multiple trailing spaces before comments not completely trimmedLinquize2014-10-111-1/+1
| |
| * When auto follow tags, FETCH_HEAD should list only newly followed tagsLinquize2014-10-033-2/+33
| |
| * global: free the error message when exiting a threadCarlos Martín Nieto2014-10-032-0/+17
| | | | | | | | | | When we free the global state at thread termination, we must also free the error message in order not to leak the string once per thread.
| * Correctly handle getaddrinfo return resultWilliam Swanson2014-10-031-1/+1
| | | | | | | | | | | | The getaddrinfo function indicates failure with a non-zero return code, but this code is not necessarily negative. On platforms like Android where the code is positive, a failed call causes libgit2 to segfault.
| * Recurse ignored directories when stashingJacques Germishuys2014-10-031-3/+5
| |
| * Include git2/odb_backend.h in git2.hCarlos Martín Nieto2014-10-031-0/+1
|/ | | | | | | Since this isn't under sys/ we need to have it included in the main git2.h file. This fixes #2551.
* cherrypick: the name is still git_cherry_pickCarlos Martín Nieto2014-09-241-1/+1
| | | | | | A backported fix makes use of the new name for git_cherry_pick (namely git_cherrypick), but we still need to use the old one in the maint branch.
* Remove local unused index_repo variableJacques Germishuys2014-09-161-3/+1
|
* Only check for workdir conflicts if the index has merged filesJacques Germishuys2014-09-161-0/+10
| | | | | | Passing 0 as the length of the paths to check to git_diff_index_to_workdir results in all files being treated as conflicting, that is, all untracked or modified files in the worktree is reported as conflicting
* Added test case to illustrate bogus conflicts detected if no files were ↵Jacques Germishuys2014-09-161-0/+41
| | | | merged, and untracked files exist in the workdir.