# [Bug report] git fetch/push fails from sub-directory

3 messages from 2011-09-20 to 2011-09-20. Participants: Frederic Heitzmann, Junio C Hamano.
Thread: https://gitlist.dev/t/28451

## Frederic Heitzmann, 2011-09-20 21:50

Subject: [Bug report] git fetch/push fails from sub-directory
Message-ID: <j5b1qa$pki$1@dough.gmane.org>
URL: https://gitlist.dev/e/j5b1qa%24pki%241%40dough.gmane.org

```
Hi,

I found a bug in git fetch, with local repositories.
git fetch works fine from the root directory, but it fails when called 
from deeper into the file tree of the repository.

git push fails the same way.

The bug is on 1.7.7.rc2 and on master.

mkdir repo1
cd repo1
git init .
mkdir d
touch d/f
git add d/f
git commit -m'initial commit'
cd ..
git clone repo1 repo2
cd repo2
git fetch ../repo1	# OK
cd d
git fetch ../../repo1	# failed

fatal: '../../repo1' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

--
Fred

```

## Junio C Hamano, 2011-09-20 21:59

Subject: Re: [Bug report] git fetch/push fails from sub-directory
Message-ID: <7v62km6fjl.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7v62km6fjl.fsf%40alter.siamese.dyndns.org
In-Reply-To: <j5b1qa$pki$1@dough.gmane.org>

```
Frederic Heitzmann <frederic.heitzmann@gmail.com> writes:

> I found a bug in git fetch, with local repositories.

> cd repo2
> git fetch ../repo1	# OK
> cd d
> git fetch ../../repo1	# failed

It has always been like this.  You can give a full path to the repository
from the root, or perhaps define a nickname to refer to the remote (see
"git remote add") and use it instead.

```

## Frederic Heitzmann, 2011-09-20 22:25

Subject: Re: [Bug report] git fetch/push fails from sub-directory
Message-ID: <4E7912C9.7000908@gmail.com>
URL: https://gitlist.dev/e/4E7912C9.7000908%40gmail.com
In-Reply-To: <7v62km6fjl.fsf@alter.siamese.dyndns.org>

```
Le 20/09/2011 23:59, Junio C Hamano a écrit :
> Frederic Heitzmann<frederic.heitzmann@gmail.com>  writes:
>
>> I found a bug in git fetch, with local repositories.
>
>> cd repo2
>> git fetch ../repo1	# OK
>> cd d
>> git fetch ../../repo1	# failed
>
> It has always been like this.  You can give a full path to the repository
> from the root, or perhaps define a nickname to refer to the remote (see
> "git remote add") and use it instead.

Is it supposed to be normal ?!
I mean : OK I can use git-remote, but this leads to differents results 
for similar usages and similar commands.
Let's compare following cases :

_Case 1:_

|
|_repo1
|   |
|   \_dir
|
\_repo2
     |
     \_dir


cd repo2/dir
git fetch ../../repo1	# FAILURE

_Case 2:_

|
|_repo1
|
\_temp
     |
     \_repo2

cd temp/repo2
git fetch ../../repo1	# SUCCESS

For sure, one can argue that I should better organize my file tree ;-)

--
Fred

```
