summaryrefslogtreecommitdiff
path: root/include/git2
Commit message (Collapse)AuthorAgeFilesLines
* remote: remove git_remote_save()Carlos Martín Nieto2015-05-131-15/+2
| | | | | It has now become a no-op, so remove the function and all references to it.
* remote: remove live changing of refspecsCarlos Martín Nieto2015-05-131-19/+12
| | | | | | | | | | | | The base refspecs changing can be a cause of confusion as to what is the current base refspec set and complicate saving the remote's configuration. Change `git_remote_add_{fetch,push}()` to update the configuration instead of an instance. This finally makes `git_remote_save()` a no-op, it will be removed in a later commit.
* remote: move the tagopt setting to the fetch optionsCarlos Martín Nieto2015-05-131-18/+45
| | | | | This is another option which we should not be keeping in the remote, but is specific to each particular operation.
* remote: move the update_fetchhead setting to the optionsCarlos Martín Nieto2015-05-131-18/+9
| | | | | | While this will rarely be different from the default, having it in the remote adds yet another setting it has to keep around and can affect its behaviour. Move it to the options.
* remote: move the transport ctor to the callbacksCarlos Martín Nieto2015-05-134-20/+15
| | | | | | | Instead of having it set in a different place from every other callback, put it the main structure. This removes some state from the remote and makes it behave more like clone, where the constructors are passed via the options.
* remote: add prune option to fetchCarlos Martín Nieto2015-05-131-0/+20
| | | | | Add a prune setting in the fetch options to allow to fall back to the configuration (the default) or to set it on or off.
* remote: remove url and pushurl from the save logicCarlos Martín Nieto2015-05-131-10/+14
| | | | | | As a first step in removing the repository-saving logic, don't allow chaning the url or push url from a remote object, but change the configuration on the configuration immediately.
* Remove the callbacks struct from the remoteCarlos Martín Nieto2015-05-135-203/+195
| | | | | | | | | | | | | | Having the setting be different from calling its actions was not a great idea and made for the sake of the wrong convenience. Instead of that, accept either fetch options, push options or the callbacks when dealing with the remote. The fetch options are currently only the callbacks, but more options will be moved from setters and getters on the remote to the options. This does mean passing the same struct along the different functions but the typical use-case will only call git_remote_fetch() or git_remote_push() and so won't notice much difference.
* checkout: better document the `baseline_index` optEdward Thomson2015-05-111-1/+9
|
* stash_apply: provide progress callbacksEdward Thomson2015-05-111-0/+38
|
* stash_apply: provide its own options structureEdward Thomson2015-05-111-17/+50
|
* stash apply: default to at least GIT_CHECKOUT_SAFEEdward Thomson2015-05-111-1/+3
|
* stash: document merge conflictsEdward Thomson2015-05-111-13/+11
|
* stash: refactor to use merge_iteratorsEdward Thomson2015-05-111-6/+6
|
* checkout: allow baseline to be specified as indexEdward Thomson2015-05-111-0/+1
| | | | | | Allow the baseline to be specified as an index, so that users need not write their index to a tree just to checkout with that as the baseline.
* Added git_stash_apply() and git_stash_pop() APIsPierre-Olivier Latour2015-05-111-4/+64
|
* checkout: break case-changes into delete/addEdward Thomson2015-05-041-1/+6
| | | | | | | When checking out with a case-insensitive working directory, we want to change the case of items in the working directory to reflect changes that occured in the checkout target. Diff now has an option to break case-changing renames into delete/add.
* Merge pull request #3059 from libgit2/cmn/negotiation-notifyEdward Thomson2015-05-013-0/+37
|\ | | | | [WIP/RFC] push: report the update plan to the caller
| * push: report the update plan to the callercmn/negotiation-notifyCarlos Martín Nieto2015-04-193-0/+37
| | | | | | | | | | | | | | | | | | It can be useful for the caller to know which update commands will be sent to the server before the packfile is pushed up. git does this via the pre-push hook. We don't have hooks, but as it adds introspection into what is happening, we can add a callback which performs the same function.
* | Update documentation for API changesjamill/doc_updateJameson Miller2015-04-301-1/+2
| |
* | rebase: correct documentation, CHANGELOGEdward Thomson2015-04-201-8/+8
| |
* | rebase: include checkout opts within rebase optsEdward Thomson2015-04-201-2/+3
| |
* | rebase: init and open take a rebase_optionsEdward Thomson2015-04-201-24/+30
| | | | | | | | | | | | `git_rebase_init` and `git_rebase_open` should take a `git_rebase_options` and use it for future rebase operations on that `rebase` object.
* | rebase: take `checkout_options` where appropriateEdward Thomson2015-04-201-2/+9
| |
* | reset: `git_checkout_options` is `const`Edward Thomson2015-04-201-2/+2
| |
* | rebase: identify a rebase that has not startedEdward Thomson2015-04-201-0/+6
|/ | | | | | 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.
* Merge pull request #2999 from pks-t/submodule-set-urlEdward Thomson2015-04-171-0/+16
|\ | | | | Implement git_submodule_set_branch.
| * Implement git_submodule_set_branch.Patrick Steinhardt2015-04-121-0/+16
| |
* | Merge pull request #3037 from libgit2/cmn/hide-then-pushEdward Thomson2015-04-161-8/+10
|\ \ | | | | | | Handle hide-then-push in the revwalk
| * | revwalk: reword the push textcmn/hide-then-pushCarlos Martín Nieto2015-04-131-8/+10
| | | | | | | | | | | | | | | | | | As it seems it's not quite clear what it means to push a commit, try to be more explicit about adding a new root and that we may not see this commit if it is hidden.
* | | Merge pull request #2974 from libgit2/cmn/clone-everythingEdward Thomson2015-04-101-0/+12
|\ \ \ | |/ / |/| | Make sure to pack referenced objects for non-branches
| * | packbuilder: introduce git_packbuilder_insert_recur()Carlos Martín Nieto2015-03-171-0/+12
| |/ | | | | | | | | | | This function recursively inserts the given object and any referenced ones. It can be thought of as a more general version of the functions to insert a commit or tree.
* | Entry argument passed to git_index_add_frombuffer() should be constPierre-Olivier Latour2015-04-031-1/+1
| |
* | Merge pull request #2990 from leoyanggit/custom_paramEdward Thomson2015-03-241-4/+12
|\ \ | | | | | | Add a custom param to git_smart_subtransport_definition
| * | Add a custom param to git_smart_subtransport_definitionLeo Yang2015-03-181-4/+12
| | | | | | | | | | | | | | | The smart transport has already take the payload param. For the sub transport a payload param is useful for the implementer.
* | | Merge pull request #2947 from libgit2/cmn/notes-bufEdward Thomson2015-03-241-2/+2
|\ \ \ | | | | | | | | note: use a git_buf to return the default namespace
| * | | note: use a git_buf to return the default namespacecmn/notes-bufCarlos Martín Nieto2015-03-171-2/+2
| | |/ | |/| | | | | | | | | | | | | | | | The caller has otherwise no way to know how long the string will be allocated or ability to free it. This fixes #2944.
* | | Merge pull request #2967 from jacquesg/merge-whitespaceEdward Thomson2015-03-181-3/+20
|\ \ \ | |/ / |/| | Allow merges of files (and trees) with whitespace problems/fixes
| * | Added options to enable patience and minimal diff driversJacques Germishuys2015-03-161-0/+6
| | |
| * | Collapse whitespace flags into git_merge_file_flags_tJacques Germishuys2015-03-161-23/+11
| | |
| * | Renamed git_merge_options 'flags' to 'tree_flags'Jacques Germishuys2015-03-161-2/+2
| | |
| * | Allow for merges with whitespace discrepanciesJacques Germishuys2015-03-161-0/+23
| | |
* | | Merge pull request #2962 from libgit2/cmn/reflog-annotatedEdward Thomson2015-03-174-0/+69
|\ \ \ | | | | | | | | Add annotated versions of ref-modying functions
| * | | annotated_commit: provide a constructor from a revspecCarlos Martín Nieto2015-03-161-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | This extra constructor will be useful for the annotated versions of ref-modifying functions, as it allows us to create a commit with the extended sha syntax which was used to retrieve it.
| * | | Add annotated commit versions of reflog-modifying functionsCarlos Martín Nieto2015-03-163-0/+52
| |/ / | | | | | | | | | | | | | | | | | | We do not always want to put the id directly into the reflog, but we want to speicfy what a user typed. For this use-case we provide annotated version of a few functions which let the caller specify what user-friendly name was used when asking for the operation.
* | | Merge pull request #2972 from libgit2/cmn/pack-objects-walkEdward Thomson2015-03-171-0/+13
|\ \ \ | |/ / |/| | [WIP] Smarter pack-building
| * | pack-objects: fill a packbuilder from a walkCarlos Martín Nieto2015-03-111-0/+13
| |/ | | | | | | | | | | | | | | | | | | | | Most use-cases for the object packer communicate in terms of commits which each side has. We already have an object to specify this relationship between commits, namely git_revwalk. By knowing which commits we want to pack and which the other side already has, we can perform similar optimisations to git, by marking each tree as interesting or uninteresting only once, and not sending those trees which we know the other side has.
* | Merge commit 'refs/pull/2879/head' of ssh://github.com/libgit2/libgit2Carlos Martín Nieto2015-03-111-0/+32
|\ \ | |/ |/|
| * Add API to add a memory buffer to an indexDamien PROFETA2015-02-251-0/+32
| | | | | | | | | | | | 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.
* | config: borrow refcounted referencescmn/config-borrow-entryCarlos Martín Nieto2015-03-032-10/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.