src


Log

Author Commit Date CI Message
John Fultz 727ae380 2014-11-01T11:21:45 Make config reading continue after hitting a missing include file. For example, if you have [include] path = foo and foo didn't exist, git_config_open_ondisk() would just give up on the rest of the file. Now it ignores the unresolved include without error and continues reading the rest of the file.
Pierre-Olivier Latour 64bcf567 2014-10-26T10:30:05 Fixed potential crash with uninitialized variables
Pierre-Olivier Latour ea66215d 2014-10-26T10:29:19 Removed some useless variable assignments
Carlos Martín Nieto 177a29d8 2014-10-27T10:39:45 Merge commit 'refs/pull/2366/head' of github.com:libgit2/libgit2
Sven Strickroth 334a0696 2014-10-26T17:36:14 Minor cleanup: Use defined no_check_cert_flags instead of C&P them again Signed-off-by: Sven Strickroth <email@cs-ware.de>
Edward Thomson 979645a7 2014-10-04T20:17:26 rebase: updates based on PR comments
Edward Thomson 18b00406 2014-10-03T19:02:29 s/git_merge_head/git_annotated_commit Rename git_merge_head to git_annotated_commit, as it becomes used in more operations than just merge.
Edward Thomson 796b03bd 2014-10-03T20:47:48 rebase: clean up some warnings and memory leaks
Edward Thomson e69737d7 2014-09-11T16:46:46 rebase: oid member of operation should be const
Edward Thomson ed2c06a6 2014-09-11T16:47:20 git_rebase: iterators for operations
Edward Thomson f152f8ac 2014-08-26T16:18:46 rebase: preload all operations
Edward Thomson b6b636a7 2014-08-25T13:29:50 rebase: init/open a git_rebase object
Edward Thomson 18b439b9 2014-08-23T18:19:34 git_rebase_next: provide info about the operation
Edward Thomson 5ae9d296 2014-07-21T12:25:03 git_rebase_finish: rewrite notes when finishing rebase
Edward Thomson bad4937e 2014-07-21T10:47:01 Introduce `git_note_author`, `git_note_committer`
Edward Thomson a612a25f 2014-07-18T18:22:54 git_rebase_commit: write HEAD's reflog appropriately
Edward Thomson 517644cc 2014-07-18T17:19:10 Introduce git_rebase_finish to complete a rebase
Edward Thomson 93a7004c 2014-07-18T14:50:06 git_rebase_commit: drop already-picked commits Already cherry-picked commits should not be re-included. If all changes included in a commit exist in the upstream, then we should error with GIT_EAPPLIED.
Edward Thomson a35a9890 2014-07-17T18:25:03 Introduce git_rebase_commit Commit the current patch of a rebase process.
Edward Thomson 443d5674 2014-07-17T11:59:01 git_rebase_next: write conflicts nicely during rebase
Edward Thomson 950a7091 2014-07-15T10:23:10 Introduce git_rebase_next `git_rebase_next` will apply the next patch (or cherry-pick) operation, leaving the results checked out in the index / working directory so that consumers can resolve any conflicts, as appropriate.
Edward Thomson 4fe84d62 2014-07-14T15:19:19 Introduce git_rebase_abort Abort an in-progress rebase and move the working directory and repository back to the ORIG_HEAD state.
Edward Thomson daf395b7 2014-07-18T17:40:07 git_reset: const the git_signature arg
Edward Thomson 867a36f3 2014-07-14T14:35:01 Introduce git_rebase to set up a rebase session Introduce `git_rebase` to set up a rebase session that can then be continued. Immediately, only merge-type rebase is supported.
Edward Thomson 5b0c6306 2014-10-26T22:38:30 Remove unused warning on non-win32
Edward Thomson 5a7cd1bc 2014-10-25T19:53:53 iterator: free paths when skipping them
Edward Thomson 8c8ca730 2014-10-25T19:53:07 mwindow: clean up pack map at shutdown
Edward Thomson 50aae000 2014-10-25T19:52:11 global: clean up openssl_locks on shutdown
Edward Thomson bc42479a 2014-10-13T15:43:03 Cleanup memory leak in ssh transport
Edward Thomson cdd71711 2014-10-13T14:34:32 Clean up some memory leaks
Edward Thomson 369b0217 2014-10-13T13:34:15 Clean up various compiler warnings
Edward Thomson d09458f3 2014-10-24T16:52:39 Merge pull request #2638 from libgit2/cmn/config-refresh-remove config: remove the refresh function and backend field
Edward Thomson 725cd5f2 2014-10-24T16:44:07 Merge pull request #2646 from libgit2/cmn/remote-rename remote: accept a repo and name for renaming
Edward Thomson b8041215 2014-10-24T14:02:53 Merge pull request #2649 from swisspol/2630 Fixed memory leak in git_tag_delete()
Edward Thomson cdfd2b62 2014-10-24T08:27:38 Merge pull request #2645 from libgit2/cmn/common-crypto [RFC] Use CommonCrypto for hashing
Pierre-Olivier Latour 1ad15540 2014-10-24T08:23:14 Fixed memory leak in git_tag_delete()
Carlos Martín Nieto 46c8f7f8 2014-10-24T16:25:59 remote: accept a repo and name for renaming Remote objects are not meant to be changed from under the user. We did this in rename, but only the name and left the refspecs, such that a save would save the wrong refspecs (and a fetch and anything else would use the wrong refspecs). Instead, let's simply take a name and not change any loaded remote from under the user.
Carlos Martín Nieto 0862f617 2014-10-24T12:19:13 remote: delete git_remote_supported_url() This function does not in fact tell us anything, as almost anything with a colon in it is a valid rsync-style SSH path; it can not tell us that we do not support ftp or afp or similar as those are still valid SSH paths and we do support that.
Carlos Martín Nieto d9c0dbb0 2014-10-24T13:29:11 hash: use CommonCrypto on OSX for SHA-1 OSX has its own cryptographic library, let's make use of it instead of calling out to OpenSSL.
Carlos Martín Nieto 55cb4999 2014-10-23T19:05:02 config: remove the refresh function and backend field We have been refreshing on read and write for a while now, so git_config_refresh() is at best a no-op, and might just end up wasting cycles.
Carlos Martín Nieto 4bb6ffb6 2014-10-23T18:58:39 Merge pull request #2622 from libgit2/refresh-config-snapshot Refresh git configuration before looking for the tracking branch redux.
Edward Thomson d676af43 2014-10-23T08:27:13 Merge pull request #2625 from libgit2/cmn/ssl-tls ssl: dump the SSL ciphers in favour of TLS
Carlos Martín Nieto f0f97370 2014-10-18T15:52:10 ssl: dump the SSL ciphers in favour of TLS 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.
Alan Rogers ad5adacb 2014-10-21T09:29:45 Patch from @carlosmn to refresh the parent config before snapshotting.
Edward Thomson 12f32d91 2014-10-14T16:31:55 Remote paths: canonicalize UNC paths on Win32 Git for Windows will handle UNC paths only when in forward-slash format, eg "//server/path". When given a UNC path as a remote, rewrite standard format ("\\server\path") into this ridiculous format.
Carlos Martín Nieto bb0757d5 2014-10-22T21:09:31 tree-cache: correct the entry_count calculation The entry_count field is the amount of index entries covered by a particular cache entry, that is how many files are there (recursively) under a particular directory. The current code that attemps to do this is severely defincient and is trying to count the amount of children, which always comes up to zero. We don't even need to recount, since we have the information during the cache creation. We can take that number and keep it, as we only ever invalidate or replace.
Edward Thomson e0383fa3 2014-10-13T16:59:56 Merge pull request #2609 from linquize/describe-opts Handle describe options better
Edward Thomson c6e26210 2014-10-13T16:52:44 Merge pull request #2615 from ethomson/mount_points Mount points
Edward Thomson 6a26488f 2014-10-11T21:38:22 Don't copy buffer in checkout unless needed
Jacques Germishuys 5e2cf2ca 2014-10-10T13:22:11 Ensure filters (i.e. CRLF) are applied when checking out conflict content
Edward Thomson 969b6a47 2014-10-11T11:23:34 is_empty_dir (wi32): cope with empty mount points 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).
Edward Thomson 8d45b469 2014-10-11T14:34:24 p_lstat win32: don't canonicalize volume mounts 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.
Sven Strickroth cf1013a8 2014-10-12T17:21:17 There is no "z" size specifier on MSVC See http://msdn.microsoft.com/en-us/library/tcxf1dw6.aspx and https://stackoverflow.com/questions/6655410/why-doesnt-zd-printf-format-work-in-vs2010 Signed-off-by: Sven Strickroth <email@cs-ware.de>
Linquize 59186d9b 2014-10-10T23:37:20 describe: Initialize options for git_describe_format() if null
Linquize 0494a7c9 2014-10-10T21:48:46 describe: Do not crash if pass null option to git_describe_commit()
Russell Belfer 85fe63bc 2014-10-10T15:17:27 Don't use cl_git_pass for POSIX functions If there is a failure then cl_git_pass tries to get the libgit2 error, but p_... functions don't set that. Also - trailing whitespace cleanup.
Russell Belfer babbff34 2014-10-10T15:17:05 Move un-namespaced constant to internal header FLAG_BITS only seems to be used internally
Carlos Martín Nieto 7465e873 2014-09-29T09:07:41 index: fill the tree cache on write-tree An obvious place to fill the tree cache is on write-tree, as we're guaranteed to be able to fill in the whole tree cache. The way this commit does this is not the most efficient, as we read the root tree from the odb instead of filling in the cache as we go along, but it fills the cache such that successive operations (and persisting the index to disk) will be able to take advantage of the cache, and it reuses the code we already have for filling the cache. Filling in the cache as we create the trees would require some reallocation of the children vector, which is currently not possible with out pool implementation. A different data structure would likely allow us to perform this operation at a later date.
Carlos Martín Nieto 795d8e93 2014-09-29T08:03:22 index: make sure to write cached subtrees if parent is invalidated If e.g. the root tree is invalidated, we still want to write out its children, since those may still have valid cache entries.
Carlos Martín Nieto c2f8b215 2014-09-28T07:00:49 index: write out the tree cache extension Keeping the cache around after read-tree is only one part of the optimisation opportunities. In order to share the cache between program instances, we need to write the TREE extension to the index. Do so, taking the opportunity to rename 'entries' to 'entry_count' to match the name given in the format description. The included test is rather trivial, but works as a sanity check.
Carlos Martín Nieto 46bb0067 2014-07-11T11:52:38 tree-cache: remove the parent pointer This wasn't used. We invalidate based on the full path, so we always go down the tree, never up.
Carlos Martín Nieto 6843cebe 2014-07-10T14:10:39 index: fill the tree cache when reading from a tree When reading from a tree, we know what every tree is going to look like, so we can fill in the tree cache completely, making use of the index for modification of trees a lot quicker.
Carlos Martín Nieto 19c88310 2014-07-10T13:48:13 tree-cache: move to use a pool allocator This simplifies freeing the entries quite a bit; though there aren't that many failure paths right now, introducing filling the cache from a tree will introduce more. This makes sure not to leak memory on errors.
Carlos Martín Nieto d091a9db 2014-07-10T12:21:28 tree-cache: extract the allocation
Edward Thomson a6ed1fcb 2014-10-10T12:21:28 Merge pull request #2593 from libgit2/cmn/remote-delete-name remote: accept a repository and remote name for deletion
Carlos Martín Nieto bab92a8d 2014-10-10T18:06:36 Merge pull request #2575 from cirosantilli/factor-struct-typedef [factor] Join typedef and struct definitions in single file.
Carlos Martín Nieto 4c0c0015 2014-10-10T17:58:35 Merge pull request #2498 from linquize/read-large-file Can read large file larger than 2GB on Win64
Carlos Martín Nieto 33ca3565 2014-10-10T17:52:31 Merge pull request #2556 from sbc100/fix_warnings Fix warnings in thread-utils.h when building without -DTHREADSAFE=ON
Carlos Martín Nieto 2139c9b7 2014-10-10T17:50:28 Merge pull request #2542 from linquize/fetch-head Do not error out when fetching from second remote
Carlos Martín Nieto 9b36537d 2014-10-10T17:42:52 Merge pull request #2588 from swansontec/ssl-cert-path2 Add support for setting the SSL CA location
Carlos Martín Nieto 0625638f 2014-10-10T17:40:53 Merge pull request #2499 from csware/hard-reset-checkout-callbacks Allow to propagate checkout callbacks to git HARD reset
Edward Thomson f54d8d52 2014-10-10T11:28:58 Merge pull request #2574 from csware/hostname-for-certificate_check_cb Provide host name to certificate_check_cb
Edward Thomson 533da4ea 2014-10-10T10:03:06 Merge pull request #2473 from arthurschreiber/arthur/new-javascript-test-files New test files for the javascript diff driver.
Edward Thomson f339f441 2014-10-10T09:59:26 Merge pull request #2603 from libgit2/cmn/revwalk-merge-base Walk only as far as the common ancestors of uninteresting commits
Arthur Schreiber 8e398e4c 2014-10-10T13:17:53 Treat an empty list of refspecs the same as a NULL value.
Carlos Martín Nieto 46a2b8e8 2014-10-09T22:24:40 Merge pull request #2592 from libgit2/cmn/describe Implement git-describe
Arthur Schreiber 994a3006 2014-10-09T22:21:34 Update the javascript diff driver's function pattern.
Anurag Gupta (OSG) 5623e627 2014-10-09T11:44:05 git_filter: dup the filter name
Edward Thomson dfff1b5b 2014-10-09T12:16:17 Merge pull request #2599 from linquize/config-trailing-spaces config: Handle multiple spaces that follow a configuration value and precede a comment char
Edward Thomson 8371457c 2014-10-09T11:32:26 Merge pull request #2597 from ethomson/fixup Trivial fixups
Carlos Martín Nieto eecc1772 2014-10-09T17:02:11 Fix an uninitialized variable
Edward Thomson 10cf4b26 2014-10-09T10:49:37 Merge pull request #2448 from libgit2/cmn/reference-transaction Introduce reference transactions
Edward Thomson 8be28acf 2014-10-09T10:41:38 Merge pull request #2462 from libgit2/cmn/remote-fetch-refs Implement opportunistic ref updates
Carlos Martín Nieto c327d5db 2014-10-09T16:29:30 transaction: rename lock() to lock_ref() This leaves space for future expansion to locking other resources without having to change the API for references.
Arthur Schreiber 917f85a1 2014-10-09T14:16:10 Extract shared functionality.
Arthur Schreiber eca07bcd 2014-10-09T13:58:23 Add git_merge_bases_many.
Carlos Martín Nieto d6afda62 2014-10-08T17:17:31 revwalk: clear first-parent flag on reset This should have been included when implementing the feature but was missed.
Carlos Martín Nieto 9b5d6cea 2014-10-08T17:14:48 revwalk: catch no-push and no-hide cases If there have been no pushes, we can immediately return ITEROVER. If there have been no hides, we must not run the uninteresting pre-mark phase, as we do not want to hide anything and this would simply cause us to spend time loading objects.
Carlos Martín Nieto e7970576 2014-10-08T15:52:11 revwalk: mark uninteresting only up to the common ancestors This introduces a phase at the start of preparing a walk which pre-marks uninteresting commits, but only up to the common ancestors. We do this in a similar way to git, by walking down the history and marking (which is what we used to do), but we keep a time-sorted priority queue of commits and stop marking as soon as there are only uninteresting commits in this queue. This is a similar rule to the one used to find the merge-base. As we keep inserting commits regardless of the uninteresting bit, if there are only uninteresting commits in the queue, it means we've run out of interesting commits in our walk, so we can stop. The old mark_unintesting() logic is still in place, but that stops walking if it finds an already-uninteresting commit, so it will stop on the ones we've pre-marked; but keeping it allows us to also hide those that are hidden via the callback.
Carlos Martín Nieto ad66bf88 2014-10-08T10:45:47 revwalk: keep a single list of user inputs The old separation was due to the old merge-base finding, so it's no longer necessary.
Carlos Martín Nieto 42835aa6 2014-10-08T10:24:06 revwalk: clear the flags on reset These store merge-base information which is only valid for a single run.
Linquize 0a641647 2014-10-04T23:27:06 config: Fix multiple trailing spaces before comments not completely trimmed
Edward Thomson 7c9bf891 2014-10-03T19:34:37 repository_head_unborn: clear error when HEAD is unborn
Vicent Marti 737b5051 2014-10-01T12:03:24 hashsig: Export as a `sys` header
William Swanson 737b445a 2014-09-26T20:31:33 Add support for setting the SSL CA location This allows users to specify self-signed certificates, or to provide their own certificate stores on limited platforms such as mobile phones.
Erdur 44802c55 2014-09-30T16:19:24 path: fix invalid access
Carlos Martín Nieto 262eec23 2014-09-30T16:07:30 remote: accept a repository and remote name for deletion We don't need the remote loaded, and the function extracted both of these from the git_remote in order to do its work, so let's remote a step and not ask for the loaded remote at all. This fixes #2390.
Carlos Martín Nieto f99ca523 2014-06-30T06:38:45 stash: use a transaction to modify the reflog The stash is implemented as the refs/stash reference and its reflog. In order to modify the reflog, we need avoid races by making sure we're the only ones allowed to modify the reflog. We achieve this via the transactions API. Locking the reference gives us exclusive write access, letting us modify and write it without races.
Carlos Martín Nieto ab8d9242 2014-06-28T06:39:38 Introduce reference transactions A transaction allows you to lock multiple references and set up changes for them before applying the changes all at once (or as close as the backend supports). This can be used for replication purposes, or for making sure some operations run when the reference is locked and thus cannot be changed.
Carlos Martín Nieto bdeb8772 2014-06-28T07:29:46 signature: add a dup function which takes a pool This will be used by the transaction code.