]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Make git-describe a builtin.
authorShawn O. Pearce <spearce@spearce.org>
Wed, 10 Jan 2007 11:36:36 +0000 (06:36 -0500)
committerJunio C Hamano <junkio@cox.net>
Wed, 10 Jan 2007 16:27:01 +0000 (08:27 -0800)
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Makefile
builtin-describe.c [moved from describe.c with 97% similarity]
builtin.h
git.c

index 43113e9e16937899332bcd24a88a2ae78ce65c97..e4f520ac9d96a211e86fd9c65c922a7543db9034 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -204,7 +204,7 @@ PROGRAMS = \
        git-update-server-info$X \
        git-upload-pack$X git-verify-pack$X \
        git-pack-redundant$X git-var$X \
-       git-describe$X git-merge-tree$X git-imap-send$X \
+       git-merge-tree$X git-imap-send$X \
        git-merge-recursive$X \
        $(EXTRA_PROGRAMS)
 
@@ -275,6 +275,7 @@ BUILTIN_OBJS = \
        builtin-check-ref-format.o \
        builtin-commit-tree.o \
        builtin-count-objects.o \
+       builtin-describe.o \
        builtin-diff.o \
        builtin-diff-files.o \
        builtin-diff-index.o \
similarity index 97%
rename from describe.c
rename to builtin-describe.c
index 3c2df037eb1d5db303d64fa9743df61425790a9a..ad3b469f372c6c62b3b6ba2c36c2a80874743e6d 100644 (file)
@@ -2,6 +2,7 @@
 #include "commit.h"
 #include "tag.h"
 #include "refs.h"
+#include "builtin.h"
 
 #define SEEN (1u << 0)
 
@@ -139,7 +140,7 @@ static void describe(const char *arg, int last_one)
        die("cannot describe '%s'", sha1_to_hex(cmit->object.sha1));
 }
 
-int main(int argc, char **argv)
+int cmd_describe(int argc, const char **argv, const char *prefix)
 {
        int i;
 
@@ -161,7 +162,6 @@ int main(int argc, char **argv)
                        usage(describe_usage);
        }
 
-       setup_git_directory();
        save_commit_buffer = 0;
 
        if (argc <= i)
index df72d09447d0edd17d07eb97a9b3b36fa4b57531..0b3c9f62efed895bcfebe31f1164ac991ee01d41 100644 (file)
--- a/builtin.h
+++ b/builtin.h
@@ -25,6 +25,7 @@ extern int cmd_check_ref_format(int argc, const char **argv, const char *prefix)
 extern int cmd_cherry(int argc, const char **argv, const char *prefix);
 extern int cmd_commit_tree(int argc, const char **argv, const char *prefix);
 extern int cmd_count_objects(int argc, const char **argv, const char *prefix);
+extern int cmd_describe(int argc, const char **argv, const char *prefix);
 extern int cmd_diff_files(int argc, const char **argv, const char *prefix);
 extern int cmd_diff_index(int argc, const char **argv, const char *prefix);
 extern int cmd_diff(int argc, const char **argv, const char *prefix);
diff --git a/git.c b/git.c
index bf55499dc3d555dfaa853b0c6e4aec5439c3532e..9ce545d67693c8713b4254d5fa0e186723e348c2 100644 (file)
--- a/git.c
+++ b/git.c
@@ -220,6 +220,7 @@ static void handle_internal_command(int argc, const char **argv, char **envp)
                { "cherry", cmd_cherry, RUN_SETUP },
                { "commit-tree", cmd_commit_tree, RUN_SETUP },
                { "count-objects", cmd_count_objects, RUN_SETUP },
+               { "describe", cmd_describe, RUN_SETUP },
                { "diff", cmd_diff, RUN_SETUP | USE_PAGER },
                { "diff-files", cmd_diff_files, RUN_SETUP },
                { "diff-index", cmd_diff_index, RUN_SETUP },