summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | 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
| | | |
| * | | diff conflicts: don't include incorrect IDEdward Thomson2015-05-282-16/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | diff conflicts: test index to workdir w/ conflictsEdward Thomson2015-05-281-0/+45
| | | |
| * | | diff conflicts: add tests for tree to indexEdward Thomson2015-05-283-2/+78
| | | |
| * | | diff: for conflicts w/o workdir, blank nitem sideEdward Thomson2015-05-281-13/+26
| | | | | | | | | | | | | | | | | | | | Make sure that we provide a blanked nitem side when the item does not exist in the working directory.
| * | | diff/status: introduce conflictsEdward Thomson2015-05-287-25/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | index: validate mode of new conflictsEdward Thomson2015-05-283-1/+23
| | | |
| * | | index: remove error message in non-error removeEdward Thomson2015-05-281-0/+3
| | | | | | | | | | | | | | | | | | | | If `git_index_remove_bypath` does no work, and returns an OK error code, it should not set an error message.
| * | | conflicts: when adding conflicts, remove stagedEdward Thomson2015-05-285-3/+71
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | diff: wrap the iterator functionsEdward Thomson2015-05-281-25/+73
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | index iterator: optionally include conflictsEdward Thomson2015-05-282-7/+13
| | |/ | |/|
* | | Merge pull request #3149 from libgit2/cmn/upstream-matching-pushEdward Thomson2015-05-284-3/+54
|\ \ \ | | | | | | | | Fill the pointers for matching refspecs
| * | | branch: error out if we cannot find the remotecmn/upstream-matching-pushCarlos Martín Nieto2015-05-222-3/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | refspec: make sure matching refspecs have src, dst and input stringsCarlos Martín Nieto2015-05-222-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge pull request #3127 from libgit2/cmn/remote-fixupsCarlos Martín Nieto2015-05-288-96/+88
|\ \ \ \ | |_|/ / |/| | | Tackle remote API issues from bindings
| * | | remote: call the update_tips callback for opportunisitc updatesCarlos Martín Nieto2015-05-281-9/+31
| | | | | | | | | | | | | | | | | | | | 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.
| * | | remote: validate refspecs before adding to configCarlos Martín Nieto2015-05-283-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | remote: remove fetch parameter from create_anonymousCarlos Martín Nieto2015-05-287-30/+17
| | | | | | | | | | | | | | | | | | | | | | | | An anonymous remote is not configured and cannot therefore have configured refspecs. Remove the parameter which adds this from the constructor.
| * | | remote: get rid of the run-time refspec settersCarlos Martín Nieto2015-05-173-42/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | clone: don't rely on auto-saving for single-branchCarlos Martín Nieto2015-05-171-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Fix typos in the CHANGELOGCarlos Martín Nieto2015-05-171-3/+3
| | | |
* | | | Merge pull request #3160 from b4n/ident-same-as-gitCarlos Martín Nieto2015-05-285-17/+17
|\ \ \ \ | |_|_|/ |/| | | Fix ident replacement to match Git behavior
| * | | Fix ident replacement to match Git behaviorColomban Wendling2015-05-265-17/+17
|/ / / | | | | | | | | | | | | Git inserts a space after the SHA1 (as of 2.1.4 at least), so do the same.
* | | Merge pull request #3151 from ethomson/thinpackCarlos Martín Nieto2015-05-222-1/+21
|\ \ \ | | | | | | | | Thin packs: don't
| * | | indexer: avoid loading already existent basesEdward Thomson2015-05-221-1/+14
| | | | | | | | | | | | | | | | | | | | When thickening a pack, avoid loading already loaded bases and trying to insert them all over again.
| * | | indexer: don't look for the index we're creatingEdward Thomson2015-05-221-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | When creating an index, know that we do not have an index for our own packfile, preventing some unnecessary file opens and error reporting.
* | | | Merge pull request #3108 from libgit2/cmn/ssl-no-wantEdward Thomson2015-05-221-16/+5
|\ \ \ \ | |/ / / |/| | | openssl: don't try to handle WANT_READ or WANT_WRITE
| * | | openssl: don't try to handle WANT_READ or WANT_WRITEcmn/ssl-no-wantCarlos Martín Nieto2015-05-091-16/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We use a blocking socket and set the mode to AUTO_RETRY which means that `SSL_write` and `SSL_read` will only return once the read or write has been completed. We therefore don't need to handle partial writes or re-try read due to a regenotiation. While here, consider that a zero also indicates an error condition.
* | | | travis: build maint branchesCarlos Martín Nieto2015-05-221-1/+1
| |_|/ |/| |
* | | Merge branch 'sni'Carlos Martín Nieto2015-05-211-0/+3
|\ \ \
| * | | Call the openssl API to be able to work with SNI servers.Cristian Oneț2015-05-211-0/+3
| | | |
* | | | Merge pull request #3145 from stinb/fix_cxx_buildCarlos Martín Nieto2015-05-211-1/+1
|\ \ \ \ | | | | | | | | | | Fix error when building as C++.
| * | | | Fix error when building as C++.Jason Haslam2015-05-201-1/+1
| | | | |
* | | | | Merge pull request #3146 from ethomson/add_untracked_filesCarlos Martín Nieto2015-05-212-1/+26
|\ \ \ \ \ | | | | | | | | | | | | index_add_all: include untracked files in new subdirs