aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eriksen <s022018@student.dtu.dk>2006-05-23 14:15:33 +0200
committerJunio C Hamano <junkio@cox.net>2006-05-23 13:11:12 -0700
commit6d96ac18e52aca19ff1087ffa64e2d616cc75c6f (patch)
tree0dd27791a6e8081e234c1794b09ed439c9d9db4f
parentd147e501f37a596e73a430ce46f125f83e06aa07 (diff)
downloadgit-6d96ac18e52aca19ff1087ffa64e2d616cc75c6f.tar.gz
git-6d96ac18e52aca19ff1087ffa64e2d616cc75c6f.tar.xz
Builtin git-commit-tree.
Signed-off-by: Peter Eriksen <s022018@student.dtu.dk> Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--Makefile6
-rw-r--r--builtin-commit-tree.c (renamed from commit-tree.c)5
-rw-r--r--builtin.h1
-rw-r--r--git.c3
4 files changed, 9 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index 1aebcf597..a1bee61e5 100644
--- a/Makefile
+++ b/Makefile
@@ -150,7 +150,7 @@ SIMPLE_PROGRAMS = \
# ... and all the rest that could be moved out of bindir to gitexecdir
PROGRAMS = \
git-apply$X git-cat-file$X \
- git-checkout-index$X git-clone-pack$X git-commit-tree$X \
+ git-checkout-index$X git-clone-pack$X \
git-convert-objects$X git-diff-files$X \
git-diff-index$X git-diff-stages$X \
git-diff-tree$X git-fetch-pack$X git-fsck-objects$X \
@@ -172,7 +172,7 @@ BUILT_INS = git-log$X git-whatchanged$X git-show$X \
git-count-objects$X git-diff$X git-push$X \
git-grep$X git-rev-list$X git-check-ref-format$X \
git-init-db$X git-ls-files$X git-ls-tree$X \
- git-tar-tree$X git-read-tree$X
+ git-tar-tree$X git-read-tree$X git-commit-tree$X
# what 'all' will build and 'install' will install, in gitexecdir
ALL_PROGRAMS = $(PROGRAMS) $(SIMPLE_PROGRAMS) $(SCRIPTS)
@@ -222,7 +222,7 @@ BUILTIN_OBJS = \
builtin-log.o builtin-help.o builtin-count.o builtin-diff.o builtin-push.o \
builtin-grep.o builtin-rev-list.o builtin-check-ref-format.o \
builtin-init-db.o builtin-ls-files.o builtin-ls-tree.o \
- builtin-tar-tree.o builtin-read-tree.o
+ builtin-tar-tree.o builtin-read-tree.o builtin-commit-tree.o
GITLIBS = $(LIB_FILE) $(XDIFF_LIB)
LIBS = $(GITLIBS) -lz
diff --git a/commit-tree.c b/builtin-commit-tree.c
index 0320036e8..ec082bf75 100644
--- a/commit-tree.c
+++ b/builtin-commit-tree.c
@@ -6,6 +6,7 @@
#include "cache.h"
#include "commit.h"
#include "tree.h"
+#include "builtin.h"
#define BLOCKING (1ul << 14)
@@ -76,7 +77,7 @@ static int new_parent(int idx)
return 1;
}
-int main(int argc, char **argv)
+int cmd_commit_tree(int argc, const char **argv, char **envp)
{
int i;
int parents = 0;
@@ -98,7 +99,7 @@ int main(int argc, char **argv)
check_valid(tree_sha1, tree_type);
for (i = 2; i < argc; i += 2) {
- char *a, *b;
+ const char *a, *b;
a = argv[i]; b = argv[i+1];
if (!b || strcmp(a, "-p"))
usage(commit_tree_usage);
diff --git a/builtin.h b/builtin.h
index 88b3523c2..c6b07d9a6 100644
--- a/builtin.h
+++ b/builtin.h
@@ -31,5 +31,6 @@ extern int cmd_ls_files(int argc, const char **argv, char **envp);
extern int cmd_ls_tree(int argc, const char **argv, char **envp);
extern int cmd_tar_tree(int argc, const char **argv, char **envp);
extern int cmd_read_tree(int argc, const char **argv, char **envp);
+extern int cmd_commit_tree(int argc, const char **argv, char **envp);
#endif
diff --git a/git.c b/git.c
index 300e2b269..4c2c062e3 100644
--- a/git.c
+++ b/git.c
@@ -56,7 +56,8 @@ static void handle_internal_command(int argc, const char **argv, char **envp)
{ "ls-files", cmd_ls_files },
{ "ls-tree", cmd_ls_tree },
{ "tar-tree", cmd_tar_tree },
- { "read-tree", cmd_read_tree }
+ { "read-tree", cmd_read_tree },
+ { "commit-tree", cmd_commit_tree }
};
int i;