Log

Author Commit Date CI Message
Edward Thomson 83fe60fa 2015-03-03T14:10:50 libgit2_shutdown: clear err message on shutdown Clear the error message on git_libgit2_shutdown for all versions of the library (no threads and Win32 threads). Drop the giterr_clear in clar, as that shouldn't be necessary.
Leo Yang 3a8b69d1 2015-02-26T11:47:07 Fix leak of TLS error message in shutdown (ptherad version)
Carlos Martín Nieto 814d86bf 2015-03-04T14:32:23 Merge pull request #2886 from jeffhostetler/jeffhostetler/clar_trace Set up git_trace in clar test suite.
Carlos Martín Nieto c69c042e 2015-03-04T12:47:59 Merge pull request #2945 from ethomson/empty_hashsig_heap diff_tform: don't compare empty hashsig_heaps
Edward Thomson f78d9b6c 2015-03-03T23:56:54 diff_tform: account for whitespace options When comparing seemingly blank files, take whitespace options into account.
Carlos Martín Nieto fe21d708 2015-03-04T00:29:37 Plug a few leaks
Edward Thomson a212716f 2015-03-03T18:19:42 diff_tform: don't compare empty hashsig_heaps Don't try to compare two empty hashsig_heaps.
Edward Thomson 9ce97782 2015-03-03T17:59:44 Merge pull request #2941 from libgit2/cmn/http-enforce-cred http: enforce the credential types
Edward Thomson f438dbe1 2015-03-03T17:59:20 Merge pull request #2771 from libgit2/cmn/config-borrow-entry Borrowing configuration entries
Carlos Martín Nieto 9a97f49e 2014-12-21T15:31:03 config: borrow refcounted references This changes the get_entry() method to return a refcounted version of the config entry, which you have to free when you're done. This allows us to avoid freeing the memory in which the entry is stored on a refresh, which may happen at any time for a live config. For this reason, get_string() has been forbidden on live configs and a new function get_string_buf() has been added, which stores the string in a git_buf which the user then owns. The functions which parse the string value takea advantage of the borrowing to parse safely and then release the entry.
Carlos Martín Nieto e892b6a9 2015-03-03T17:23:01 http: enforce the credential types The user may decide to return any type of credential, including ones we did not say we support. Add a check to make sure the user returned an object of the right type and error out if not.
Carlos Martín Nieto 76f03418 2015-03-03T17:04:38 Remove swp files
Edward Thomson 20273e4d 2015-03-03T10:08:51 Merge pull request #2934 from akikoskinen/mingw_build_fix Fix build on mingw (master branch)
Edward Thomson 018fdbb5 2015-03-03T10:08:28 Merge pull request #2913 from ethomson/stash_fixup stash: correctly stash wd modified/index deleted
Edward Thomson 72ca65d5 2015-03-03T10:07:36 Merge pull request #2808 from libgit2/cmn/repo-ident Remove the signature from ref-modifying functions
Jeff Hostetler e5cf1c70 2015-03-03T09:57:50 Converted cl_perf_timer to use git__timer internally.
Carlos Martín Nieto 41513659 2015-02-06T23:46:23 Update CHANGELOG with the reflog ident changes
Carlos Martín Nieto 4e498646 2015-01-15T16:50:31 repository: remove log message override for switching the active branch We want to use the "checkout: moving from ..." message in order to let git know when a change of branch has happened. Make the convenience functions for this goal write this message.
Carlos Martín Nieto 412a3808 2015-01-15T15:31:23 push: remove reflog message override We always use "update by push".
Carlos Martín Nieto 6bfb990d 2015-01-07T14:47:02 branch: don't accept a reflog message override This namespace is about behaving like git's branch command, so let's do exactly that instead of taking a reflog message. This override is still available via the reference namespace.
Carlos Martín Nieto 23a17803 2015-01-07T14:16:50 reset: remove reflog message override This function is meant to simulate what git does in the reset command, so we should include the reflog message in that.
Carlos Martín Nieto 659cf202 2015-01-07T12:23:05 Remove the signature from ref-modifying functions The signature for the reflog is not something which changes dynamically. Almost all uses will be NULL, since we want for the repository's default identity to be used, making it noise. In order to allow for changing the identity, we instead provide git_repository_set_ident() and git_repository_ident() which allow a user to override the choice of signature.
Carlos Martín Nieto fe477951 2015-03-03T14:35:10 Merge pull request #2885 from JIghtuse/master describe example: function to add commits to opts
Carlos Martín Nieto 99b68a2a 2015-03-03T13:47:13 Merge pull request #2908 from ethomson/safe_create Allow checkout to handle newly cloned repositories, remove `GIT_CHECKOUT_SAFE_CREATE`
Carlos Martín Nieto 31bc6c04 2015-03-03T13:25:40 branch: do capture the error code We want to ignore GIT_ENOTFOUND, but for that we need to capture the error code from the reflog deletion.
Carlos Martín Nieto 5ac2b7cb 2015-03-03T13:03:54 Merge pull request #2937 from git-up/branch_delete_reflog git_branch_delete() should ignore errors from non-existing reflogs
Carlos Martín Nieto bf410446 2015-03-02T21:03:57 Merge pull request #2935 from ethomson/dll_patchlevel win32: add the patch level to the .dll fileversion
Pierre-Olivier Latour 79863917 2015-03-02T10:24:54 git_branch_delete() should ignore errors from non-existing reflogs
Edward Thomson bf1476f1 2015-03-02T10:35:26 win32: add the patch level to the .dll fileversion Win32 DLLs have four fields for the version number (major, minor, teeny, patch). If a consumer wants to build a custom DLL, it may be useful to set the patchlevel version number in the DLL. This value only affects the DLL version number, it does not affect the resultant "version number", which remains major.minor.teeny.
Jeff Hostetler 9a859ef5 2015-03-02T09:21:55 Added cl_perf_timer. Updated global trace to include timers.
Jeff Hostetler f096fbf4 2015-03-02T08:34:02 Cleanup formatting of clar trace messages.
Jeff Hostetler 6b5c0886 2015-02-13T16:58:14 Provide mechanism to let CLAR globally setup git_trace()
Aki Koskinen 45df2237 2015-02-27T10:53:39 Include ws2tcpip.h in order to get in6_addr It's currently required in src/openssl_stream.c only.
Aki Koskinen ec032442 2015-02-27T10:49:02 Include openssl headers last Windows headers #define some names that openssl uses too. Openssl headers #undef the offending names before reusing them. But if those offending Windows headers get included after the openssl headers the namespace is polluted and nothing good happens. Fixes issue #2850.
Aki Koskinen a944c6cc 2015-03-02T11:08:04 Don't include headers on windows that aren't available This mainly concerns mingw build.
Carlos Martín Nieto c23002c5 2015-03-01T21:04:51 Merge pull request #2929 from ethomson/clar_update Update to clar 2b73f5e
Carlos Martín Nieto 18fcb5c8 2015-03-01T21:00:11 Merge pull request #2928 from ethomson/rebase_alloc_check rebase: check alloc result
Edward Thomson 496b76d4 2015-02-27T11:02:37 checkout tests: just use SAFE where appropriate
Edward Thomson 96b82b11 2015-02-14T11:44:05 checkout: remove `GIT_CHECKOUT_SAFE_CREATE` as a strategy
Edward Thomson 14fec0ae 2015-02-14T12:10:00 example: drop `SAFE_CREATE` from clone example
Edward Thomson 6c9e86ad 2015-02-14T10:46:41 clone: drop now unnecessary SAFE_CREATE
Edward Thomson e6da3e44 2015-02-14T10:33:06 checkout: upgrade to `SAFE_CREATE` when no index file When the repository does not contain an index, emulate git's behavior and upgrade to `SAFE_CREATE`. This allows us to check out repositories created with `git clone --no-checkout`.
Edward Thomson 5cbe950f 2015-02-14T10:45:01 merge perf test: drop unnecessary SAFE_CREATE
Edward Thomson 094cfc29 2015-02-14T10:03:29 cherrypick, revert: drop unnecessary SAFE_CREATE
Edward Thomson fb2f3a76 2015-02-27T00:37:20 Merge pull request #2922 from ethomson/more_explaining_threads_is_more_better README: provide some more explanation about TLS
Edward Thomson cfcb346d 2015-02-27T00:30:50 Update to clar 2b73f5e
Edward Thomson 3cbaa587 2015-02-27T04:39:54 rebase: check alloc result
Edward Thomson ecf1c3c3 2015-02-23T11:18:52 README: provide some more explanation about TLS
Carlos Martín Nieto 366e53d3 2015-02-20T19:40:45 Merge pull request #2921 from libgit2/ntk/macosx_build_cherrypicked Fix MAX 32 bit build problem described in libgit2/libgit2#2917
Jeff Hostetler c92987d1 2015-02-20T10:21:32 Fix MAX 32 bit build problem described in libgit2/libgit2#2917
Carlos Martín Nieto 5091aff7 2015-02-20T08:40:40 Merge pull request #2907 from jasonhaslam/git_packfile_unpack_race Fix race in git_packfile_unpack.
Carlos Martín Nieto d15884ce 2015-02-19T20:39:20 Merge pull request #2911 from ethomson/streaming_filters Streaming filters
Edward Thomson feb0e022 2015-02-19T12:14:06 tests: separate INVASIVE filesystem tests Introduce GITTEST_INVASIVE_FS_STRUCTURE for things that are invasive to your filesystem structure (like creating folders at your filesystem root) and GITTEST_INVASIVE_FS_SIZE for things that write lots of data.
Edward Thomson 9c9aa1ba 2015-02-19T11:32:55 filter: take `temp_buf` in `git_filter_options`
Edward Thomson d05218b0 2015-02-19T11:25:26 filter: add `git_filter_list__load_ext` Refactor `git_filter_list__load_with_attr_reader` into `git_filter_list__load_ext`, which takes a `git_filter_options`.
Edward Thomson 795eaccd 2015-02-19T11:09:54 git_filter_opt_t -> git_filter_flag_t For consistency with the rest of the library, where an opt is an options *structure*.
Edward Thomson d4cf1675 2015-02-19T10:05:33 buffer: introduce git_buf_attach_notowned Provide a convenience function that creates a buffer that can be provided to callers but will not be freed via `git_buf_free`, so the buffer creator maintains the allocation lifecycle of the buffer's contents.
Carlos Martín Nieto 818302c8 2015-02-19T11:19:17 Merge pull request #2820 from leoyanggit/mac_build Fix Mac build without OpenSSL
Edward Thomson 09866d6f 2015-02-18T11:26:03 stash: correctly stash wd modified/index deleted
Edward Thomson b49edddc 2015-02-18T09:40:52 checkout: let the stream writer close the fd
Edward Thomson f7c0125f 2015-02-18T09:28:07 filter streams: base -> parent
Edward Thomson b75f15aa 2015-02-18T09:25:32 git_writestream: from git_filter_stream
Edward Thomson 8c2dfb38 2015-02-17T13:27:06 filter: test a large file through the stream Test pushing a file on-disk into a streaming filter that compresses it into the ODB, and inflates it back into the working directory.
Edward Thomson 646364e7 2015-02-17T20:25:31 checkout: maintain temporary buffer for filters Let the filters use the checkout data's temporary buffer, instead of having to allocate new buffers each time.
Edward Thomson e78f5c9f 2015-01-22T16:11:36 checkout: stream the blob into the filters Use the new streaming filter API during checkout.
Edward Thomson 5555696f 2015-01-22T16:11:22 filters: stream internally Migrate the `git_filter_list_apply_*` functions over to using the new filter streams.
Leo Yang 2d2aa1ff 2015-02-13T17:28:35 Fix Mac build without OpenSSL If OpenSSL is disabled on Mac the SHA1 implementation goes to the CommonCrypto from the system. In this case we should not include the generic hash impl. Otherwise there would be duplicated impls which fail the build.
Edward Thomson fbdc9db3 2015-01-22T16:10:06 filters: introduce streaming filters Add structures and preliminary functions to take a buffer, file or blob and write the contents in chunks through an arbitrary number of chained filters, finally writing into a user-provided function accept the contents.
Carlos Martín Nieto 437ba9ad 2015-02-16T03:14:32 Merge pull request #2909 from stewid/remove_extra_semicolon Remove extra semicolon outside of a function
Stefan Widgren c8e02b87 2015-02-15T21:07:05 Remove extra semicolon outside of a function Without this change, compiling with gcc and pedantic generates warning: ISO C does not allow extra ‘;’ outside of a function.
Jason Haslam 8588cb0c 2015-02-14T23:43:26 Fix race in git_packfile_unpack. Increment refcount of newly added cache entries just like existing entries looked up from the cache. Otherwise the new entry can be evicted from the cache and destroyed while it's still in use.
Carlos Martín Nieto a291790a 2015-02-15T05:18:01 Merge pull request #2831 from ethomson/merge_lock merge: lock index during the merge (not just checkout)
Carlos Martín Nieto a7fa970f 2015-02-15T05:13:50 Merge pull request #2895 from ethomson/alloc_overflow allocations: test for overflow of requested size
Carlos Martín Nieto b23c206e 2015-02-15T05:03:51 Merge pull request #2903 from ethomson/rebase Fixups for rebase
Edward Thomson 41fae48d 2015-02-03T22:31:10 indexwriter: an indexwriter for repo operations Provide git_indexwriter_init_for_operation for the common locking pattern in merge, rebase, revert and cherry-pick.
Edward Thomson be8404a7 2015-02-03T21:51:48 merge-like operations: lock index while working
Edward Thomson 8b0ddd5d 2015-01-17T23:28:53 merge: lock the index at the start of the merge Always lock the index when we begin the merge, before we write any of the metdata files. This prevents a race where another client may run a commit after we have written the MERGE_HEAD but before we have updated the index, which will produce a merge commit that is treesame to one parent. The merge will finish and update the index and the resultant commit would not be a merge at all.
Edward Thomson 8639ea5f 2015-01-17T22:47:03 checkout: introduce GIT_CHECKOUT_DONT_WRITE_INDEX
Edward Thomson 55798fd1 2015-01-17T20:49:04 git_indexwriter: lock then write the index Introduce `git_indexwriter`, to allow us to lock the index while performing additional operations, then complete the write (or abort, unlocking the index).
Edward Thomson 42f98a26 2015-01-17T23:31:24 merge test: test an actual failure, not conflict Correct the merge failed cleanup test. Merge data should not be cleaned up on conflicts, only on actual failure. And ORIG_HEAD should not be removed at all.
Edward Thomson ffbd51ed 2015-02-13T11:38:00 rebase: `CHECKOUT_SAFE` instead of `FORCE` Switch to a standard branch-switching pattern of a `SAFE` checkout, then updating `HEAD`.
Edward Thomson 49b8293c 2015-02-13T11:20:32 rebase: allow `NULL` branch to indicate `HEAD` Don't require the branch to rebase, if given `NULL`, simply look up `HEAD`.
Edward Thomson 92e87dd7 2015-02-13T10:44:19 rebase: provide NULL `exec` on non-EXEC operations Users may want to try to pay attention to the `exec` field on all rebase operations.
Carlos Martín Nieto 57f45e7f 2015-02-13T15:58:39 Merge pull request #2901 from ethomson/win32_mode_bits win32: limit the mode to `_wopen`/`_waccess`
Edward Thomson 0f07d54b 2015-02-13T09:35:20 pack-objects: unlock the cache on integer overflow
Edward Thomson d97d9559 2015-02-12T23:56:09 buf test: cleanup memory leak
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 527ed59a 2015-02-13T09:18:49 win32: limit the mode to `_wopen`/`_waccess` Win32 generally ignores Unix-like mode bits that don't make any sense on the platform (eg `0644` makes no sense to Windows). But WINE complains loudly when presented with POSIXy bits. Remove them. (Thanks @phkelley)
Carlos Martín Nieto 0b2ee7c0 2015-02-13T08:56:01 Merge pull request #2883 from urkud/reget-reader-pointer Reinit `reader` pointer after reading included config file
Carlos Martín Nieto 3ca91107 2015-02-13T08:30:21 Merge pull request #2897 from leoyanggit/fix_fileop_warning Fix build warning on Android
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 1ad48c8a 2015-02-11T17:36:57 khash: update to klib f28c067
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 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 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.)