summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/git2/reset.h25
-rw-r--r--include/git2/types.h7
-rw-r--r--src/reset.c2
3 files changed, 19 insertions, 15 deletions
diff --git a/include/git2/reset.h b/include/git2/reset.h
index cdcfb7671..b5fc4a6cb 100644
--- a/include/git2/reset.h
+++ b/include/git2/reset.h
@@ -16,16 +16,26 @@
GIT_BEGIN_DECL
/**
+ * Kinds of reset operation
+ */
+typedef enum {
+ GIT_RESET_SOFT = 1, /** Move the head to the given commit */
+ GIT_RESET_MIXED = 2, /** SOFT plus reset index to the commit */
+ GIT_RESET_HARD = 3, /** MIXED plus changes in working tree discarded */
+} git_reset_t;
+
+/**
* 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.
+ * SOFT reset means 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.
+ * MIXED reset will trigger a SOFT reset, plus the index will be replaced
+ * with the content of the commit tree.
*
- * Specifying a Hard kind of reset will trigger a Mixed reset and the working
- * directory will be replaced with the content of the index.
+ * HARD reset will trigger a MIXED reset and the working directory will be
+ * replaced with the content of the index. (Untracked and ignored files
+ * will be left alone, however.)
*
* TODO: Implement remaining kinds of resets.
*
@@ -38,9 +48,10 @@ GIT_BEGIN_DECL
*
* @param reset_type Kind of reset operation to perform.
*
- * @return GIT_SUCCESS or an error code
+ * @return 0 on success or an error code < 0
*/
-GIT_EXTERN(int) git_reset(git_repository *repo, git_object *target, git_reset_type reset_type);
+GIT_EXTERN(int) git_reset(
+ git_repository *repo, git_object *target, git_reset_t reset_type);
/** @} */
GIT_END_DECL
diff --git a/include/git2/types.h b/include/git2/types.h
index 58cbaecc5..256296444 100644
--- a/include/git2/types.h
+++ b/include/git2/types.h
@@ -175,13 +175,6 @@ typedef enum {
GIT_BRANCH_REMOTE = 2,
} git_branch_t;
-/** Kinds of reset operation. */
-typedef enum {
- GIT_RESET_SOFT = 1,
- GIT_RESET_MIXED = 2,
- GIT_RESET_HARD = 3,
-} git_reset_type;
-
/** Valid modes for index and tree entries. */
typedef enum {
GIT_FILEMODE_NEW = 0000000,
diff --git a/src/reset.c b/src/reset.c
index 928a2bc8c..d410a8806 100644
--- a/src/reset.c
+++ b/src/reset.c
@@ -63,7 +63,7 @@ cleanup:
int git_reset(
git_repository *repo,
git_object *target,
- git_reset_type reset_type)
+ git_reset_t reset_type)
{
git_object *commit = NULL;
git_index *index = NULL;