threads / bug / 28451

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

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

## tl;dr

3 messages between Sep 20, 2011 and Sep 20, 2011.

replies: 2people: 2as markdown or json

Frederic Heitzmann· Sep 20, 2011, 21:50 UTC · lore
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· Sep 20, 2011, 21:59 UTC · re: Frederic Heitzmann · lore

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

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· Sep 20, 2011, 22:25 UTC · re: Junio C Hamano · lore

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

Le 20/09/2011 23:59, Junio C Hamano a écrit :
Show 12 quoted lines
> 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

← back to recent threads