summaryrefslogtreecommitdiff
path: root/include/git2/reset.h
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2012-06-13 23:28:51 +0100
committerChris Young <chris@unsatisfactorysoftware.co.uk>2012-06-13 23:28:51 +0100
commita21bb1aa33e9887c06852db62526895df6091736 (patch)
tree6e05069971f04fb91f36d91818f78a62de93c1b1 /include/git2/reset.h
parent96ef3d84629ef72fb662d95abbab3de634921678 (diff)
parent86ea6ceda75274621b7d5c3023c5b04da3ab677e (diff)
downloadlibgit2-a21bb1aa33e9887c06852db62526895df6091736.tar.gz
Merge remote-tracking branch 'source/development' into development
Diffstat (limited to 'include/git2/reset.h')
-rw-r--r--include/git2/reset.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/include/git2/reset.h b/include/git2/reset.h
new file mode 100644
index 000000000..125178748
--- /dev/null
+++ b/include/git2/reset.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2009-2012 the libgit2 contributors
+ *
+ * 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_reset_h__
+#define INCLUDE_git_reset_h__
+
+/**
+ * @file git2/reset.h
+ * @brief Git reset management routines
+ * @ingroup Git
+ * @{
+ */
+GIT_BEGIN_DECL
+
+/**
+ * Sets the current head to the specified commit oid and optionally
+ * resets the index and working tree to match.
+ *
+ * When specifying a Soft kind of reset, the head will be moved to the commit.
+ *
+ * Specifying a Mixed kind of reset will trigger a Soft reset and the index will
+ * be replaced with the content of the commit tree.
+ *
+ * TODO: Implement remaining kinds of resets.
+ *
+ * @param repo Repository where to perform the reset operation.
+ *
+ * @param target Object to which the Head should be moved to. This object
+ * must belong to the given `repo` and can either be a git_commit or a
+ * git_tag. When a git_tag is being passed, it should be dereferencable
+ * to a git_commit which oid will be used as the target of the branch.
+ *
+ * @param reset_type Kind of reset operation to perform.
+ *
+ * @return GIT_SUCCESS or an error code
+ */
+GIT_EXTERN(int) git_reset(git_repository *repo, const git_object *target, git_reset_type reset_type);
+
+/** @} */
+GIT_END_DECL
+#endif