All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Robert Schiele <rschiele@gmail.com>
Cc: Johannes Sixt <j.sixt@viscovery.net>, git@vger.kernel.org
Subject: [PATCH 2/2] Build-in "git-shell"
Date: Tue, 19 Aug 2008 18:06:12 -0700	[thread overview]
Message-ID: <7v7iacv6kb.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: 7vbpzoy53d.fsf@gitster.siamese.dyndns.org

This trivially makes "git-shell" a built-in.  It makes the executable even
fatter, though.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Makefile                   |    1 +
 shell.c => builtin-shell.c |    5 +++--
 builtin.h                  |    1 +
 git.c                      |    1 +
 4 files changed, 6 insertions(+), 2 deletions(-)
 rename shell.c => builtin-shell.c (94%)

diff --git a/Makefile b/Makefile
index 71339e1..1a52f71 100644
--- a/Makefile
+++ b/Makefile
@@ -546,6 +546,7 @@ 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
diff --git a/shell.c b/builtin-shell.c
similarity index 94%
rename from shell.c
rename to builtin-shell.c
index 0f6a727..3cf97d4 100644
--- a/shell.c
+++ b/builtin-shell.c
@@ -2,6 +2,7 @@
 #include "quote.h"
 #include "exec_cmd.h"
 #include "strbuf.h"
+#include "builtin.h"
 
 static int do_generic_cmd(const char *me, char *arg)
 {
@@ -44,7 +45,7 @@ static struct commands {
 	{ NULL },
 };
 
-int main(int argc, char **argv)
+int cmd_shell(int argc, const char **argv, const char *prefix)
 {
 	char *prog;
 	struct commands *cmd;
@@ -62,7 +63,7 @@ int main(int argc, char **argv)
 	else if (argc != 3 || strcmp(argv[1], "-c"))
 		die("What do you think I am? A shell?");
 
-	prog = argv[2];
+	prog = xstrdup(argv[2]);
 	if (!strncmp(prog, "git", 3) && isspace(prog[3]))
 		/* Accept "git foo" as if the caller said "git-foo". */
 		prog[3] = '-';
diff --git a/builtin.h b/builtin.h
index f3502d3..2b57a5e 100644
--- a/builtin.h
+++ b/builtin.h
@@ -88,6 +88,7 @@ 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 37b1d76..89e4645 100644
--- a/git.c
+++ b/git.c
@@ -338,6 +338,7 @@ 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 },
-- 
1.6.0.6.gc6670b

  parent reply	other threads:[~2008-08-20  1:07 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-18 12:37 [PATCH] add definitions for global variables to shell.c Robert Schiele
2008-08-19  0:29 ` Junio C Hamano
2008-08-19  7:26   ` Robert Schiele
2008-08-19  7:53     ` Junio C Hamano
2008-08-19  8:16       ` Robert Schiele
2008-08-19  8:49       ` Johannes Sixt
2008-08-19  9:18         ` Robert Schiele
2008-08-19 23:09           ` Junio C Hamano
2008-08-20  1:06             ` [PATCH 1/2] shell: do not play duplicated definition games to shrink the executable Junio C Hamano
2008-08-20  1:06             ` Junio C Hamano [this message]
2008-08-20  6:54               ` [PATCH 2/2] Build-in "git-shell" Johannes Sixt
2008-08-20  1:06             ` [PATCH] add definitions for global variables to shell.c Junio C Hamano
2008-08-20  4:36               ` Robert Schiele

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7v7iacv6kb.fsf@gitster.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=j.sixt@viscovery.net \
    --cc=rschiele@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.