src


Log

Author Commit Date CI Message
Edward Thomson fa7281db 2015-04-16T18:26:47 Merge pull request #3039 from jeffhostetler/jeffhostetler/msvc_crtdbg Add memory leak detection/reporting using MSVC CRTDBG facility.
Jeff Hostetler d06c589f 2015-04-10T06:15:06 Add MSVC CRTDBG memory leak reporting.
Edward Thomson 623fbd93 2015-04-10T11:38:07 Merge pull request #2974 from libgit2/cmn/clone-everything Make sure to pack referenced objects for non-branches
Edward Thomson 63af449e 2015-04-10T11:33:14 Merge pull request #3030 from linquize/symlink_supported If work_dir is not specified, use repo_dir to test if symlink is supported
Edward Thomson 8932c32c 2015-04-10T10:50:01 Merge branch 'pr/3035'
Patrick Steinhardt 129022ee 2015-04-10T09:36:38 Fix checking of return value for regcomp. The regcomp function returns a non-zero value if compilation of a regular expression fails. In most places we only check for negative values, but positive values indicate an error, as well. Fix this tree-wide, fixing a segmentation fault when calling git_config_iterator_glob_new with an invalid regexp.
Jozef Matula 2a069761 2015-04-08T16:30:44 ISO C90 forbids mixed declarations and code GIT_UNUSED() macro generates code therefore it should be used after variable declarations.
Patrick Steinhardt 08e1fd65 2015-04-07T14:44:08 describe: only abort without tags if fallback is not allowed. When no reference names could be found we did error out when trying to describe a commit. This is wrong, though, when the option to fall back to a commit's object ID is set.
Linquize 466d2e7a 2015-04-03T19:01:20 For bare repository, use repo_dir to test if symlinks are supported
Pierre-Olivier Latour 807566d5 2015-04-03T18:59:11 Entry argument passed to git_index_add_frombuffer() should be const
Edward Thomson de355f23 2015-03-25T13:14:28 Merge pull request #3011 from ethomson/filter_zero_tempbuf Clear temporary buffer when filtering
Edward Thomson 669ae274 2015-03-23T13:12:55 filter: clear the temp_buf if we're using one If we are using a temporary buffer for filtering, be sure to clear it before using it, in case the file that we are filtering is empty.
Edward Thomson 78db0239 2015-03-24T20:58:00 squash some leaks
Edward Thomson c5e07187 2015-03-24T14:03:51 Merge pull request #2990 from leoyanggit/custom_param Add a custom param to git_smart_subtransport_definition
Edward Thomson aa7a4a50 2015-03-24T09:06:20 Merge pull request #2986 from tkelman/mingw_winhttp WinHTTP for MinGW
Edward Thomson 95d1624b 2015-03-24T08:34:12 Merge pull request #2947 from libgit2/cmn/notes-buf note: use a git_buf to return the default namespace
Carlos Martín Nieto 7c3834d1 2015-03-24T10:18:44 Merge pull request #3010 from ethomson/checkout_invalid_path_err checkout: report correct invalid path
Edward Thomson 3cda9cf2 2015-03-23T11:30:30 checkout: report correct invalid path
Carlos Martín Nieto 2a0f67f0 2015-03-21T21:48:03 git: make sure to close the network stream In case of a bad url or other error during the connection setup, we close the stream via free.
Vicent Marti d88e6e9b 2015-03-19T18:38:13 mkdir-ext: Retry lstat on EEXIST race
Tony Kelman b631e0d9 2015-03-19T07:25:25 Use swprintf_s everywhere except mingw.org
Carlos Martín Nieto 2c4e90f3 2015-03-19T01:03:41 Merge pull request #2996 from ethomson/dll_comments win32 resource: allow custom comments field in DLL
Edward Thomson 523526e5 2015-03-18T18:25:14 win32 resource: allow custom comments field in DLL
Edward Thomson 89ba9f1a 2015-03-18T13:17:04 Merge pull request #2967 from jacquesg/merge-whitespace Allow merges of files (and trees) with whitespace problems/fixes
Leo Yang 142e5379 2015-03-17T12:49:33 Add a custom param to git_smart_subtransport_definition The smart transport has already take the payload param. For the sub transport a payload param is useful for the implementer.
Carlos Martín Nieto 03b51b5d 2015-03-18T05:04:12 Merge pull request #2955 from git-up/update_tips_fixes Update tips fixes
Carlos Martín Nieto 83ad46f7 2015-03-18T04:59:16 Merge remote-tracking branch 'ethomson/submodule_8dot3'
Edward Thomson fa8a38a4 2015-03-17T22:22:38 Merge pull request #2983 from jeffhostetler/jeffhostetler/perf_merge_lazy_binary_check PERF: In MERGE, lazily compute is_binary
Sebastian Bauer cdedef40 2015-03-17T21:38:58 Initialize refs vector in git_remote_update_tips(). Otherwise, bailing out early when ls_to_vector() fails accesses uninitialized memory.
Carlos Martín Nieto c84a9dd2 2015-03-12T01:52:15 local: recusrively insert non-branch objects into the packfile When we insert e.g. a tag or tagged object into the packfile, we must make sure to insert any referenced objects as well, or we will have broken links. Use the recursive version of packfile insertion to make sure we send over not just the tagged object but also the objects it references.
Carlos Martín Nieto 84511143 2015-03-12T01:49:07 tree: add more correct error messages for not found Don't use the full path, as that's not what we are asserting does not exist, but just the subpath we were looking up.
Carlos Martín Nieto a61fa4c0 2015-03-12T01:26:09 packbuilder: introduce git_packbuilder_insert_recur() This function recursively inserts the given object and any referenced ones. It can be thought of as a more general version of the functions to insert a commit or tree.
Carlos Martín Nieto 385449b1 2015-03-04T01:23:20 note: use a git_buf to return the default namespace The caller has otherwise no way to know how long the string will be allocated or ability to free it. This fixes #2944.
Edward Thomson 9bbc8f35 2015-03-17T10:21:28 Merge pull request #2962 from libgit2/cmn/reflog-annotated Add annotated versions of ref-modying functions
Edward Thomson 7800048a 2015-03-17T10:06:50 Merge pull request #2972 from libgit2/cmn/pack-objects-walk [WIP] Smarter pack-building
Edward Thomson 828e5959 2015-03-17T09:44:56 Merge pull request #2982 from libgit2/cmn/stream-check-ec Don't ask for a stream's certificate unless it's encrypted
Edward Thomson c07d0206 2015-03-17T09:44:25 Merge pull request #2977 from pks-t/submodule-sync-url-fix Fix git_submodule_sync writing URL to wrong key.
Alex Crichton 3066026b 2014-08-26T11:18:33 Fix build on mingw-w64
Philip Kelley 8f426d7d 2014-06-09T11:43:25 Win32: Enable WinHTTP for MinGW
Jeff Hostetler fea24c53 2015-03-16T15:54:53 PERF: In MERGE, lazily compute is_binary
Carlos Martín Nieto 84d83b8e 2015-03-16T19:41:50 http: do not try to use the cert callback on unencrypted streams When the user has a certificate check callback set, we still have to check whether the stream we're using is even capable of providing a certificate. In the case of an unencrypted certificate, do not ask for it from the stream, and do not call the callback.
Carlos Martín Nieto 62dd4d71 2015-03-07T00:06:02 annotated_commit: provide a constructor from a revspec This extra constructor will be useful for the annotated versions of ref-modifying functions, as it allows us to create a commit with the extended sha syntax which was used to retrieve it.
Carlos Martín Nieto 62d38a1d 2015-03-06T23:51:40 Add annotated commit versions of reflog-modifying functions We do not always want to put the id directly into the reflog, but we want to speicfy what a user typed. For this use-case we provide annotated version of a few functions which let the caller specify what user-friendly name was used when asking for the operation.
Jacques Germishuys 74c37c2a 2015-03-12T13:16:09 Added options to enable patience and minimal diff drivers
Jacques Germishuys 13de9363 2015-03-12T12:36:09 Collapse whitespace flags into git_merge_file_flags_t
Jacques Germishuys f29dde68 2015-03-12T12:29:47 Renamed git_merge_options 'flags' to 'tree_flags'
Jacques Germishuys 45a86bbf 2015-03-09T17:02:52 Allow for merges with whitespace discrepancies
Carlos Martín Nieto d675982a 2015-03-15T00:24:36 Merge pull request #2975 from git-up/diff_index_retain Avoid retaining / releasing the index more than necessary when GIT_DIFF_...
Carlos Martín Nieto 7c63a33f 2015-03-13T19:41:40 indexer: bring back the error message on duplcate commits It turns out that erroring out on duplicate commits is the right thing to do, but git was not hitting the bug on the server-side. Bring back a descriptive error message in case of duplicate entries and error out.
Carlos Martín Nieto dccf59ad 2015-03-13T18:28:07 indexer: don't worry about duplicate objects If a packfile includes duplicate objects, we can choose to use the secon copy instead of the first by using the same logic as if it were the first. Change the error condition from 0 to -1, which indicates a bad resize, and set the OOM message in that case. This does mean we will leak the first copy of the object. We can deal with that later, but making fetches work is more important.
Carlos Martín Nieto a34692c4 2015-03-13T18:00:15 indexer: set an error message on duplicate objects in pack While this is not even close to a fix, we can at least set an error message so we know which error we are facing. Up to know we just returned an error without a message.
Edward Thomson 12e1fff7 2015-03-12T18:04:25 Merge pull request #2973 from libgit2/cmn/local-pack-threading local: create pack with multiple threads
Patrick Steinhardt e6903ea2 2015-03-12T16:05:07 Fix git_submodule_sync writing URL to wrong key. Currently git_submodule_sync writes the submodule's URL to the key 'branch.<REMOTE_NAME>.remote' while the reference implementation of `git submodule sync` writes to 'remote.<REMOTE_NAME>.url', which is the intended behavior according to git-submodule(1).
Pierre-Olivier Latour 8a3934e4 2015-03-11T19:29:36 Avoid retaining / releasing the index more than necessary when GIT_DIFF_UPDATE_INDEX is enabled
Pierre-Olivier Latour 1034f1b5 2015-03-05T23:06:31 Fixed active refspecs not reset by git_remote_upload()
Pierre-Olivier Latour e22ffb42 2015-03-05T22:13:54 Fixed update_tips callback called for failed pushed references The current implementation does not set 'fire_callback' back to 0 for failed updates so the callback still fires. Instead of adding yet another condition check to set 'fire_callback' to 0 if needed, considering this function should be a no-op for failed updates anyway, the best fix is to simplify its logic to check upfront if the update is a failed one.
Carlos Martín Nieto 15f58174 2015-03-11T17:55:39 Merge commit 'refs/pull/2879/head' of ssh://github.com/libgit2/libgit2
Carlos Martín Nieto 0ef54a63 2015-03-11T17:16:39 local: create pack with multiple threads The default behaviour for the packbuilder is to perform the work in a single thread, which is fine for the public API, but we currently have no way for a user to determine the number of threads to use when creating the packfile, which makes our clone behaviour over the filesystem quite a bit slower than what git offers. This is a very particular scenario, in which we avoid spawning git by being ourselves the server-side, so it's probably ok to auto-set the threading, as the upload-pack process would do if we were talking to git.
Carlos Martín Nieto 61ccba0d 2015-03-11T16:13:31 Merge pull request #2969 from adrienthebo/remote_add_invalid_refspec refspec: report errors when parsing an invalid refspec
Carlos Martín Nieto 522df1cf 2015-03-11T03:03:54 Merge pull request #2970 from ethomson/inmemory_bare "In-memory" repos are bare by default
Carlos Martín Nieto e68b31a1 2015-03-04T20:57:52 local: let the packbuilder perform smarter object insertion Currently we use the most naïve and inefficient method for figuring out which objects to send to the remote whereby we end up trying to insert subdirs which have not changed multiple times. Instead, make use of the packbuilder's built-in more efficient method which uses the walk to feed the object list and avoids inserting an object and its descendants.
Carlos Martín Nieto 04a36fef 2014-10-11T15:48:29 pack-objects: fill a packbuilder from a walk Most use-cases for the object packer communicate in terms of commits which each side has. We already have an object to specify this relationship between commits, namely git_revwalk. By knowing which commits we want to pack and which the other side already has, we can perform similar optimisations to git, by marking each tree as interesting or uninteresting only once, and not sending those trees which we know the other side has.
Carlos Martín Nieto b63b76e0 2014-10-12T11:42:31 Reorder some khash declarations Keep the definitions in the headers, while putting the declarations in the C files. Putting the function definitions in headers causes them to be duplicated if you include two headers with them.
Adrien Thebo b523194d 2015-03-04T13:29:13 refspec: set err message on invalid refspec If a refspec could not be parsed, the git_refspec__parse function would return an error value but would not provide additional error information for the callers. This commit amends that function to set a more useful error message.
Edward Thomson 770aca94 2015-03-10T15:02:02 repository: in-memory repos are bare by default
Edward Thomson d7c81945 2015-03-09T10:18:39 Merge pull request #2964 from git-up/fixes Fixes
Edward Thomson 959482e1 2015-03-09T09:18:37 Merge pull request #2946 from tkelman/appveyor-mingw RFC: add mingw to appveyor matrix
Pierre-Olivier Latour 2461e0d2 2015-03-08T14:10:02 Removed unnecessary GIT_CHECKOUT_SKIP_UNMERGED for GIT_RESET_HARD
Carlos Martín Nieto d578b45f 2015-03-08T16:46:33 refdb: use the same id for old and new when renaming a reference When we rename a reference, we want the old and new ids to be the same one (as we did not change it). The normal code path looks up the old id from the current value of the brtanch, but by the time we look it up, it does not exist anymore and thus we write a zero id. Pass the old id explicitly instead.
Edward Thomson 01c3b184 2015-03-06T16:52:07 Merge pull request #2961 from ethomson/filter_relative_paths Filter relative paths
Edward Thomson 6a2edc5a 2015-03-06T15:16:40 filter: accept relative paths in apply_to_file
Matti Virolainen 78c34af0 2015-03-06T12:23:14 Use secure API if available.
Tony Kelman 04c5a9c0 2015-03-05T19:42:54 Add some missing definitions for mingw.org these shouldn't be necessary if _WIN32_WINNT >= _WIN32_WINNT_VISTA
Tony Kelman 1a7ea63d 2015-03-05T17:11:17 Move definitions of strcasecmp and strncasecmp to msvc-compat.h should cut down on compiler warnings with mingw
Edward Thomson 9a823bad 2015-03-06T14:37:34 filter: drop old TODO
nulltoken 05e644dd 2015-03-04T22:01:39 Drop trailing whitespaces
nulltoken 7eb76734 2015-03-04T22:01:20 branch: fix generated reflog message upon renaming
nulltoken 015d4b7b 2015-03-04T21:48:54 branch: fix generated reflog message upon creation
Carlos Martín Nieto bdf0e734 2015-03-04T14:55:56 Merge pull request #2932 from jeffhostetler/jeffhostetler/big_clone_crash Fix crash in git_clone on extremely large repos
Edward Thomson 8e851c1e 2015-03-03T16:41:59 libgit2_shutdown: free TLS data (win32) Free TLS data on thread exit (win32)
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 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
Jeff Hostetler d8be5087 2015-03-03T13:35:10 Change ifdef for MINGW32.
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
Jeff Hostetler 7e9b21aa 2015-02-27T08:54:48 Fix p_ftruncate to handle big files for git_clone
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 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`