diff options
author | Edward Thomson <ethomson@microsoft.com> | 2013-12-02 11:15:27 -0500 |
---|---|---|
committer | Edward Thomson <ethomson@edwardthomson.com> | 2013-12-02 16:57:41 -0600 |
commit | 300d192f7ed45112121f2a35d5ca80a4913c7aad (patch) | |
tree | a3000995c66950ae009cd3e7f24153bf3683fb78 /include/git2/revert.h | |
parent | 14984af6cb9906746d2c64c5df7542ecd7406b16 (diff) | |
download | libgit2-300d192f7ed45112121f2a35d5ca80a4913c7aad.tar.gz |
Introduce git_revert to revert a single commit
Diffstat (limited to 'include/git2/revert.h')
-rw-r--r-- | include/git2/revert.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/include/git2/revert.h b/include/git2/revert.h new file mode 100644 index 000000000..fe84238c5 --- /dev/null +++ b/include/git2/revert.h @@ -0,0 +1,52 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_revert_h__ +#define INCLUDE_git_revert_h__ + +#include "common.h" +#include "types.h" +#include "merge.h" + +/** + * @file git2/revert.h + * @brief Git revert routines + * @defgroup git_revert Git revert routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +typedef struct { + unsigned int version; + + /** For merge commits, the "mainline" is treated as the parent. */ + unsigned int mainline; + + git_merge_tree_opts merge_tree_opts; + git_checkout_opts checkout_opts; +} git_revert_opts; + +#define GIT_REVERT_OPTS_VERSION 1 +#define GIT_REVERT_OPTS_INIT {GIT_REVERT_OPTS_VERSION, 0, GIT_MERGE_TREE_OPTS_INIT, GIT_CHECKOUT_OPTS_INIT} + +/** +* Reverts the given commits, producing changes in the working directory. +* +* @param repo the repository to revert +* @param commits the commits to revert +* @param commits_len the number of commits to revert +* @param flags merge flags +*/ +GIT_EXTERN(int) git_revert( + git_repository *repo, + git_commit *commit, + const git_revert_opts *given_opts); + +/** @} */ +GIT_END_DECL +#endif + |