David Turner <david.tur...@twosigma.com> writes:

> $ git init empty-1
> $ git init empty-2 
> $ cd empty-1
> $ git fetch ../empty-2
> fatal: Couldn't find remote ref HEAD
> fatal: The remote end hung up unexpectedly

The current repository does not know anything about empty-2
repository.  It does not have [remote "name"] section that points at
../empty-2 and it does not have a refspec to fetch.

Hence "git fetch ../empty-2" tries to fetch HEAD from that
repository by default.  It does not exist, and it fails.

> But:
> $ git init empty-1
> $ git init empty-2 
> $ cd empty-1
> $ git remote add other ../empty-2

You told to your current repository to have [remote "other"]
section, that points at ../empty-2 and fetch with 
refs/heads/*:refs/remotes/other/*
as the refspec.

> $ git fetch other

Hence "git fetch other" tries to fetch refs/heads/* into refs/remotes/other/*;
not having any matching source is not a crime---it is a simple noop.

> # this works

So there is nothing surprising about all of the above as far as I
can see.

Reply via email to