[PATCH 1/5] Move reset_index_file() to a new reset.c
This is needed as we want to use it later in builtin-merge.
Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
---
Makefile | 2 ++
builtin-reset.c | 17 +----------------
reset.c | 28 ++++++++++++++++++++++++++++
reset.h | 6 ++++++
4 files changed, 37 insertions(+), 16 deletions(-)
create mode 100644 reset.c
create mode 100644 reset.h
diff --git a/Makefile b/Makefile
index a2de075..91d938a 100644
--- a/Makefile
+++ b/Makefile
@@ -364,6 +364,7 @@ LIB_H += quote.h
LIB_H += reflog-walk.h
LIB_H += refs.h
LIB_H += remote.h
+LIB_H += reset.h
LIB_H += revision.h
LIB_H += run-command.h
LIB_H += sha1-lookup.h
@@ -443,6 +444,7 @@ LIB_OBJS += read-cache.o
LIB_OBJS += reflog-walk.o
LIB_OBJS += refs.o
LIB_OBJS += remote.o
+LIB_OBJS += reset.o
LIB_OBJS += revision.o
LIB_OBJS += run-command.o
LIB_OBJS += server-info.o
diff --git a/builtin-reset.c b/builtin-reset.c
index 79424bb..6e6e168 100644
--- a/builtin-reset.c
+++ b/builtin-reset.c
@@ -18,6 +18,7 @@
#include "tree.h"
#include "branch.h"
#include "parse-options.h"
+#include "reset.h"
static const char * const git_reset_usage[] = {
"git-reset [--mixed | --soft | --hard] [-q] [<commit>]",
@@ -49,22 +50,6 @@ static inline int is_merge(void)
return !access(git_path("MERGE_HEAD"), F_OK);
}
-static int reset_index_file(const unsigned char *sha1, int is_hard_reset)
-{
- int i = 0;
- const char *args[6];
-
- args[i++] = "read-tree";
- args[i++] = "-v";
- args[i++] = "--reset";
- if (is_hard_reset)
- args[i++] = "-u";
- args[i++] = sha1_to_hex(sha1);
- args[i] = NULL;
-
- return run_command_v_opt(args, RUN_GIT_CMD);
-}
-
static void print_new_head_line(struct commit *commit)
{
const char *hex, *body;
diff --git a/reset.c b/reset.c
new file mode 100644
index 0000000..a75fec6
--- /dev/null
+++ b/reset.c
@@ -0,0 +1,28 @@
+/*
+ * generic fucntion(s) from the "git reset" builtin command
+ *
+ * Copyright (c) 2007 Carlos Rica
+ *
+ * Based on git-reset.sh, which is
+ *
+ * Copyright (c) 2005, 2006 Linus Torvalds and Junio C Hamano
+ */
+
+#include "cache.h"
+#include "run-command.h"
+
+int reset_index_file(const unsigned char *sha1, int is_hard_reset)
+{
+ int i = 0;
+ const char *args[6];
+
+ args[i++] = "read-tree";
+ args[i++] = "-v";
+ args[i++] = "--reset";
+ if (is_hard_reset)
+ args[i++] = "-u";
+ args[i++] = sha1_to_hex(sha1);
+ args[i] = NULL;
+
+ return run_command_v_opt(args, RUN_GIT_CMD);
+}
diff --git a/reset.h b/reset.h
new file mode 100644
index 0000000..4ae235b
--- /dev/null
+++ b/reset.h
@@ -0,0 +1,6 @@
+#ifndef RESET_H
+#define RESET_H
+
+int reset_index_file(const unsigned char *sha1, int is_hard_reset);
+
+#endif
--
1.5.5.1.357.g1af8b.dirty