summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Added AmigaOS-specific implementation of git__timer().Sebastian Bauer2014-12-281-0/+11
| | | | | | | The clock_gettime() function is normally not available under AmigaOS, hence another solution is required. We are using now GetUpTime() that is present in current versions of this operating system.
* Add a few missing CHANGELOG entriesCarlos Martín Nieto2014-12-271-0/+12
|
* Merge pull request #2772 from ethomson/case_changing_renameCarlos Martín Nieto2014-12-243-14/+83
|\ | | | | Case changing rename
| * Always checkout with case sensitive iteratorEdward Thomson2014-12-233-14/+6
| | | | | | | | | | | | | | | | | | On a case-insensitive filesystem, we need to deal with case-changing renames (eg, foo -> FOO) by removing the old and adding the new, exactly as if we were on a case-sensitive filesystem. Update the `checkout::tree::can_cancel_checkout_from_notify` test, now that notifications are always sent case sensitively.
| * Introduce test for checkout case-changing renameEdward Thomson2014-12-231-0/+77
| |
* | Merge pull request #2778 from ethomson/whitespace_85Carlos Martín Nieto2014-12-241-2/+2
|\ \ | | | | | | don't treat 0x85 as whitespace
| * | don't treat 0x85 as whitespaceEdward Thomson2014-12-231-2/+2
| | | | | | | | | | | | | | | | | | A byte value of 0x85 is not whitespace, we were conflating that with U+0085 (UTF8: 0xc2 0x85). This caused us to incorrectly treat valid multibyte characters like U+88C5 (UTF8: 0xe8 0xa3 0x85) as whitespace.
* | | Merge pull request #2779 from ethomson/openssl_exportCarlos Martín Nieto2014-12-241-0/+1
|\ \ \ | |/ / |/| | global: include sys/openssl.h for GIT_EXPORT of fn
| * | global: include sys/openssl.h for GIT_EXPORT of fnEdward Thomson2014-12-231-0/+1
|/ / | | | | | | | | | | The openssl setup function needs to be GIT_EXPORT'ed, be sure to include the `sys/openssl.h` header so that it is appropriately decorated as an export function.
* | Merge pull request #2775 from ethomson/index_entrycountsCarlos Martín Nieto2014-12-232-6/+6
|\ \ | |/ |/| index: reuc and name entrycounts should be size_t
| * index: reuc and name entrycounts should be size_tEdward Thomson2014-12-222-6/+6
|/ | | | | | For the REUC and NAME entries, we use size_t internally, and we take size_t for the get_byindex() functions, but the entrycount() functions strangely cast to an unsigned int instead.
* Merge pull request #2773 from ethomson/findpkgconfigEdward Thomson2014-12-221-0/+1
|\ | | | | cmake: include FindPkgConfig for windows
| * cmake: include FindPkgConfig for windowsEdward Thomson2014-12-221-0/+1
|/ | | | | Apparently FindPkgConfig is not included by default on VS builds, only Unix and Unix-like (mingw) builds.
* Merge pull request #2745 from libgit2/cmn/pkg-config-sshEdward Thomson2014-12-222-45/+1
|\ | | | | Find libssh2 via pkg-config
| * Find libssh2 via pkg-configcmn/pkg-config-sshCarlos Martín Nieto2014-12-052-45/+1
| | | | | | | | | | | | We don't really need our own module to find libssh2. Using pkg-config lets the standard tool do the work for us and let us fit more naturally in the workflow as we respect the pkg-config search paths.
* | Merge pull request #2759 from libgit2/cmn/openssl-sysEdward Thomson2014-12-205-19/+29
|\ \ | | | | | | Make OpenSSL locking warnings more severe
| * | Add the OpenSSL changes to the CHANGELOGcmn/openssl-sysCarlos Martín Nieto2014-12-121-0/+5
| | | | | | | | | | | | It seems these were forgotten when initially splitting this up.
| * | Make the OpenSSL locking function warnings more severeCarlos Martín Nieto2014-12-124-19/+24
| | | | | | | | | | | | | | | Our git_openssl_set_locking() would ideally not exist. Make it clearer that we provide it as a last resort and you should prefer anything else.
* | | Merge pull request #2760 from libgit2/cmn/init-readmeEdward Thomson2014-12-201-0/+13
|\ \ \ | | | | | | | | Mention the init function in the README
| * | | Mention the init function in the READMEcmn/init-readmeCarlos Martín Nieto2014-12-141-0/+13
| |/ / | | | | | | | | | This fixes #2731.
* | | Merge pull request #2763 from libgit2/cmn/local-proto-progressEdward Thomson2014-12-202-0/+86
|\ \ \ | | | | | | | | Show progress output on fetch for the local transport
| * | | local: send 'counting objects' outputcmn/local-proto-progressCarlos Martín Nieto2014-12-161-0/+52
| | | | | | | | | | | | | | | | | | | | Pretend we have a git process at the other end by creating a similar progress output when inserting objects into the packbuilder.
| * | | local: add failing test for sideband informationCarlos Martín Nieto2014-12-161-0/+34
| |/ / | | | | | | | | | | | | | | | We do not currently generate any messages when we're counting the objects, as might be expected from a local upload-pack. Assert that we do call the function when working.
* | | Merge pull request #2767 from linquize/winpathEdward Thomson2014-12-202-1/+16
|\ \ \ | | | | | | | | More Windows Path checking
| * | | Add more Windows reserved filenamesLinquize2014-12-191-0/+13
| | | |
| * | | COM0 is a valid path, although Windows Explorer does not allow to create thisLinquize2014-12-192-1/+3
| | | |
* | | | Merge pull request #2768 from dprofeta/fix/c++-refsCarlos Martín Nieto2014-12-201-0/+11
|\ \ \ \ | |/ / / |/| | | Fix public header on sys/refs.h
| * | | Fix public header on sys/refs.hDamien PROFETA2014-12-191-0/+11
|/ / / | | | | | | | | | | | | GIT_BEGIN/END_DECL were missing from sys/refs.h and preventing compilation with g++ as the symbol were mangled.
* | | Fix ming32 compilationCarlos Martín Nieto2014-12-191-0/+2
| | | | | | | | | | | | | | | We need to know what wchar_t and MAX_PATH are. Including common.h takes care of that for us.
* | | Merge branch 'hf/master_patch'Edward Thomson2014-12-181-0/+8
|\ \ \
| * | | index tests: test capitalization before mkdirhf/master_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.
* | | | Merge remote-tracking branch 'origin/master_patch'Vicent Marti2014-12-18165-197/+2176
|\ \ \ \ | |/ / / | | / / | |/ / |/| |
| * | treebuilder: take a repository for path validationEdward Thomson2014-12-1710-53/+123
| | | | | | | | | | | | | | | | | | Path validation may be influenced by `core.protectHFS` and `core.protectNTFS` configuration settings, thus treebuilders can take a repository to influence their configuration.
| * | 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-163-81/+132
| | |
| * | checkout: disallow bad paths on HFSEdward Thomson2014-12-1653-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-162-4/+46
| | | | | | | | | | | | Validate loose reference names on Win32.
| * | checkout: disallow bad paths on win32Edward Thomson2014-12-1694-90/+898
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-162-23/+188
| | |
| * | tree: Check for `.git` with case insensitivyVicent Marti2014-12-161-1/+1
| | |
| * | win32: use NT-prefixed "\\?\" pathsEdward Thomson2014-12-1610-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-102-0/+42
| | |
| * | tests: use p_ instead of posix func directlyEdward Thomson2014-12-101-2/+2
|/ /
* | Merge pull request #2756 from libgit2/cmn/push-error-concernsEdward Thomson2014-12-105-29/+15
|\ \ | | | | | | Fold `git_push_unpack_ok()` into `git_push_finish()`
| * | push: reword comment on finish()cmn/push-error-concernsCarlos Martín Nieto2014-12-101-5/+7
| | | | | | | | | | | | This should make it clearer what the return value implies.
| * | push: fold unpack_ok() into finish()Carlos Martín Nieto2014-12-105-26/+10
|/ / | | | | | | | | The push cannot be successful if we sent a bad packfile. We should return an error in that case instead of storing it elsewhere.
* | Merge pull request #2678 from libgit2/cmn/io-streamEdward Thomson2014-12-1012-612/+857
|\ \ | | | | | | Introduce stackable IO streams
| * | Fix a couple of compiler warningsCarlos Martín Nieto2014-12-102-2/+2
| | |