diff options
author | nulltoken <emeric.fermas@gmail.com> | 2012-08-20 16:56:45 +0200 |
---|---|---|
committer | nulltoken <emeric.fermas@gmail.com> | 2012-09-17 10:48:26 +0200 |
commit | 3aa443a9511f5b9848d314337b226c41ef3eef84 (patch) | |
tree | d270260e838a8c69e46588a948522b4ed16f75ac /include/git2/checkout.h | |
parent | e8776d30f7edb570f435cf746d712c696b862bdd (diff) | |
download | libgit2-3aa443a9511f5b9848d314337b226c41ef3eef84.tar.gz |
checkout: introduce git_checkout_tree()
Diffstat (limited to 'include/git2/checkout.h')
-rw-r--r-- | include/git2/checkout.h | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/include/git2/checkout.h b/include/git2/checkout.h index deb828722..21b68e3ab 100644 --- a/include/git2/checkout.h +++ b/include/git2/checkout.h @@ -32,10 +32,16 @@ typedef struct git_checkout_opts { int dir_mode; /* default is 0755 */ int file_mode; /* default is 0644 */ int file_open_flags; /* default is O_CREAT | O_TRUNC | O_WRONLY */ + + /* when not NULL, arrays of fnmatch pattern specifying + * which paths should be taken into account + */ + git_strarray *paths; } git_checkout_opts; /** - * Updates files in the working tree to match the commit pointed to by HEAD. + * Updates files in the index and the working tree to match the content of the + * commit pointed at by HEAD. * * @param repo repository to check out (must be non-bare) * @param opts specifies checkout options (may be NULL) @@ -49,7 +55,9 @@ GIT_EXTERN(int) git_checkout_head( git_indexer_stats *stats); /** - * Updates files in the working tree to match a commit pointed to by a ref. + * Updates files in the index and the working tree to match the content of the + * commit pointed at by the reference. + * * * @param ref reference to follow to a commit * @param opts specifies checkout options (may be NULL) @@ -62,6 +70,23 @@ GIT_EXTERN(int) git_checkout_reference( git_checkout_opts *opts, git_indexer_stats *stats); +/** + * Updates files in the index and working tree to match the content of the + * tree pointed at by the treeish. + * + * @param repo repository to check out (must be non-bare) + * @param treeish a commit, tag or tree which content will be used to update + * the working directory + * @param opts specifies checkout options (may be NULL) + * @param stats structure through which progress information is reported + * @return 0 on success, GIT_ERROR otherwise (use giterr_last for information + * about the error) + */ +GIT_EXTERN(int) git_checkout_tree( + git_repository *repo, + git_object *treeish, + git_checkout_opts *opts, + git_indexer_stats *stats); /** @} */ GIT_END_DECL |