include/git2/clone.h


Log

Author Commit Date CI Message
Edward Thomson 0b5ba0d7 2019-06-06T16:36:23 Rename opt init functions to `options_init` In libgit2 nomenclature, when we need to verb a direct object, we name a function `git_directobject_verb`. Thus, if we need to init an options structure named `git_foo_options`, then the name of the function that does that should be `git_foo_options_init`. The previous names of `git_foo_init_options` is close - it _sounds_ as if it's initializing the options of a `foo`, but in fact `git_foo_options` is its own noun that should be respected. Deprecate the old names; they'll now call directly to the new ones.
Edward Thomson 20961b98 2018-12-26T14:06:21 git_error: use full class name in public error API Move to the `git_error` name in error-related functions, deprecating the `giterr` functions. This means, for example, that `giterr_last` is now `git_error_last`. The old names are retained for compatibility. This only updates the public API; internal API and function usage remains unchanged.
Edward Thomson 22d2062d 2019-01-09T18:25:10 Introduce GIT_CALLBACK macro to enforce cdecl Since we now always build the library with cdecl calling conventions, our callbacks should be decorated as such so that users will not be able to provide callbacks defined with other calling conventions. The `GIT_CALLBACK` macro will inject the `__cdecl` attribute as appropriate.
Etienne Samson 04c48afc 2018-04-20T21:07:17 docs: standardize struct git_*_options comments
Etienne Samson ca5a15e5 2018-03-22T23:27:27 docs: standardize comment block for git_*_init_options functions
Carlos Martín Nieto 8f0104ec 2015-04-21T22:10:36 Remove the callbacks struct from the remote 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.
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
Carlos Martín Nieto a295bd2d 2014-12-06T03:36:18 doc: add documentation to all the public structs and enums This makes them show up in the reference, even if the text itself isn't the most descriptive. These have been found with grep -Przon '\n\ntypedef struct.*?\{' -- include grep -Przon '\n\ntypedef enum.*?\{' -- include
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.
Philip Kelley 1697cd6f 2014-06-25T13:20:27 Improvements to git_transport extensibility git_remote_set_transport now takes a transport factory rather than a transport git_clone_options now allows the caller to specify a remote creation callback
Carlos Martín Nieto 76f76162 2014-06-11T21:14:45 remote: update documentation Add docs for git_clone_local_t and move the docs for the git_clone_options to each field.
Carlos Martín Nieto 2614819c 2014-05-28T11:28:57 clone: allow for linking in local clone If requested, git_clone_local_into() will try to link the object files instead of copying them. This only works on non-Windows (since it doesn't have this) when both are on the same filesystem (which are unix semantics).
Carlos Martín Nieto c1dbfcbb 2014-05-28T10:07:23 clone: add flag not to link
Carlos Martín Nieto 121b2673 2013-12-23T11:12:31 clone: add flags to override whether to perform a local clone
Carlos Martín Nieto 4386d80b 2013-12-21T17:18:21 clone: perform a "local clone" when given a local path When git is given such a path, it will perform a "local clone", bypassing the git-aware protocol and simply copying over all objects that exist in the source. Copy this behaviour when given a local path.
Russell Belfer 702efc89 2014-04-30T10:57:42 Make init_options fns use unsigned ints and macro Use an unsigned int for the version and add a helper macro so the code is simplified (and so the error message is a common string).
Ben Straub 6affd71f 2014-01-03T17:38:34 git_checkout_opts -> git_checkout_options
Matthew Bowen b9f81997 2014-03-05T21:49:23 Added function-based initializers for every options struct. The basic structure of each function is courtesy of arrbee.
Ben Straub 1cc974ab 2014-01-27T14:40:31 Augment clone API with reflog parameters
Russell Belfer 8f1066a0 2013-12-10T16:02:24 Update clone doc and tests for callback return val Clone callbacks can return non-zero values to cancel the clone. This adds some tests to verify that this actually works and updates the documentation to be clearer that this can happen and that the return value will be propagated back by the clone function.
Carlos Martín Nieto 0e0cf787 2013-10-02T14:04:44 clone: put the callbacks struct directly in the clone options There's no need for this to be a pointer to somewhere else.
Carlos Martín Nieto 36a241ac 2013-09-20T23:14:52 clone: mention clone_into in the clone documentation Make the difference more explicit.
Carlos Martín Nieto 6ac15eff 2013-09-20T22:34:05 clone: remove more options from basic clone The basic clone function is there to make it easy to create a "normal" clone. Remove a bunch of options that are about changing the remote's configuration.
Carlos Martín Nieto c833893c 2013-09-20T22:57:01 clone: re-allow using a custom remote name This is a small thing that by itself doesn't quite justify making the user use clone_into.
Carlos Martín Nieto eec1c1fe 2013-09-20T22:49:20 clone: const-ify checkout options The removal of many options which lead to the direct usage of the user's checkout options means we should make sure they remain const.
Carlos Martín Nieto b9bf5d70 2013-09-20T22:46:32 clone: re-add a way to ignore certificate errors This used to be done via transport flags, which was removed in a previous commit.
Carlos Martín Nieto d19870d9 2013-09-16T05:10:55 clone: implement git_clone_into This allows you to set up the repository and remote as you which to have them before performing the clone operation.
Carlos Martín Nieto c8dbec48 2013-09-16T18:42:53 clone: remove the autotag option Downloading all tags is part of what makes it a clone instead of simply a fetch.
Carlos Martín Nieto e3c131c5 2013-09-16T05:02:25 remote: move the credentials callback to the struct Move this one as well, letting us have a single way of setting the callbacks for the remote, and removing fields from the clone options.
Carlos Martín Nieto d31402a3 2013-09-16T04:20:05 remote: put the _download() callback with the others The text progress and update_tips callbacks are already part of the struct, which was meant to unify the callback setup, but the download one was left out.
Linquize f2df503b 2013-09-14T18:22:16 git_clone supports optional init_options
Nathan Daly 88392914 2013-05-30T01:12:27 Added support for setting transport flags (No check SSL cert) to git_clone call.
Carlos Martín Nieto 0b0ecbec 2013-03-19T17:42:10 clone: fix param comment
Ben Straub f393d4e8 2013-02-06T13:07:56 Clone: fetch all tags
Sascha Cunz f31cae8b 2013-01-12T05:51:00 Default git_clone_options' checkout strategy to GIT_CHECKOUT_SAFE_CREATE
Sascha Cunz 88aef766 2013-01-11T02:45:55 Implement analog for 'git checkout --branch xxx ...'
Edward Thomson 359fc2d2 2013-01-08T17:07:25 update copyrights
Ben Straub 730df6d0 2013-01-02T13:43:54 Include checkout options inline
Ben Straub b412d563 2012-12-18T19:46:05 Add more clone options. Push test suite segfaults.
Ben Straub b9e7e2b4 2012-12-14T13:46:45 Move non-options back out of options struct
Ben Straub 18b2d560 2012-12-14T13:03:59 Deploy git_clone_options; remove git_clone_bare
Ben Straub 7e610440 2012-12-14T12:21:59 Introduce git_clone_options
Ben Straub 44f36f6e 2012-12-12T19:48:44 Convert clone to use dangling remotes
Vicent Marti cfbe4be3 2012-11-17T19:54:47 More external API cleanup Conflicts: src/branch.c tests-clar/refs/branches/create.c
Ben Straub 7d222e13 2012-10-24T13:29:14 Network progress: rename things git_indexer_stats and friends -> git_transfer_progress* Also made git_transfer_progress members more sanely named.
Ben Straub c70ad945 2012-10-23T09:21:32 Update doc strings, warn about callback perf
Ben Straub 183d8bdd 2012-10-16T20:33:48 Remove checkout_stats from git_clone
Ben Straub aa1e8674 2012-10-18T12:57:47 Clone: in-line callbacks for progress Also implemented in the git2 example.
Ben Straub 92f91b0e 2012-10-16T12:41:20 Clone: fix indentation
nulltoken 4d968f13 2012-10-15T06:12:57 clone: Explicit support of no-checkout option
Ben Straub 8b67f72b 2012-07-31T21:25:48 Add documentation for clone methods.
Ben Straub 5280f4e6 2012-07-31T19:39:06 Add checkout.h to git2.h. Also correcting some documentation strings.
Ben Straub b401bace 2012-07-26T13:12:21 Restructure for better checkout options * Removed the #define for defaults * Promoted progress structure to top-level API call argument
Ben Straub bb1f6087 2012-06-19T09:15:39 Add progress reporting to clone.
Ben Straub 764df57e 2012-06-15T13:14:43 Add git_clone and git_clone_bare. So far they only create a repo, setup the "origin" remote, and fetch. The API probably needs work as well; there's no way to get progress information at this point. Also uncovered a shortcoming; git_remote_download doesn't fetch over local transport.