Log

Author Commit Date CI Message
Edward Thomson 16942c6f 2015-02-12T17:36:48 integer overflow: use compiler intrinsics if supported gcc and clang support __builtin_add_overflow, use it whenever possible, falling back to our naive routines.
Edward Thomson 8aab36a3 2015-02-12T22:14:53 filebuf: use an int for return check
Edward Thomson f1453c59 2015-02-12T12:19:37 Make our overflow check look more like gcc/clang's Make our overflow checking look more like gcc and clang's, so that we can substitute it out with the compiler instrinsics on platforms that support it. This means dropping the ability to pass `NULL` as an out parameter. As a result, the macros also get updated to reflect this as well.
Edward Thomson 650e45f6 2015-02-11T17:51:17 Update `khash.h` to pull request 42 https://github.com/attractivechaos/klib/pull/42/files introduces `kreallocarray`. Hook that up as our `git__reallocarray`.
Edward Thomson ec3b4d35 2015-02-11T11:20:05 Use `size_t` to hold size of arrays Use `size_t` to hold the size of arrays to ease overflow checking, lest we check for overflow of a `size_t` then promptly truncate by packing the length into a smaller type.
Edward Thomson 2884cc42 2015-02-11T09:39:38 overflow checking: don't make callers set oom Have the ALLOC_OVERFLOW testing macros also simply set_oom in the case where a computation would overflow, so that callers don't need to.
Edward Thomson 1ad48c8a 2015-02-11T17:36:57 khash: update to klib f28c067
Edward Thomson 4aa664ae 2015-02-10T23:55:07 git_buf_grow_by: increase buf asize incrementally Introduce `git_buf_grow_by` to incrementally increase the size of a `git_buf`, performing an overflow calculation on the growth.
Edward Thomson 3603cb09 2015-02-10T23:13:49 git__*allocarray: safer realloc and malloc Introduce git__reallocarray that checks the product of the number of elements and element size for overflow before allocation. Also introduce git__mallocarray that behaves like calloc, but without the `c`. (It does not zero memory, for those truly worried about every cycle.)
Edward Thomson 190b76a6 2015-02-11T14:52:08 Introduce git__add_sizet_overflow and friends Add some helper functions to check for overflow in a type-specific manner.
Edward Thomson 8d534b47 2015-02-11T13:01:00 p_read: ensure requested len is ssize_t Ensure that the given length to `p_read` is of ssize_t and ensure that callers test the return as if it were an `ssize_t`.
Edward Thomson 15d54fdd 2015-02-10T22:34:03 odb__hashlink: check st.st_size before casting
Edward Thomson 392702ee 2015-02-09T23:41:13 allocations: test for overflow of requested size Introduce some helper macros to test integer overflow from arithmetic and set error message appropriately.
Carlos Martín Nieto d24a5312 2015-02-12T02:34:58 Merge pull request #2866 from ethomson/checkout_perf2 Checkout performance
Carlos Martín Nieto 8e29ae73 2015-02-12T00:43:01 Merge pull request #2862 from jeffhostetler/jeffhostetler/bug/branch_create_after_namespace Remove stale reflog namespace directory before branch creation
Carlos Martín Nieto e07c1e1a 2015-02-12T00:40:12 Merge pull request #2880 from ethomson/mkdir_root Ensure we can make a repo at the root of the filesystem
Carlos Martín Nieto 5a2a5771 2015-02-12T00:34:48 Merge pull request #2845 from rakuco/libssh2-detection-fix Add libssh2's library and include directories.
Carlos Martín Nieto 6dbbced2 2015-02-12T00:27:17 Merge pull request #2889 from jeffhostetler/jeffhostetler/merge_performance Large merge perf test.
Carlos Martín Nieto 5820edc1 2015-02-11T23:59:16 Merge pull request #2894 from ethomson/copyrights Update some third-party copyrights
Carlos Martín Nieto dc63c049 2015-02-11T23:44:05 Merge pull request #2893 from phatblat/ben/pr/doc-comments Fix doc comment formatting
John Haley a36486ef 2015-02-11T10:31:54 Fixed error when including git2/include/sys/stream.h
Edward Thomson 0b55ed95 2015-02-10T15:14:49 clar: use actual license and copyright
Edward Thomson ec510666 2015-02-10T15:10:32 Credit utf8proc for utf8 iterator
Ben Chatelain c03e8c22 2015-02-10T12:44:05 Use correct Doxygen trailing comment syntax
Ben Chatelain ec7e1c93 2015-02-10T08:31:48 Fix doc comment formatting
nulltoken b703049c 2015-02-06T23:24:50 Merge pull request #2890 from arthurschreiber/patch-5 Speed up AppVeyor builds.
Arthur Schreiber 554063a5 2015-02-06T23:12:58 Speed up AppVeyor builds. AppVeyor build machines come with Python 2.7 and CMake 2.8 pre-installed and in the PATH.
Jeff Hostetler d97ba7f6 2015-02-06T15:45:59 Large merge perf test.
Edward Thomson 3db1b15e 2015-02-05T20:01:56 Merge pull request #2884 from libgit2/cmn/template-path repository: parse init.templatedir as a path
Carlos Martín Nieto cc36f424 2015-02-06T01:09:26 repository: parse init.templatedir as a path This is a path so we must use the path getter so we get the tilde expansion done.
Edward Thomson bebd2017 2015-02-05T14:10:25 Merge pull request #2881 from ethomson/clar Update clar to d17c7f6
Edward Thomson 83276dcc 2015-02-05T13:24:38 Update clar to d17c7f6
Edward Thomson 9cb5b0f7 2015-02-04T23:45:22 mkdir: respect the root path Don't try to strip trailing paths from the root directory on Windows (trying to create `C:` will fail).
Edward Thomson 3c68bfcd 2015-02-04T18:24:31 stat: don't remove trailing '/' from root on win32 `p_stat` calls `git_win32_path_from_utf8`, which canonicalizes the path. Do not further try to modify the path, else we trim the trailing slash from a root directory and try to access `C:` instead of `C:/`.
Edward Thomson 2f4ee000 2015-02-05T11:55:00 appveyor: include the invasive filesystem tests
Edward Thomson 865baaf9 2015-02-05T11:06:01 repo: ensure we can create repo at filesystem root Test to ensure that we can create a repository at the filesystem root. Introduces a new test environment variable, `GITTEST_INVASIVE_FILESYSTEM` for tests that do terrible things like escaping the clar sandbox and writing to the root directory. It is expected that the CI builds will enable this but that normal people would not want this.
Edward Thomson 9bf5bd7c 2015-02-05T09:19:46 Merge pull request #2867 from ethomson/8dot3 Handle 8dot3 filenames being disabled on Win32
Edward Thomson 3dc92940 2015-02-05T09:18:47 Merge pull request #2875 from JIghtuse/master for-each-ref example: initialize libgit2 in main
Boris Egorov 2107dac3 2015-02-04T15:14:18 for-each-ref example: init/shutdown libgit2 in main I don't get how it was working without git_libgit2_init() call. I run it and libgit2 throws assertion somewhere in its internals. Now it works. Updated commit with shutdown at the end.
Edward Thomson 3983935b 2015-02-04T16:11:15 Merge pull request #2872 from ethomson/pedantic Fixes for pedantry
Edward Thomson a2e4593e 2015-02-03T18:41:40 hash_generic: __extension__ keyword for pedantry
Edward Thomson 0cd479ab 2015-02-04T09:24:49 Merge pull request #2874 from modocache/add-gift README.md: Add Swift bindings "Gift"
Edward Thomson fa89ff20 2015-02-03T05:35:24 remove some unused warnings
Edward Thomson 500ec543 2015-02-03T01:46:01 checkout: hold seen dir paths in a map
Edward Thomson f58cc280 2015-02-03T00:28:32 attr_session: keep a temp buffer
Edward Thomson d4b1b767 2015-02-03T00:03:49 checkout: cache system attributes file location
Carlos Martín Nieto 505d5b8a 2015-02-04T12:54:57 Merge pull request #2873 from ethomson/structinit structinit test: use %PRIuZ instead of %d for size_t
Brian Gesiak 35425b51 2015-02-04T01:06:07 README.md: Add Swift bindings "Gift"
Edward Thomson f45f9b6d 2015-02-04T03:52:34 structinit test: use %PRIuZ instead of %d for size_t
Edward Thomson f9e7abcb 2015-02-03T21:44:15 Merge pull request #2870 from urkud/log-libssh-not-found Tell user if libssh was not found
Edward Thomson 573a53a8 2015-02-03T21:19:21 Merge pull request #2861 from libgit2/ntk/appveyor AppVeyor: Prettify build script
Edward Thomson 07c989e9 2015-02-03T20:01:24 win32: further cleanups for 8.3 disabling
Edward Thomson 710f66af 2015-02-03T18:41:15 bswap: remove unused bswap
Yury G. Kudryashov e15a0849 2015-02-04T00:15:11 Tell user if libssh was not found Fixes #2665
Carlos Martín Nieto 471b10bd 2015-02-03T21:19:57 Merge pull request #2868 from ethomson/diff_doc diff docs: update `git_diff_delta` description
Edward Thomson 3538f8f1 2015-02-03T13:41:35 diff docs: update `git_diff_delta` description
Edward Thomson 5f28ec84 2015-02-03T12:16:11 win32: cleanup 8.3 disabled tests
Jeff Hostetler 1589a93a 2015-02-02T16:50:10 Fix branch creation when branch name matches namespace of previously deleted branch
Edward Thomson 9f779aac 2015-01-29T14:40:55 attrcache: don't re-read attrs during checkout During checkout, assume that the .gitattributes files aren't modified during the checkout. Instead, create an "attribute session" during checkout. Assume that attribute data read in the same checkout "session" hasn't been modified since the checkout started. (But allow subsequent checkouts to invalidate the cache.) Further, cache nonexistent git_attr_file data even when .gitattributes files are not found to prevent re-scanning for nonexistent files.
Edward Thomson 60561d54 2015-02-03T03:36:07 tests: update for new test data
Edward Thomson 2fbce0bf 2015-02-02T22:18:38 checkout test: ensure .gitattributes lifecycle The .gitattributes cache should not reload .gitattributes in the middle of checking out, only between checkout operations. Otherwise, we'll spend all our time stat'ing and read'ing the gitattributes.
nulltoken f4e3a6ab 2015-01-31T22:15:10 AppVeyor: Prettify build script
Edward Thomson f83c19c8 2015-01-30T14:16:45 Merge pull request #2832 from ethomson/appveyor_badge 64-bit Appveyor Builds
Carlos Martín Nieto 6e5a397c 2015-01-30T18:00:26 Merge pull request #2853 from swisspol/empty_doc Clarified git_repository_is_empty() documentation
Linquize 9dcc4a36 2015-01-28T23:04:50 Fix test failures when 8.3 is disabled
Pierre-Olivier Latour 9a294fd8 2015-01-27T08:17:23 Clarified git_repository_is_empty() documentation
Edward Thomson 1ac5acdc 2015-01-26T11:28:59 Merge pull request #2819 from libgit2/cmn/config-get-path config: add parsing and getter for paths
Edward Thomson 27242199 2015-01-26T11:27:09 Merge pull request #2837 from swisspol/set_index Allow passing a NULL index to git_repository_set_index()
Edward Thomson f483720c 2015-01-26T11:25:16 Merge pull request #2839 from swisspol/typo Fixed typo in git_repository_reinit_filesystem() documentation
Edward Thomson ff80b5e8 2015-01-26T11:24:47 Merge pull request #2847 from jacquesg/coverity More coverity fixes
Edward Thomson 9a09ed13 2015-01-26T11:21:04 Merge pull request #2840 from swisspol/sys_repository_include Make sure sys/repository.h includes the required headers
Edward Thomson 9f1ee63d 2015-01-26T11:20:00 Merge pull request #2841 from swisspol/set_bare Fixed git_repository_set_bare() not setting "core.bare" correctly
Edward Thomson 65bc22fa 2015-01-26T11:18:17 Merge pull request #2844 from rakuco/netinet-include-fixes openssl: Add all required includes for AF_INET6 and in6_addr.
Edward Thomson 645073b7 2015-01-26T10:56:40 Merge pull request #2848 from JIghtuse/describe_mem_fix describe example: fix memory allocation size
Carlos Martín Nieto f101a7d4 2015-01-26T17:29:15 Merge pull request #2846 from JIghtuse/master pathspec: do not try to dereference NULL
Raphael Kubo da Costa 461fd5a0 2015-01-24T16:15:12 Add libssh2's library and include directories. Follow-up to 4f91bfa ("Find libssh2 via pkg-config"): FindPkgConfig sets <foo>_INCLUDE_DIRS, not <foo>_INCLUDE_DIR like FindLIBSSH2 did. Additionally, if using only FindPkgConfig to find libssh2, we have to call LINK_DIRECTORIES() as well to pass the appropriate -L entries, otherwise the build will only work if libssh2.so is in a directory searched automatically by the linker.
Boris Egorov 36e13399 2015-01-25T22:34:46 describe example: fix memory allocation size We need to allocate memory for sizeof(char *) * ncommits, not just for ncommits. Issue detected by GCC's AddressSanitizer.
Jacques Germishuys bb6aafe8 2015-01-25T14:40:23 Ensure the diff hunk callback is specified before trying to dereference it
Jacques Germishuys 636af219 2015-01-25T14:38:10 Return early if allocating a git_pathspec_match_list failed
Jacques Germishuys b63b3b0e 2015-01-25T14:08:05 Ensure git_index_entry is not NULL before trying to free it
Boris Egorov dc5fe00c 2015-01-25T00:07:23 pathspec: do not try to dereference NULL pathspec_match_free() should not dereference a NULL passed to it. I found this issue when I tried to run example log program with nonexistent branch: ./example/log help Such call leads to segmentation fault.
Raphael Kubo da Costa 3cda6be7 2015-01-24T16:19:43 openssl: Add all required includes for AF_INET6 and in6_addr. This fixes the build at least on FreeBSD, where those types were not defined indirectly: src/openssl_stream.c:100:18: error: variable has incomplete type 'struct in6_addr' struct in6_addr addr6; ^ src/openssl_stream.c:100:9: note: forward declaration of 'struct in6_addr' struct in6_addr addr6; ^ src/openssl_stream.c:111:18: error: use of undeclared identifier 'AF_INET' if (p_inet_pton(AF_INET, host, &addr4)) { ^ src/unix/posix.h:31:40: note: expanded from macro 'p_inet_pton' ^ src/openssl_stream.c:115:18: error: use of undeclared identifier 'AF_INET6' if(p_inet_pton(AF_INET6, host, &addr6)) { ^ src/unix/posix.h:31:40: note: expanded from macro 'p_inet_pton' ^
Pierre-Olivier Latour b2a7bcdb 2015-01-23T20:57:13 Fixed git_repository_set_bare() not setting "core.bare" correctly
Pierre-Olivier Latour 86815dca 2015-01-23T16:04:23 Make sure sys/repository.h includes the required headers It was missing "common.h" and "types.h" like other system headers. This generated compilation errors if including it directly.
Pierre-Olivier Latour 22b6a923 2015-01-23T15:59:54 Fixed typo in git_repository_reinit_filesystem() documentation
Pierre-Olivier Latour fa8ca519 2015-01-23T15:35:29 Allow passing a NULL index to git_repository_set_index() This is supported by the underlying set_index() implementation and setting the repository index to NULL is recommended by the git_repository_set_bare() documentation.
Edward Thomson 73c5db76 2015-01-22T19:00:16 Merge pull request #2834 from ethomson/memleak checkout: free last created directory
Edward Thomson 11888039 2015-01-23T00:18:42 checkout: free last created directory
Edward Thomson 7c48508b 2015-01-21T12:55:17 structinit test: only run on DEBUG builds The structinit tests don't make sense unless structure padding is uniformly initialized, which is unlikely to happen on release builds. Only enable them for DEBUG builds. Further, rename them to core::structinit.
Edward Thomson 0ad5c845 2015-01-18T00:47:59 structinit test: show which byte differs
Edward Thomson 1d67e8fd 2015-01-16T21:28:25 Windows CI: use 32 and 64 bit for AppVeyor builds Add 64 bit and always build with default calling conventions, to avoid trying to build with stdcall on amd64.
Edward Thomson a789b361 2015-01-21T09:20:54 Merge pull request #2829 from jacquesg/dead-code Remove logically dead code (we're already asserting)
Edward Thomson 68302ed2 2015-01-20T17:48:34 Merge pull request #2823 from ethomson/appveyor_badge README: Point to libgit2 account's AppVeyor badge
Edward Thomson e0902fbc 2015-01-15T17:17:01 checkout tests: cleanup realpath impl on Win32
Edward Thomson 53eb139d 2015-01-14T20:16:01 checkout tests: emulate p_realpath poorly on Win32
Edward Thomson e74340b0 2015-01-14T18:47:00 checkout: remove files before writing new ones 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 c2dee0fc 2015-01-14T13:20:21 checkout: drop newline in error message
Edward Thomson 232bc895 2015-01-14T13:15:34 checkout tests: nasty symlinks Symbolic links that abuse case insensitivity to write into .git.
Edward Thomson b4cbd67f 2015-01-13T13:02:58 checkout: don't recreate previous directory Don't bother trying to recreate the previously created directory during checkout, for a modest reduction in the number of stats.
Edward Thomson fe598f09 2015-01-13T11:18:02 mkdir: walk up tree to mkdir Walk up the tree to mkdir, which is less immediately efficient, but allows us to look at intermediate directories that may need attention.