CHANGELOG.md


Log

Author Commit Date CI Message
Edward Thomson bd670abd 2015-06-23T23:30:58 Merge pull request #3226 from libgit2/cmn/racy-diff-again racy-git, the missing link
Carlos Martín Nieto bb4896f2 2015-06-22T14:20:13 Add a note about racy-git in CHANGELOG
Carlos Martín Nieto a3f42fe8 2015-06-22T15:32:29 commit: allow retrieving an arbitrary header field This allows the user to look up fields which we don't parse in libgit2, and allows them to access gpgsig or mergetag fields if they wish to check the signature.
Edward Thomson 0e522f6e 2015-06-12T09:28:19 binary diff: document changes in CHANGELOG
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.
Patrick Steinhardt 771069e1 2015-05-21T12:46:04 Add CHANGELOG entry for url.*.insteadOf feature.
Carlos Martín Nieto a5670d4f 2015-05-29T20:09:46 CHANGELOG: fill in a few missing entries
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.
Carlos Martín Nieto ff8d635a 2015-05-28T18:45:57 Merge pull request #3139 from ethomson/diff_conflicts Include conflicts when diffing
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 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 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 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 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.
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 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.
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 9663d1bd 2015-05-14T08:29:50 Fix typos in the CHANGELOG
Carlos Martín Nieto 874cc35a 2015-05-14T15:24:15 index: add a CHANGELOG entry for the diff usage
Carlos Martín Nieto 98270f56 2015-05-14T08:26:02 Add CHANGELOG entry for index entry changes
Carlos Martín Nieto b1ae3e53 2015-04-26T02:20:22 Update CHANGELOG with the changes to the remotes
Edward Thomson 1f1f5c63 2015-05-11T14:10:24 checkout: better document the `baseline_index` opt
Edward Thomson 15fdf054 2015-05-11T14:06:47 stash application: document new API in CHANGELOG
Jameson Miller bf2ba529 2015-04-30T10:57:13 Update documentation for API changes
Carlos Martín Nieto 85247df0 2015-03-19T14:26:07 Update THREADING and CHANGELOG with SecureTransport details
Edward Thomson aa9bb425 2015-04-20T17:22:39 rebase: correct documentation, CHANGELOG
Edward Thomson f3a199dd 2015-03-17T15:53:04 rebase: init and open take a rebase_options `git_rebase_init` and `git_rebase_open` should take a `git_rebase_options` and use it for future rebase operations on that `rebase` object.
Edward Thomson eaf0d688 2015-03-17T17:53:07 rebase: block rebase_commit with unstaged changes
Edward Thomson 30640aa9 2015-03-17T10:04:08 rebase: identify a rebase that has not started In `git_rebase_operation_current()`, indicate when a rebase has not started (with `GIT_REBASE_NO_OPERATION`) rather than conflating that with the first operation being in-progress.
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
Shawn Landden b8c50808 2015-03-20T10:18:12 fix changelog
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
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.
Jacques Germishuys 70b0f128 2015-03-17T16:34:36 Added changelog entries for whitespace and patience merges.
Carlos Martín Nieto 8acf058f 2015-03-07T12:09:41 CHANGELOG: add notes about the annotated ref-modifying functions
Edward Thomson 12e1fff7 2015-03-12T18:04:25 Merge pull request #2973 from libgit2/cmn/local-pack-threading local: create pack with multiple threads
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 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.
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 41513659 2015-02-06T23:46:23 Update CHANGELOG with the reflog ident changes
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.
Edward Thomson 96b82b11 2015-02-14T11:44:05 checkout: remove `GIT_CHECKOUT_SAFE_CREATE` as a strategy
Damien PROFETA a275fbc0 2015-02-05T11:40:16 Add API to add a memory buffer to an index git_index_add_frombuffer enables now to store a memory buffer in the odb and to store an entry in the index directly if the index is attached to a repository.
Edward Thomson 1ac5acdc 2015-01-26T11:28:59 Merge pull request #2819 from libgit2/cmn/config-get-path config: add parsing and getter for paths
Sven Strickroth 0161e096 2014-11-13T19:30:47 Make binary detection work similar to vanilla git Main change: Don't treat chars > 128 as non-printable (common in UTF-8 files) Signed-off-by: Sven Strickroth <email@cs-ware.de>
Carlos Martín Nieto eac773d9 2015-01-14T15:05:43 config: add parsing and getter for paths
Edward Thomson 4d6f55ac 2015-01-14T10:26:26 CHANGELOG: include small file similarity detection
Carlos Martín Nieto 16bcf0c7 2015-01-13T19:29:00 Pre-fill the changelog with the subheadings
Carlos Martín Nieto b91f28be 2015-01-10T00:49:20 Reformat the changelog This should provide a easier way to see what kinds of changes we have, and a single place to look at the breaking changes.
Edward Thomson 61cd037e 2015-01-06T17:18:57 CHANGELOG: we've added git_describe
Edward Thomson 974d21c8 2015-01-05T15:10:38 CHANGELOG: add missing 0.22 changes
Carlos Martín Nieto c8b64f70 2015-01-05T20:20:08 Fix the version in CHANGELOG to 0.22 The release after 0.21 is 0.22. Add a new heading for the changes since 0.22.
Carlos Martín Nieto 0c601229 2015-01-05T20:10:43 Merge commit 'refs/pull/2632/head' of github.com:libgit2/libgit2
Edward Thomson a3ef70bb 2014-12-30T11:53:55 Merge pull request #2761 from libgit2/cmn/fetch-prune Remote-tracking branch prunning
Edward Thomson c4c47fc2 2014-12-30T11:53:45 Merge pull request #2762 from libgit2/cmn/hide-push remote: remove git_push from the public API
Carlos Martín Nieto 8aba3d47 2014-12-30T17:06:04 Update CHANGELOG for pruning
Carlos Martín Nieto fe794b2e 2014-12-16T08:57:05 remote: remove git_push from the public API Instead we provide git_remote_upload() and git_remote_update_tips() in order to have a parallel API for fetching and pushing.
Carlos Martín Nieto 208a2c8a 2014-12-27T12:09:11 treebuilder: rename _create() to _new() This function is a constructor, so let's name it like one and leave _create() for the reference functions, which do create/write the reference.
Carlos Martín Nieto aad27e6e 2014-12-27T11:56:00 Add a few missing CHANGELOG entries
Edward Thomson 40d79154 2014-05-09T19:32:52 Always checkout with case sensitive iterator On a case-insensitive filesystem, we need to deal with case-changing renames (eg, foo -> FOO) by removing the old and adding the new, exactly as if we were on a case-sensitive filesystem. Update the `checkout::tree::can_cancel_checkout_from_notify` test, now that notifications are always sent case sensitively.
Jameson Miller 9d1f97df 2014-10-29T17:49:04 Introduce a convenience function for submodule update This introduces the functionality of submodule update in 'git_submodule_do_update'. The existing 'git_submodule_update' function is renamed to 'git_submodule_update_strategy'. The 'git_submodule_update' function now refers to functionality similar to `git submodule update`, while `git_submodule_update_strategy` is used to get the configured value of submodule.<name>.update.
Edward Thomson d147900e 2014-12-20T21:24:45 Merge pull request #2759 from libgit2/cmn/openssl-sys Make OpenSSL locking warnings more severe
Edward Thomson dce7b1a4 2014-12-16T19:24:04 treebuilder: take a repository for path validation Path validation may be influenced by `core.protectHFS` and `core.protectNTFS` configuration settings, thus treebuilders can take a repository to influence their configuration.
Carlos Martín Nieto 5192bcc5 2014-12-12T08:30:37 Add the OpenSSL changes to the CHANGELOG It seems these were forgotten when initially splitting this up.
Carlos Martín Nieto d524b2d3 2014-12-10T17:23:33 push: fold unpack_ok() into finish() The push cannot be successful if we sent a bad packfile. We should return an error in that case instead of storing it elsewhere.
Carlos Martín Nieto 21083a71 2014-12-06T03:12:04 notes: move the notes name argument Make it consistent between git_note_create() and git_note_remote() by putting it after the repository.
Edward Thomson 6d91dc53 2014-12-03T15:28:44 init: return the number of initializations
Carlos Martín Nieto 799e22ea 2014-10-23T17:34:41 Rename git_threads_ to git_libgit2_ This describes their purpose better, as we now initialize ssl and some other global stuff in there. Calling the init function is not something which has been optional for a while now.
Pierre-Olivier Latour e284c451 2014-10-28T22:18:38 Changed GIT_REMOTE_DOWNLOAD_TAGS_ALL to behave like git 1.9.0
Edward Thomson bc8c4a8a 2014-11-08T16:55:23 Merge pull request #2695 from libgit2/cmn/remote-lookup remote: rename _load() to _lookup()
Carlos Martín Nieto 209425ce 2014-11-08T13:25:51 remote: rename _load() to _lookup() This brings it in line with the rest of the lookup functions.
Ungureanu Marius 68182085 2014-11-07T20:32:50 git_status_file now takes an exact path This function has one output but can match multiple files, which can be unexpected for the user, which would usually path the exact path of the file he wants the status of.
Pierre-Olivier Latour d88766c4 2014-10-26T10:40:46 Changed context_lines and interhunk_lines to uint32_t to match struct s_xdemitconf
Carlos Martín Nieto 79b0ae4e 2014-10-27T10:30:57 Flip THREADSAFE's default to ON Threads are here to stay; and for a while now, users have had to call the initialization function which sets up threads and crypto regardless of whether the library was built threadsafe or not.
Edward Thomson 67917281 2014-10-26T22:37:01 rebase: add information to the CHANGELOG
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
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 1b63af51 2014-09-29T09:21:57 Update CHANGELOG and PROJECTS with the tree cache changes
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 a60d0f11 2014-10-10T17:46:53 Merge pull request #2600 from libgit2/cmn/embed-ssh Provide option to embed libssh2
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
Arthur Schreiber eca07bcd 2014-10-09T13:58:23 Add git_merge_bases_many.
Carlos Martín Nieto 3753110a 2014-06-17T15:37:21 Provide option to embed libssh2
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 274c3fa6 2014-07-27T17:22:32 Add changelog for transactions
Carlos Martín Nieto c5837cad 2014-07-04T09:03:33 remote: implement opportunistic remote-tracking branch updates When a list of refspecs is passed to fetch (what git would consider refspec passed on the command-line), we not only need to perform the updates described in that refspec, but also update the remote-tracking branch of the fetched remote heads according to the remote's configured refspecs. These "fetches" are not however to be written to FETCH_HEAD as they would be duplicate data, and it's not what the user asked for.
Carlos Martín Nieto 2cd3cb8e 2014-09-24T10:22:03 Add a note about cert check in the CHANGELOG
Vicent Marti 46a13f32 2014-08-29T18:19:56 Merge pull request #2481 from libgit2/cmn/oidarray merge: expose multiple merge bases
Carlos Martín Nieto 7449c82e 2014-08-27T15:10:43 Add ssh retry changes to CHANGELOG
Edward Thomson c180c065 2014-07-09T17:58:39 Custom transport: minor cleanups * Move the transport registration mechanisms into a new header under 'sys/' because this is advanced stuff. * Remove the 'priority' argument from the registration as it adds unnecessary complexity. (Since transports cannot decline to operate, only the highest priority transport is ever executed.) Users who require per-priority transports can implement that in their custom transport themselves. * Simplify registration further by taking a scheme (eg "http") instead of a prefix (eg "http://").
Carlos Martín Nieto 7db0e6ee 2014-07-18T16:00:21 merge: expose multiple merge bases We always calculate multiple merge bases, but up to now we had only exposed the "best" merge base. Introduce git_oidarray which analogously to git_strarray lets us return multiple ids.
Vicent Marti 44cfb6f3 2014-07-11T16:49:23 Merge pull request #2463 from libgit2/cmn/ssh-factory-for-paths ssh: provide a factory function for setting ssh paths
Carlos Martín Nieto d4256ed5 2014-07-04T10:00:39 ssh: provide a factory function for setting ssh paths git allows you to set which paths to use for the git server programs when connecting over ssh; and we want to provide something similar. We do this by providing a factory function which can be set as the remote's transport callback which will set the given paths upon creation.
Carlos Martín Nieto 9fef46de 2014-07-04T17:33:35 Add a CHANGELOG entry for refspecs with asterisk in the middle
Carlos Martín Nieto 6812afaf 2014-06-30T21:36:38 clone: remote git_clone_into{,_local} from the public API As git_clone now has callbacks to configure the details of the repository and remote, remove the lower-level functions from the public API, as they lack some of the logic from git_clone proper.
Carlos Martín Nieto d58a64e9 2014-06-30T20:55:32 clone: add a callback for repository creation Analogously to the remote creation callback, provide a way for the user of git_clone() to create the repository with whichever options they desire via callback.