summaryrefslogtreecommitdiff
path: root/include/git2
Commit message (Collapse)AuthorAgeFilesLines
* errors: add GIT_EEOF to indicate early EOFcmn/server-errorsCarlos Martín Nieto2015-05-201-0/+1
| | | | | | 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.
* Merge pull request #3118 from libgit2/cmn/stream-sizeEdward Thomson2015-05-133-4/+4
|\ | | | | odb: make the writestream's size a git_off_t
| * odb: make the writestream's size a git_off_tcmn/stream-sizeCarlos Martín Nieto2015-05-133-4/+4
| | | | | | | | | | | | | | | | | | | | Restricting files to size_t is a silly limitation. The loose backend writes to a file directly, so there is no issue in using 63 bits for the size. We still assume that the header is going to fit in 64 bytes, which does mean quite a bit smaller files due to the run-length encoding, but it's still a much larger size than you would want Git to handle.
* | Merge pull request #3117 from libgit2/cmn/index-more-accurateEdward Thomson2015-05-131-10/+15
|\ \ | | | | | | index: make the entries have more accurate sizes
| * | index: make the entries have more accurate sizescmn/index-more-accurateCarlos Martín Nieto2015-05-121-10/+15
| |/ | | | | | | | | | | | | | | | | | | | | | | While we are confident about the size of an int in architectures we're likely to care about, the index format is defined by the exact size of the fields. Use the definitions which show the exact width of the entry fields. As part of that, bring back 32-bit time and size fields, which currently are 64 bits wide and can bring a false sense of security in how much data they really store. Document that these fields are not to be taken as authoritative.
* | 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.