Because bash completion is so slow to start, we need to entertain users with a splash screen, so reuse the one from git-gui. Signed-off-by: Sverre Rabbelier <srabbelier@xxxxxxxxx> Signed-off-by: Sam Vilain <sam@xxxxxxxxxx> Signed-off-by: Shawn O. Pearce <spearce@xxxxxxxxxxx> Signed-off-by: Nick Edelen <sirnot@xxxxxxxxx> Signed-off-by: "J.H." <warthog9@xxxxxxxxxx> Signed-off-by: Brandon Casey <drafnel@xxxxxxxxx> Signed-off-by: Jeff King <peff@xxxxxxxx> --- .gitignore | 1 + Makefile | 3 +++ git-splash.sh | 4 ++++ git.c | 6 ++++++ 4 files changed, 14 insertions(+), 0 deletions(-) create mode 100644 git-splash.sh diff --git a/.gitignore b/.gitignore index 51a37b1..1e547e7 100644 --- a/.gitignore +++ b/.gitignore @@ -190,3 +190,4 @@ cscope* *.pdb Debug/ Release/ +git-splash diff --git a/Makefile b/Makefile index fea237b..36e1a61 100644 --- a/Makefile +++ b/Makefile @@ -329,6 +329,7 @@ SCRIPT_SH += git-rebase.sh SCRIPT_SH += git-repack.sh SCRIPT_SH += git-request-pull.sh SCRIPT_SH += git-sh-setup.sh +SCRIPT_SH += git-splash.sh SCRIPT_SH += git-stash.sh SCRIPT_SH += git-submodule.sh SCRIPT_SH += git-web--browse.sh @@ -1352,6 +1353,7 @@ gitexecdir_SQ = $(subst ','\'',$(gitexecdir)) template_dir_SQ = $(subst ','\'',$(template_dir)) htmldir_SQ = $(subst ','\'',$(htmldir)) prefix_SQ = $(subst ','\'',$(prefix)) +sharedir_SQ = $(subst ','\'',$(sharedir)) SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH)) PERL_PATH_SQ = $(subst ','\'',$(PERL_PATH)) @@ -1428,6 +1430,7 @@ $(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh -e 's|@SHELL_PATH@|$(SHELL_PATH_SQ)|' \ -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \ -e 's/@@NO_CURL@@/$(NO_CURL)/g' \ + -e 's|@@SHAREDIR@@|$(sharedir_SQ)|' \ -e $(BROKEN_PATH_FIX) \ $@.sh >$@+ && \ chmod +x $@+ && \ diff --git a/git-splash.sh b/git-splash.sh new file mode 100644 index 0000000..fc2e6f7 --- /dev/null +++ b/git-splash.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +echo 'source @@SHAREDIR@@/git-gui/lib/logo.tcl; pack [git_logo .logo]; after 3000 exit' | +wish diff --git a/git.c b/git.c index 9883009..86dcfee 100644 --- a/git.c +++ b/git.c @@ -459,6 +459,12 @@ int main(int argc, const char **argv) if (!cmd) cmd = "git-help"; + if (!getenv("GIT_NOSPLASH") && !(argv[1] && !strcmp(argv[1], "splash"))) { + const char *a[] = { "splash", NULL }; + const char *e[] = { "GIT_NOSPLASH=1", NULL }; + run_command_v_opt_cd_env(a, RUN_GIT_CMD, NULL, e); + } + /* * "git-xxxx" is the same as "git xxxx", but we obviously: * -- 1.6.5.1.3.g9d77a -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html