From 1e7abc593d55bc436ccd98f6815d49b13511baa1 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Mon, 25 Aug 2008 22:39:17 -0700 Subject: [PATCH] Revert "Build-in "git-shell"" This reverts commit daa0cc9a92c9c2c714aa5f7da6d0ff65b93e0698. It was a stupid idea to do this; when run as a log-in shell, it is spawned with argv[0] set to "-git-shell", so the usual name-based dispatch would not work to begin with. --- Makefile | 2 +- builtin.h | 1 - git.c | 1 - builtin-shell.c => shell.c | 5 ++--- 4 files changed, 3 insertions(+), 6 deletions(-) rename builtin-shell.c => shell.c (94%) diff --git a/Makefile b/Makefile index 7c585e866..71339e109 100644 --- a/Makefile +++ b/Makefile @@ -546,7 +546,6 @@ BUILTIN_OBJS += builtin-rev-parse.o BUILTIN_OBJS += builtin-revert.o BUILTIN_OBJS += builtin-rm.o BUILTIN_OBJS += builtin-send-pack.o -BUILTIN_OBJS += builtin-shell.o BUILTIN_OBJS += builtin-shortlog.o BUILTIN_OBJS += builtin-show-branch.o BUILTIN_OBJS += builtin-show-ref.o @@ -822,6 +821,7 @@ EXTLIBS += -lz ifndef NO_POSIX_ONLY_PROGRAMS PROGRAMS += git-daemon$X PROGRAMS += git-imap-send$X + PROGRAMS += git-shell$X endif ifndef NO_OPENSSL OPENSSL_LIBSSL = -lssl diff --git a/builtin.h b/builtin.h index 2b57a5eb6..f3502d305 100644 --- a/builtin.h +++ b/builtin.h @@ -88,7 +88,6 @@ extern int cmd_rev_parse(int argc, const char **argv, const char *prefix); extern int cmd_revert(int argc, const char **argv, const char *prefix); extern int cmd_rm(int argc, const char **argv, const char *prefix); extern int cmd_send_pack(int argc, const char **argv, const char *prefix); -extern int cmd_shell(int argc, const char **argv, const char *prefix); extern int cmd_shortlog(int argc, const char **argv, const char *prefix); extern int cmd_show(int argc, const char **argv, const char *prefix); extern int cmd_show_branch(int argc, const char **argv, const char *prefix); diff --git a/git.c b/git.c index 89e464573..37b1d76a0 100644 --- a/git.c +++ b/git.c @@ -338,7 +338,6 @@ static void handle_internal_command(int argc, const char **argv) { "revert", cmd_revert, RUN_SETUP | NEED_WORK_TREE }, { "rm", cmd_rm, RUN_SETUP }, { "send-pack", cmd_send_pack, RUN_SETUP }, - { "shell", cmd_shell }, { "shortlog", cmd_shortlog, USE_PAGER }, { "show-branch", cmd_show_branch, RUN_SETUP }, { "show", cmd_show, RUN_SETUP | USE_PAGER }, diff --git a/builtin-shell.c b/shell.c similarity index 94% rename from builtin-shell.c rename to shell.c index 3cf97d4f5..0f6a727a8 100644 --- a/builtin-shell.c +++ b/shell.c @@ -2,7 +2,6 @@ #include "quote.h" #include "exec_cmd.h" #include "strbuf.h" -#include "builtin.h" static int do_generic_cmd(const char *me, char *arg) { @@ -45,7 +44,7 @@ static struct commands { { NULL }, }; -int cmd_shell(int argc, const char **argv, const char *prefix) +int main(int argc, char **argv) { char *prog; struct commands *cmd; @@ -63,7 +62,7 @@ int cmd_shell(int argc, const char **argv, const char *prefix) else if (argc != 3 || strcmp(argv[1], "-c")) die("What do you think I am? A shell?"); - prog = xstrdup(argv[2]); + prog = argv[2]; if (!strncmp(prog, "git", 3) && isspace(prog[3])) /* Accept "git foo" as if the caller said "git-foo". */ prog[3] = '-'; -- 2.30.2