summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* filter: close the descriptor in case of errorcmn/coverityCarlos Martín Nieto2015-06-101-2/+3
| | | | | | | 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.
* object: correct the expected ID size in prefix lookupCarlos Martín Nieto2015-06-101-5/+5
| | | | | | | | | | | | | 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.
* pack: use git_buf when building the index nameCarlos Martín Nieto2015-06-101-10/+11
| | | | | | 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.
* merge: actually increment the counts, not the pointersCarlos Martín Nieto2015-06-101-2/+2
| | | | | | | | `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.
* cache: add a check for a failed allocationCarlos Martín Nieto2015-06-101-0/+1
| | | | Rather minimal change, but it's the kind of thing we should do.
* Merge pull request #3198 from libgit2/cmn/coverityEdward Thomson2015-06-095-10/+11
|\ | | | | A few fixes from Coverity
| * Initialize a few variablesCarlos Martín Nieto2015-06-093-3/+3
| | | | | | | | | | | | 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.
| * ssh: move NULL check to the free functionCarlos Martín Nieto2015-06-091-5/+5
| | | | | | | | | | | | | | | | 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.
| * remote: some error-handling issues from CoverityCarlos Martín Nieto2015-06-071-2/+3
| |
* | Merge pull request #3165 from ethomson/downcaseCarlos Martín Nieto2015-06-088-24/+75
|\ \ | | | | | | Downcase
| * | git__tolower: test that some non-ASCII downcasing isn'tEdward Thomson2015-05-291-0/+4
| | |
| * | git__tolower: a tolower() that isn't dumbEdward Thomson2015-05-297-24/+33
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | git__strcasecmp: treat input bytes as unsignedEdward Thomson2015-05-292-2/+40
| | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #3188 from thentenaar/clean-up-after-opensslCarlos Martín Nieto2015-06-081-0/+16
|\ \ \ | | | | | | | | global: Ensure we free our SSL context.
| * | | global: Ensure we free our SSL context.Tim Hentenaar2015-06-081-0/+16
|/ / /
* | | Merge pull request #3185 from libgit2/cmn/foreach-cancel-looseCarlos Martín Nieto2015-06-072-2/+24
|\ \ \ | | | | | | | | path: error out if the callback returns an error
| * | | path: error out if the callback returns an errorcmn/foreach-cancel-looseCarlos Martín Nieto2015-06-062-2/+24
| | |/ | |/| | | | | | | | | | | | | | | | 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.
* | | Merge pull request #3175 from git-up/build_warningsCarlos Martín Nieto2015-06-078-10/+21
|\ \ \ | | | | | | | | Fixed build warnings on Xcode 6.1
| * | | Fixed build warnings on Xcode 6.1Pierre-Olivier Latour2015-06-028-10/+21
| | | |
* | | | Merge pull request #3179 from arielb2/masterCarlos Martín Nieto2015-06-071-0/+2
|\ \ \ \ | |_|/ / |/| | | print_usage functions is defined but not used
| * | | print_usage functions is defined but not usedAriel O. Barria2015-06-031-0/+2
| |/ / | | | | | | | | | | | | | | | Use the previously created function to display a message when the arguments are not valid. ticket 3095
* | | Merge pull request #3172 from Therzok/patch-2Carlos Martín Nieto2015-06-041-1/+7
|\ \ \ | |/ / |/| | Change error when running out of ssh agent keys
| * | Change error when running out of ssh agent keysMarius Ungureanu2015-06-021-1/+7
|/ /
* | Include git2/transaction.hCarlos Martín Nieto2015-05-311-0/+1
| | | | | | | | This was forgotten when the feature was implemented.
* | Merge pull request #3152 from tkelman/patch-1Carlos Martín Nieto2015-05-311-0/+1
|\ \ | | | | | | build maint branches on appveyor
| * | build maint branches on appveyorTony Kelman2015-05-221-0/+1
| | | | | | | | | equivalent of ca183d27366ba75597a9806b746e42a074df7795
* | | Merge pull request #3048 from pks-t/insteadofCarlos Martín Nieto2015-05-315-5/+164
|\ \ \ | | | | | | | | Implementation of url.*.insteadOf
| * | | remote: test insteadOf for anonymous remotesPatrick Steinhardt2015-05-311-0/+12
| | | |
| * | | Add CHANGELOG entry for url.*.insteadOf feature.Patrick Steinhardt2015-05-311-0/+4
| | | |
| * | | remote: apply insteadOf configuration.Patrick Steinhardt2015-05-314-5/+148
|/ / / | | | | | | | | | | | | | | | | | | | | | 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".
* | | CHANGELOG: fill in a few missing entriesCarlos Martín Nieto2015-05-291-5/+20
| | |
* | | Merge pull request #3157 from mgorny/ssh_memory_authCarlos Martín Nieto2015-05-295-1/+168
|\ \ \ | | | | | | | | Support getting SSH keys from memory, pt. 2
| * | | test: Add a test for in-memory SSH private key cred_cbMichał Górny2015-05-271-0/+68
| | | |
| * | | cred: Check for null values when getting key from memoryMichał Górny2015-05-271-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | cred: Declare GIT_CREDTYPE_SSH_MEMORY unconditionallyMichał Górny2015-05-272-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | cmake: Add CMake check for libssh2 memory credential passing supportMichał Górny2015-05-271-0/+5
| | | |
| * | | Return an error when ssh memory credentials are not supported.David Calavera2015-05-272-4/+6
| | | | | | | | | | | | | | | | To not modify the external api.
| * | | Add support to read ssh keys from memory.David Calavera2015-05-273-1/+94
| |/ /
* | | Merge pull request #3163 from ethomson/emergeconflictCarlos Martín Nieto2015-05-297-18/+21
|\ \ \ | | | | | | | | Rename GIT_EMERGECONFLICT to GIT_ECONFLICT
| * | | Rename GIT_EMERGECONFLICT to GIT_ECONFLICTEdward Thomson2015-05-297-18/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge pull request #3161 from fxfactorial/masterEdward Thomson2015-05-281-1/+1
|\ \ \ \ | |/ / / |/| | | Changed README to use new OCaml bindings to git
| * | | Changed README to use new OCaml bindings to gitEdgar Aroutiounian2015-05-281-1/+1
|/ / /
* | | Merge pull request #3139 from ethomson/diff_conflictsCarlos Martín Nieto2015-05-2828-177/+675
|\ \ \ | | | | | | | | Include conflicts when diffing
| * | | index_add_all: remove conflicts when no wd fileEdward Thomson2015-05-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Introduce `GIT_DIFF_FLAG_EXISTS`Edward Thomson2015-05-283-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | git_index_add_all: test that conflicts are handledEdward Thomson2015-05-281-49/+104
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Introduce cl_git_sandbox_init_new()Edward Thomson2015-05-282-0/+9
| | | | | | | | | | | | | | | | | | | | cl_git_sandbox_init_new() will create a clar temp directory and initialize a new repository at that location.
| * | | diff: prettify `maybe_modified` a littleEdward Thomson2015-05-281-12/+15
| | | |
| * | | introduce `git_index_entry_is_conflict`Edward Thomson2015-05-289-15/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | conflict tests: use GIT_IDXENTRY_STAGE_SETEdward Thomson2015-05-287-26/+26
| | | |