1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-20 06:26:30 +02:00

git.c: allow alias expansion without a git directory

With this, the configuration mechanism can be used to say:

	[alias]
		init = init-db --template=/path/to/template

Signed-off-by: Matthias Lederhofer <matled@gmx.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Matthias Lederhofer 2006-07-30 03:30:29 +02:00 committed by Junio C Hamano
parent 41e95f6990
commit 0347a8c764

10
git.c
View File

@ -156,16 +156,14 @@ static int handle_alias(int *argcp, const char ***argv)
{
int nongit = 0, ret = 0, saved_errno = errno;
const char *subdir;
subdir = setup_git_directory_gently(&nongit);
if (!nongit) {
int count, option_count;
const char** new_argv;
subdir = setup_git_directory_gently(&nongit);
alias_command = (*argv)[0];
git_config(git_alias_config);
if (alias_string) {
count = split_cmdline(alias_string, &new_argv);
option_count = handle_options(&new_argv, &count);
memmove(new_argv - option_count, new_argv,
@ -193,8 +191,7 @@ static int handle_alias(int *argcp, const char ***argv)
new_argv = realloc(new_argv, sizeof(char*) *
(count + *argcp + 1));
/* insert after command name */
memcpy(new_argv + count, *argv + 1,
sizeof(char*) * *argcp);
memcpy(new_argv + count, *argv + 1, sizeof(char*) * *argcp);
new_argv[count+*argcp] = NULL;
*argv = new_argv;
@ -202,7 +199,6 @@ static int handle_alias(int *argcp, const char ***argv)
ret = 1;
}
}
if (subdir)
chdir(subdir);