make "git var" a built-in
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 22 Jan 2010 04:21:55 +0000 (20:21 -0800)
committerJunio C Hamano <gitster@pobox.com>
Fri, 22 Jan 2010 06:04:42 +0000 (22:04 -0800)
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Makefile
builtin-var.c [moved from var.c with 96% similarity]
builtin.h
git.c

index 6e7431e5b368aad0b903cacd157580eda231346c..4558c4627bd2f46c11a33772c37f24602b28870e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -397,7 +397,6 @@ PROGRAMS += git-shell$X
 PROGRAMS += git-show-index$X
 PROGRAMS += git-unpack-file$X
 PROGRAMS += git-upload-pack$X
-PROGRAMS += git-var$X
 PROGRAMS += git-http-backend$X
 
 # List built-in command $C whose implementation cmd_$C() is not in
@@ -704,6 +703,7 @@ BUILTIN_OBJS += builtin-update-index.o
 BUILTIN_OBJS += builtin-update-ref.o
 BUILTIN_OBJS += builtin-update-server-info.o
 BUILTIN_OBJS += builtin-upload-archive.o
+BUILTIN_OBJS += builtin-var.o
 BUILTIN_OBJS += builtin-verify-pack.o
 BUILTIN_OBJS += builtin-verify-tag.o
 BUILTIN_OBJS += builtin-write-tree.o
similarity index 96%
rename from var.c
rename to builtin-var.c
index d9892f85ce954883427ac4f61d9de9d591c0827c..22805181900c3cd33da0b92a2560b19a0cf68842 100644 (file)
--- a/var.c
@@ -72,7 +72,7 @@ static int show_config(const char *var, const char *value, void *cb)
        return git_default_config(var, value, cb);
 }
 
-int main(int argc, char **argv)
+int cmd_var(int argc, const char **argv, const char *prefix)
 {
        const char *val;
        int nongit;
@@ -80,8 +80,6 @@ int main(int argc, char **argv)
                usage(var_usage);
        }
 
-       git_extract_argv0_path(argv[0]);
-
        setup_git_directory_gently(&nongit);
        val = NULL;
 
index f525e92a28f7bba9f2c1836cb06cdbae241c7050..2d95c3b2fe8a20f0cdb9070184689b3f63cca7eb 100644 (file)
--- a/builtin.h
+++ b/builtin.h
@@ -106,6 +106,7 @@ extern int cmd_update_ref(int argc, const char **argv, const char *prefix);
 extern int cmd_update_server_info(int argc, const char **argv, const char *prefix);
 extern int cmd_upload_archive(int argc, const char **argv, const char *prefix);
 extern int cmd_upload_tar(int argc, const char **argv, const char *prefix);
+extern int cmd_var(int argc, const char **argv, const char *prefix);
 extern int cmd_verify_tag(int argc, const char **argv, const char *prefix);
 extern int cmd_version(int argc, const char **argv, const char *prefix);
 extern int cmd_whatchanged(int argc, const char **argv, const char *prefix);
diff --git a/git.c b/git.c
index c13ec727311777575340524cd8654b9f562d355a..cf7dd5d26cf27b38da94ed32dc521357db34369e 100644 (file)
--- a/git.c
+++ b/git.c
@@ -372,6 +372,7 @@ static void handle_internal_command(int argc, const char **argv)
                { "update-ref", cmd_update_ref, RUN_SETUP },
                { "update-server-info", cmd_update_server_info, RUN_SETUP },
                { "upload-archive", cmd_upload_archive },
+               { "var", cmd_var },
                { "verify-tag", cmd_verify_tag, RUN_SETUP },
                { "version", cmd_version },
                { "whatchanged", cmd_whatchanged, RUN_SETUP | USE_PAGER },