Log

Author Commit Date CI Message
Edward Thomson 2eecc288 2015-06-10T14:43:49 Introduce `git_filter_list_contains` `git_filter_list_contains` can be used to query a filter list to determine if a given filter will be run.
Edward Thomson da6720fc 2015-06-10T09:02:54 Merge pull request #3201 from libgit2/cmn/coverity A few more fixes from coverity
Carlos Martín Nieto 0137aba5 2015-06-10T11:08:05 filter: close the descriptor in case of error When we hit an error writing to the next stream from a file, we jump to 'done' which currently skips over closing the file descriptor. Make sure to close the descriptor if it has been set to a valid value.
Carlos Martín Nieto 969d4b70 2015-06-10T10:59:56 object: correct the expected ID size in prefix lookup We take in a possibly partial ID by taking a length and working off of that to figure out whether to just look up the object or ask the backends for a prefix lookup. Unfortunately we've been checking the size against `GIT_OID_HEXSZ` which is the size of a *string* containing a full ID, whereas we need to check against the size we can have when it's a 20-byte array. Change the checks and comment to use `GIT_OID_RAWSZ` which is the correct size of a git_oid to have when full.
Carlos Martín Nieto 878293f7 2015-06-10T10:44:14 pack: use git_buf when building the index name The way we currently do it depends on the subtlety of strlen vs sizeof and the fact that .pack is one longer than .idx. Let's use a git_buf so we can express the manipulation we want much more clearly.
Carlos Martín Nieto ca2857d8 2015-06-10T10:30:08 merge: actually increment the counts, not the pointers `merge_diff_list_count_candidates()` takes pointers to the source and target counts, but when it comes time to increase them, we're increasing the pointer, rather than the value it's pointing to. Dereference the value to increase.
Carlos Martín Nieto 2d73075a 2015-06-10T10:23:08 cache: add a check for a failed allocation Rather minimal change, but it's the kind of thing we should do.
Edward Thomson a166466c 2015-06-09T17:06:28 Merge pull request #3198 from libgit2/cmn/coverity A few fixes from Coverity
Carlos Martín Nieto 02980bdc 2015-06-09T16:53:07 Initialize a few variables Coverity complains about the git_rawobj ones because we use a loop in which we keep remembering the old version, and we end up copying our object as the base, so we want to have the data pointer be NULL.
Carlos Martín Nieto 81be2f46 2015-06-09T16:01:29 ssh: move NULL check to the free function Let `ssh_stream_free()` take a NULL stream, as free functions should, and remove the check from the connection setup. The connection setup would not need the check anyhow, as we always have a stream by the time we reach this code.
Carlos Martín Nieto 82a7a24c 2015-06-08T15:22:01 Merge pull request #3165 from ethomson/downcase Downcase
Carlos Martín Nieto c0d79992 2015-06-08T12:21:36 Merge pull request #3188 from thentenaar/clean-up-after-openssl global: Ensure we free our SSL context.
Tim Hentenaar 20f8edb7 2015-06-04T02:22:10 global: Ensure we free our SSL context.
Carlos Martín Nieto b6011e29 2015-06-07T15:10:28 Merge pull request #3185 from libgit2/cmn/foreach-cancel-loose path: error out if the callback returns an error
Carlos Martín Nieto fdb82dcd 2015-06-07T15:10:13 Merge pull request #3175 from git-up/build_warnings Fixed build warnings on Xcode 6.1
Carlos Martín Nieto 2785544f 2015-06-07T10:45:39 remote: some error-handling issues from Coverity
Carlos Martín Nieto 3c4442a2 2015-06-07T10:03:31 Merge pull request #3179 from arielb2/master print_usage functions is defined but not used
Carlos Martín Nieto 8da44047 2015-06-06T03:55:28 path: error out if the callback returns an error When the callback returns an error, we should stop immediately. This broke when trying to make sure we pass specific errors up the chain. This broke cancelling out of the loose backend's foreach.
Carlos Martín Nieto babdc376 2015-06-04T13:02:59 Merge pull request #3172 from Therzok/patch-2 Change error when running out of ssh agent keys
Ariel O. Barria 9334c86f 2015-06-03T14:54:26 print_usage functions is defined but not used Use the previously created function to display a message when the arguments are not valid. ticket 3095
Pierre-Olivier Latour 9f3c18e2 2015-06-02T08:36:15 Fixed build warnings on Xcode 6.1
Marius Ungureanu d71e3b25 2015-06-02T10:23:54 Change error when running out of ssh agent keys
Carlos Martín Nieto be5fda75 2015-05-31T19:21:42 Include git2/transaction.h This was forgotten when the feature was implemented.
Carlos Martín Nieto 449f9ec9 2015-05-31T18:53:42 Merge pull request #3152 from tkelman/patch-1 build maint branches on appveyor
Carlos Martín Nieto ac587e75 2015-05-31T15:45:56 Merge pull request #3048 from pks-t/insteadof Implementation of url.*.insteadOf
Patrick Steinhardt 9e88a823 2015-05-21T13:02:22 remote: test insteadOf for anonymous remotes
Patrick Steinhardt 771069e1 2015-05-21T12:46:04 Add CHANGELOG entry for url.*.insteadOf feature.
Patrick Steinhardt ec0c4c40 2015-05-04T11:59:20 remote: apply insteadOf configuration. A remote's URLs are now modified according to the url.*.insteadOf and url.*.pushInsteadOf configurations. This allows a user to replace URL prefixes by setting the corresponding keys. E.g. "url.foo.insteadOf = bar" would replace the prefix "bar" with the new prefix "foo".
Edward Thomson bad33a5d 2015-05-29T17:39:11 git__tolower: test that some non-ASCII downcasing isn't
Edward Thomson 75a4636f 2015-05-29T16:56:38 git__tolower: a tolower() that isn't dumb Some brain damaged tolower() implementations appear to want to take the locale into account, and this may require taking some insanely aggressive lock on the locale and slowing down what should be the most trivial of trivial calls for people who just want to downcase ASCII.
Edward Thomson 006548da 2015-05-29T16:07:51 git__strcasecmp: treat input bytes as unsigned Treat input bytes as unsigned before doing arithmetic on them, lest we look at some non-ASCII byte (like a UTF-8 character) as a negative value and perform the comparison incorrectly.
Carlos Martín Nieto a5670d4f 2015-05-29T20:09:46 CHANGELOG: fill in a few missing entries
Carlos Martín Nieto 2c8550f0 2015-05-29T19:38:11 Merge pull request #3157 from mgorny/ssh_memory_auth Support getting SSH keys from memory, pt. 2
Carlos Martín Nieto 64be170d 2015-05-29T16:42:40 Merge pull request #3163 from ethomson/emergeconflict Rename GIT_EMERGECONFLICT to GIT_ECONFLICT
Edward Thomson 885b94aa 2015-05-28T15:26:13 Rename GIT_EMERGECONFLICT to GIT_ECONFLICT We do not error on "merge conflicts"; on the contrary, merge conflicts are a normal part of merging. We only error on "checkout conflicts", where a change exists in the index or the working directory that would otherwise be overwritten by performing the checkout. This *may* happen during merge (after the production of the new index that we're going to checkout) but it could happen during any checkout.
Edward Thomson 41a71c1a 2015-05-28T16:29:52 Merge pull request #3161 from fxfactorial/master Changed README to use new OCaml bindings to git
Edgar Aroutiounian 69560cc0 2015-05-28T15:19:53 Changed README to use new OCaml bindings to git
Carlos Martín Nieto ff8d635a 2015-05-28T18:45:57 Merge pull request #3139 from ethomson/diff_conflicts Include conflicts when diffing
Edward Thomson fb92b48d 2015-05-28T10:13:07 Merge pull request #3149 from libgit2/cmn/upstream-matching-push Fill the pointers for matching refspecs
Carlos Martín Nieto 2b922832 2015-05-28T16:09:17 Merge pull request #3127 from libgit2/cmn/remote-fixups Tackle remote API issues from bindings
Edward Thomson 9b3e41f7 2015-05-19T18:29:15 index_add_all: remove conflicts when no wd file If there exists a conflict in the index, but no file in the working directory, this implies that the user wants to accept the resolution by removing the file. Thus, remove the conflict entry from the index, instead of trying to add a (nonexistent) file.
Edward Thomson 10549a2d 2015-05-19T18:26:04 Introduce `GIT_DIFF_FLAG_EXISTS` Mark the `old_file` and `new_file` sides of a delta with a new bit, `GIT_DIFF_FLAG_EXISTS`, that introduces that a particular side of the delta exists in the diff. This is useful for indicating whether a working directory item exists or not, in the presence of a conflict. Diff users may have previously used DELETED to determine this information.
Edward Thomson 666ae188 2015-05-19T17:52:13 git_index_add_all: test that conflicts are handled When confronted with a conflict in the index, `git_index_add_all` should stage the working directory copy. If there is no file in the working directory, the conflict should simply be removed.
Edward Thomson 1c4b5cee 2015-05-19T17:51:13 Introduce cl_git_sandbox_init_new() cl_git_sandbox_init_new() will create a clar temp directory and initialize a new repository at that location.
Edward Thomson 253a05f7 2015-05-19T11:31:15 diff: prettify `maybe_modified` a little
Edward Thomson 9f545b9d 2015-05-19T11:23:59 introduce `git_index_entry_is_conflict` It's not always obvious the mapping between stage level and conflict-ness. More importantly, this can lead otherwise sane people to write constructs like `if (!git_index_entry_stage(entry))`, which (while technically correct) is unreadable. Provide a nice method to help avoid such messy thinking.
Edward Thomson 2f1080ea 2015-05-19T11:17:07 conflict tests: use GIT_IDXENTRY_STAGE_SET
Edward Thomson 191e97a0 2015-05-18T18:15:17 diff conflicts: don't include incorrect ID Since a diff entry only concerns a single entry, zero the information for the index side of a conflict. (The index entry would otherwise erroneously include the lowest-stage index entry - generally the ancestor of a conflict.) Test that during status, the index side of the conflict is empty.
Edward Thomson b22369ef 2015-05-18T17:01:37 diff conflicts: test index to workdir w/ conflicts
Edward Thomson bb815157 2015-05-18T16:23:13 diff conflicts: add tests for tree to index
Edward Thomson 7877146f 2015-05-18T15:13:43 diff: for conflicts w/o workdir, blank nitem side Make sure that we provide a blanked nitem side when the item does not exist in the working directory.
Edward Thomson 7c948014 2015-05-14T14:00:29 diff/status: introduce conflicts When diffing against an index, return a new `GIT_DELTA_CONFLICTED` delta type for items that are conflicted. For a single file path, only one delta will be produced (despite the fact that there are multiple entries in the index). Index iterators now have the (optional) ability to return conflicts in the index. Prior to this change, they would be omitted, and callers (like diff) would omit conflicted index entries entirely.
Edward Thomson d67f270e 2015-05-14T13:30:29 index: validate mode of new conflicts
Edward Thomson 3ab5a659 2015-05-14T12:54:39 index: remove error message in non-error remove If `git_index_remove_bypath` does no work, and returns an OK error code, it should not set an error message.
Edward Thomson ecd60a56 2015-05-14T11:52:48 conflicts: when adding conflicts, remove staged When adding a conflict for some path, remove the staged entry. Otherwise, an illegal index (with both stage 0 and high-stage entries) would result.
Edward Thomson 1b6c26db 2015-05-13T17:47:26 diff: wrap the iterator functions Wrap the iterator current / advance functions so that we can extend them, but also handle GIT_ITEROVER cases in the iterator funcs instead of the callers.
Edward Thomson aa3af01d 2015-05-13T15:52:21 index iterator: optionally include conflicts
Carlos Martín Nieto 9566ce43 2015-05-18T14:42:35 remote: call the update_tips callback for opportunisitc updates These are updates, same as the rest, we should call this callback. As we are using the callback, let's make sure to skip unnecessary updates.
Carlos Martín Nieto c6e942fb 2015-05-17T15:19:22 remote: validate refspecs before adding to config When we moved from acting on the instance to acting on the configuration, we dropped the validation of the passed refspec, which can lead to writing an invalid refspec to the configuration. Bring that validation back.
Carlos Martín Nieto ae5b9362 2015-05-17T15:11:45 remote: remove fetch parameter from create_anonymous An anonymous remote is not configured and cannot therefore have configured refspecs. Remove the parameter which adds this from the constructor.
Carlos Martín Nieto c7f94123 2015-05-28T02:40:22 Merge pull request #3160 from b4n/ident-same-as-git Fix ident replacement to match Git behavior
Michał Górny f7142b5e 2015-05-24T18:38:47 cred: Declare GIT_CREDTYPE_SSH_MEMORY unconditionally Declare GIT_CREDTYPE_SSH_MEMORY to have consistent API independently of whether libgit2 was built with or without in-memory key passing support. Or rather, to have it at all since build-time definitions are not stored in headers.
Michał Górny 1679ec12 2015-05-24T18:27:15 cmake: Add CMake check for libssh2 memory credential passing support
David Calavera 08e6b875 2015-03-19T14:57:15 Return an error when ssh memory credentials are not supported. To not modify the external api.
David Calavera 7a8b8503 2015-03-17T09:19:15 Add support to read ssh keys from memory.
Michał Górny 8085adf8 2015-05-27T18:44:40 test: Add a test for in-memory SSH private key cred_cb
Michał Górny 2629fc87 2015-05-24T22:33:55 cred: Check for null values when getting key from memory The public key field is optional and as such can take NULL. Account for that and do not call strlen() on NULL values. Also assert() for non-NULL values of username & private key.
Colomban Wendling 1ecbcd8e 2015-05-26T19:16:27 Fix ident replacement to match Git behavior Git inserts a space after the SHA1 (as of 2.1.4 at least), so do the same.
Tony Kelman 2a306776 2015-05-22T14:02:44 build maint branches on appveyor equivalent of ca183d27366ba75597a9806b746e42a074df7795
Carlos Martín Nieto c11daac9 2015-05-22T22:12:40 Merge pull request #3151 from ethomson/thinpack Thin packs: don't
Edward Thomson e2dd3735 2015-05-22T11:20:47 indexer: avoid loading already existent bases When thickening a pack, avoid loading already loaded bases and trying to insert them all over again.
Edward Thomson 38c10ecd 2015-05-16T19:00:50 indexer: don't look for the index we're creating When creating an index, know that we do not have an index for our own packfile, preventing some unnecessary file opens and error reporting.
Edward Thomson 2540487f 2015-05-22T12:53:52 Merge pull request #3108 from libgit2/cmn/ssl-no-want openssl: don't try to handle WANT_READ or WANT_WRITE
Carlos Martín Nieto ca183d27 2015-05-22T17:44:28 travis: build maint branches
Carlos Martín Nieto 5014fe95 2015-05-22T12:24:09 branch: error out if we cannot find the remote When we look for which remote corresponds to a remote-tracking branch, we look in the refspecs to see which ones matches. If none do, we should abort. We currently ignore the error message from this operation, so let's not do that anymore. As part of the test we're writing, let's test for the expected behaviour if we cannot find a refspec which tells us what the remote-tracking branch for a remote would look like.
Carlos Martín Nieto 7cd4ba1b 2015-05-22T12:11:42 refspec: make sure matching refspecs have src, dst and input strings When we find out that we're dealing with a matching refspec, we set the flag and return immediately. This leaves the strings as NULL, which breaks the contract. Assign these pointers to a string with the correct values.
Carlos Martín Nieto a6ea108b 2015-05-21T14:04:46 Merge branch 'sni'
Cristian Oneț 987045c7 2015-05-20T18:03:54 Call the openssl API to be able to work with SNI servers.
Carlos Martín Nieto 5d74fb78 2015-05-21T06:32:29 Merge pull request #3145 from stinb/fix_cxx_build Fix error when building as C++.
Carlos Martín Nieto 6675aaba 2015-05-21T04:58:16 Merge pull request #3146 from ethomson/add_untracked_files index_add_all: include untracked files in new subdirs
Edward Thomson cbfeecf3 2015-05-20T20:13:45 git_index_add_all: don't recurse ignored dirs No need to get reports about individual ignored files, having a single ignored directory delta is enough.
Edward Thomson 3e85be2b 2015-05-20T20:07:39 Merge pull request #3144 from libgit2/cmn/ignored-ignore ignore: clear the error when matching a pattern negation
Edward Thomson fa9a969d 2015-05-20T18:22:17 index_add_all: include untracked files in new subdirs
Jason Haslam d30155f2 2015-05-20T14:26:05 Fix error when building as C++.
Carlos Martín Nieto 2c57114f 2015-05-20T21:18:25 ignore: clear the error when matching a pattern negation When we discover that we want to keep a negative rule, make sure to clear the error variable, as it we otherwise return whatever was left by the previous loop iteration.
Carlos Martín Nieto cd3f3c28 2015-05-20T21:06:01 Add a missing include for reset Our doc parser really wants the types to be declared in the header it's reading.
Carlos Martín Nieto c06e180a 2015-05-20T17:13:49 Merge pull request #3137 from libgit2/cmn/server-errors Improve server error reporting
Carlos Martín Nieto 1396c381 2015-05-18T16:04:55 errors: add GIT_EEOF to indicate early EOF This can be used by tools to show mesages about failing to communicate with the server. The error message in this case will often contain the server's error message, as far as it managed to send anything.
Carlos Martín Nieto e3435673 2015-05-18T15:51:55 ssh: read from stderr if stdout is empty When we fail to read from stdout, it's typically because the URL was wrong and the server process has sent some output over its stderr output. Read that output and set the error message to whatever we read from it.
Edward Thomson acc573cb 2015-05-19T14:12:40 Merge pull request #3109 from libgit2/cmn/index-use-diff Use a diff for iteration in index_update_all and index_add_all
Edward Thomson 0aa60336 2015-05-19T14:07:03 Merge pull request #3132 from libgit2/cmn/path-direach-cberror Provide error messages for git_path_direach operations
Carlos Martín Nieto edef91ee 2015-05-15T12:23:27 fileops: set an error on write error for file copy We set an error if we get an error when reading, but we don't bother setting an error message for write failing. This causes a cryptic error to be shown to the user when the target filesystem is full.
Carlos Martín Nieto 70f7484d 2015-05-14T09:35:08 remote: get rid of the run-time refspec setters These were left over from the culling as it's not clear which use-cases might benefit from this. It is not clear that we want to support any use-case which depends on changing the remote's idea of the base refspecs rather than passing in different per-operation refspec list, so remove these functions.
Carlos Martín Nieto 7b5ce2e5 2015-05-14T09:33:54 clone: don't rely on auto-saving for single-branch The code used to rely on the clone code calling the remote's save, which does not happen anymore, meaning that the configuration settings the remote expected were not being written to disk. The run-time configuration was still being affected, so the right branch was being cloned. The tests continued to pass as we did not check for the configuration entires. Fix this by creating the remote with the single-branch refspec we want and checking for its existence in the configuration.
Carlos Martín Nieto 9663d1bd 2015-05-14T08:29:50 Fix typos in the CHANGELOG
Carlos Martín Nieto 54738368 2015-05-15T12:18:05 fileops: set an error message if we fail to link a file Now that `git_path_direach` lets us specify an error message to report, set an appropriate error message while linking.
Carlos Martín Nieto 8a4d77f9 2015-05-15T12:15:45 path: don't let direach overwrite the callback's error message This function deals with functions doing IO which means the amount of errors that can happen is quit large. It does not help if it always ovewrites the underlying error message with a less understandable version of "something went wrong". Instead, only use this generic message if there was no error set by the callback.
Carlos Martín Nieto 9042693e 2015-05-15T10:10:24 Merge pull request #3130 from mortonfox/patch-1 Updated dlibgit link.
Carlos Martín Nieto 481ac3d1 2015-05-14T21:51:45 Merge pull request #3129 from Therzok/patch-2 Bring Early EOF message in line with the other two
Morton Fox e702dc2e 2015-05-14T15:49:51 Updated dlibgit link.