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

From: David Aguilar <[email-masked]>
Date: Fri, 16 Apr 2010 01:34:21 -0700

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