threads / bug / 12933

[BUG] aliases not working outside of a working copy

Subject: [BUG] aliases not working outside of a working copy

## tl;dr

4 messages between Mar 31, 2008 and Apr 1, 2008.

replies: 3people: 3as markdown or json

Santi Béjar· Mar 31, 2008, 15:19 UTC · lore
Hi *,
  I use the following alias:
[alias]
        wdiff = diff --color-words
and it no longer works outside of a working copy since:
af05d67 (Always set *nongit_ok in setup_git_directory_gently())

The problem is with the alias system that detects if you are in a working copy, not with the command, as the command just works fine.

Santi
Johannes Schindelin· Mar 31, 2008, 15:46 UTC · re: Santi Béjar · lore

Re: [BUG] aliases not working outside of a working copy

Hi,
On Mon, 31 Mar 2008, Santi Béjar wrote:
Show 5 quoted lines
> af05d67 (Always set *nongit_ok in setup_git_directory_gently())
> 
> The problem is with the alias system that detects if you are in a
> working copy, not with the command, as the
> command just works fine.
Ah, right.  I think that this hunk:
diff --git a/git.c b/git.c
index 13de801..b7729d7 100644
--- a/git.c
+++ b/git.c
@@ -142,14 +142,14 @@ static int split_cmdline(char *cmdline, const char ***arg

 static int handle_alias(int *argcp, const char ***argv)
 {
-       int nongit = 0, envchanged = 0, ret = 0, saved_errno = errno;
+       int envchanged = 0, ret = 0, saved_errno = errno;
        const char *subdir;
        int count, option_count;
        const char** new_argv;
        const char *alias_command;
        char *alias_string;

-       subdir = setup_git_directory_gently(&nongit);
+       subdir = setup_git_directory_gently(NULL);

        alias_command = (*argv)[0];
        alias_string = alias_lookup(alias_command);


of the commit you mentioned is utterly wrong.

Ciao,
Dscho
Junio C Hamano· Apr 1, 2008, 04:39 UTC · re: Santi Béjar · lore

Re: [BUG] aliases not working outside of a working copy

"Santi Béjar" <sbejar@gmail.com> writes:
Show 12 quoted lines
>   I use the following alias:
>
> [alias]
>         wdiff = diff --color-words
>
> and it no longer works outside of a working copy since:
>
> af05d67 (Always set *nongit_ok in setup_git_directory_gently())
>
> The problem is with the alias system that detects if you are in a
> working copy, not with the command, as the
> command just works fine.

I was wondering if anybody was using git alias outside git repository, as I thought such a use would be somewhat unorthodox. The easter egg took 6 days to get discovered.

I'll commit this on 'master'.  Thanks for satisfying my curiosity ;-)

-- >8 -- [PATCH] Accept git aliases outside a git repository

af05d67 (Always set *nongit_ok in setup_git_directory_gently(), 2008-03-25) had a change from the patch originally submitted that resulted in disabling aliases outside a git repository.

It turns out that some people used "alias.fubar = diff --color-words" in $HOME/.gitconfig to use non-git command outside git repositories, and this change broke such a usage, so this resurrects the support.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 git.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/git.c b/git.c
index b7729d7..c4e4644 100644
--- a/git.c
+++ b/git.c
@@ -148,8 +148,9 @@ static int handle_alias(int *argcp, const char ***argv)
 	const char** new_argv;
 	const char *alias_command;
 	char *alias_string;
+	int unused_nongit;
 
-	subdir = setup_git_directory_gently(NULL);
+	subdir = setup_git_directory_gently(&unused_nongit);
 
 	alias_command = (*argv)[0];
 	alias_string = alias_lookup(alias_command);
-- 
1.5.5.rc2.155.gb0a67
Santi Béjar· Apr 1, 2008, 08:04 UTC · re: Junio C Hamano · lore

Re: [BUG] aliases not working outside of a working copy

On Tue, Apr 1, 2008 at 6:39 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 6 quoted lines
>
>  I was wondering if anybody was using git alias outside git repository, as
>  I thought such a use would be somewhat unorthodox.  The easter egg took 6
>  days to get discovered.
>
>  I'll commit this on 'master'.  Thanks for satisfying my curiosity ;-)
You're welcome.
Santi

← back to recent threads