# Feature or a bug: git aliases are executed in git-root directory

3 messages from 2010-04-14 to 2010-04-16. Participants: Jens Otten, Sverre Rabbelier, David Aguilar.
Thread: https://gitlist.dev/t/23455

## Jens Otten, 2010-04-14 11:18

Subject: Feature or a bug: git aliases are executed in git-root directory
Message-ID: <4BC5A483.6060206@plusserver.de>
URL: https://gitlist.dev/e/4BC5A483.6060206%40plusserver.de

```
Hi,

i started to use git (version is 1.6.3.3 (ubuntu)) and it is really great!

but i have one problem when using aliases. maybe i made a mistake, but 
here is my problem.

i set up my ~/.gitconfig as follows:
----------
...
[alias]
    meld = !GIT_EXTERNAL_DIFF='git-diff-to-meld-redirect' git diff
...
----------

now when i work in a subdirectory of my git-root dir and want to make a 
diff, this works perfectly:
$ cd ~/git-root/subdir
$ git diff some_file

but when doing the same using the alias i get an error:
$ cd ~/git-root/subdir
$ git meld some_file
fatal: ambiguous argument 'some_file': unknown revision or path not in 
the working tree.
Use '--' to separate paths from revisions

whereas using the relative path starting from the git-root directory works
$ cd ~/git-root/subdir
$ git meld subdir/some_file

is there a way to solve this problem?

thanks for your help
jens

```

## Sverre Rabbelier, 2010-04-14 13:10

Subject: Re: Feature or a bug: git aliases are executed in git-root directory
Message-ID: <g2hfabb9a1e1004140610mdd7b093arb15758ba40fd7956@mail.gmail.com>
URL: https://gitlist.dev/e/g2hfabb9a1e1004140610mdd7b093arb15758ba40fd7956%40mail.gmail.com
In-Reply-To: <4BC5A483.6060206@plusserver.de>

```
Heya,

On Wed, Apr 14, 2010 at 13:18, Jens Otten <j.otten@plusserver.de> wrote:
> is there a way to solve this problem?

Yes, put this script in your path (and make it executable):

cat > git-meld << EOF
#!/bin/sh

GIT_EXTERNAL_DIFF='git-diff-to-meld-redirect' git diff "$@"
EOF

-- 
Cheers,

Sverre Rabbelier

```

## David Aguilar, 2010-04-16 08:34

Subject: Re: Feature or a bug: git aliases are executed in git-root directory
Message-ID: <20100416083419.GA30372@gmail.com>
URL: https://gitlist.dev/e/20100416083419.GA30372%40gmail.com
In-Reply-To: <4BC5A483.6060206@plusserver.de>

```
On Wed, Apr 14, 2010 at 01:18:27PM +0200, Jens Otten wrote:
> Hi,
>
> i started to use git (version is 1.6.3.3 (ubuntu)) and it is really great!
>
> but i have one problem when using aliases. maybe i made a mistake, but  
> here is my problem.
>
> i set up my ~/.gitconfig as follows:
> ----------
> ...
> [alias]
>    meld = !GIT_EXTERNAL_DIFF='git-diff-to-meld-redirect' git diff
> ...
> ----------
>
> now when i work in a subdirectory of my git-root dir and want to make a  
> diff, this works perfectly:
> $ cd ~/git-root/subdir
> $ git diff some_file
>
> but when doing the same using the alias i get an error:
> $ cd ~/git-root/subdir
> $ git meld some_file
> fatal: ambiguous argument 'some_file': unknown revision or path not in  
> the working tree.
> Use '--' to separate paths from revisions
>
> whereas using the relative path starting from the git-root directory works
> $ cd ~/git-root/subdir
> $ git meld subdir/some_file
>
> is there a way to solve this problem?

Yes.  Use git-difftool =)

http://www.kernel.org/pub/software/scm/git/docs/git-difftool.html

git difftool -t meld -- <path>



> thanks for your help
> jens

HTH,

-- 
		David

```
