threads / discuss / 28175

Failure cloning from a separate-git-dir repository

Subject: Failure cloning from a separate-git-dir repository

## tl;dr

6 messages between Aug 20, 2011 and Aug 21, 2011.

replies: 5people: 3as markdown or json

Richard Tibbitt· Aug 20, 2011, 17:47 UTC · lore
Hi
I've been struggling to find an answer to this for days.

Can anyone confirm whether I've got the syntax right for 'Git clone' when attempting to clone FROM a repository that was initialized using --separate-git-dir ?

If so, does this work on Linux systems ?

With Git on windows (git version 1.7.6.msysgit.0 installed from GitExtensions224SetupComplete.msi) I get an error as below, that looks as though 'Git clone' is expecting the repo to have a 'normal' integral .git dir

  F:\>mkdir repo2
  F:\>mkdir repo2git
  F:\>cd repo2
  F:\repo2>call git init --separate-git-dir="..\repo2git\.git"
  Initialized empty Git repository in F:/repo2git/.git/
  F:\repo2>echo abc >file1.txt
  F:\repo2>call git add . -A
  F:\repo2>call git commit -m "first"
  [master (root-commit) c7e4766] first
   1 files changed, 1 insertions(+), 0 deletions(-)
   create mode 100644 file1.txt
  F:\repo2>cd ..
  F:\>call git clone repo2 clone2
  Cloning into clone2...
  fatal: failed to open 'F:/repo2/objects': No such file or directory
Many thanks in advance for any insight into this.
Richard
Nguyen Thai Ngoc Duy· Aug 20, 2011, 18:25 UTC · re: Richard Tibbitt · lore

Re: Failure cloning from a separate-git-dir repository

On Sun, Aug 21, 2011 at 12:47 AM, Richard Tibbitt <gitlist@lazyprune.com> wrote:
>  F:\>call git clone repo2 clone2
>  Cloning into clone2...
>  fatal: failed to open 'F:/repo2/objects': No such file or directory
This should be "git clone repo2/.git clone2", but with that command I got

Cloning into clone2.. error: '/tmp/repo2/.git' does not look like a v2 bundle file fatal: Could not read bundle '/tmp/repo2/.git'.

You just do "git clone repo2git/.git clone2" for now.
-- 
Duy
Richard Tibbitt· Aug 20, 2011, 18:56 UTC · re: Nguyen Thai Ngoc Duy · lore

Re: Failure cloning from a separate-git-dir repository

On Sun, 21 Aug 2011 01:25:36 +0700, Nguyen Thai Ngoc Duy wrote:
Show 7 quoted lines
>This should be "git clone repo2/.git clone2", but with that command I got
>
>Cloning into clone2..
>error: '/tmp/repo2/.git' does not look like a v2 bundle file
>fatal: Could not read bundle '/tmp/repo2/.git'.
>
>You just do "git clone repo2git/.git clone2" for now.
Hi - thanks for trying that
Unfortunately I'm getting :-

call git clone repo2git\.git clone2 fatal: repository 'repo2git\.git' does not exist

& similarly

call git clone repo2\.git clone2 fatal: repository 'repo2\.git' does not exist

I guess this must be a peculiarity of msysgit on windows.
Nguyen Thai Ngoc Duy· Aug 21, 2011, 03:27 UTC · re: Richard Tibbitt · lore

Re: Failure cloning from a separate-git-dir repository

On Sun, Aug 21, 2011 at 1:56 AM, Richard Tibbitt <gitlist@lazyprune.com> wrote:
> call git clone repo2git\.git clone2
> fatal: repository 'repo2git\.git' does not exist
>
> I guess this must be a peculiarity of msysgit on windows.

Yes. Try "call git clone repo2git/.git clone2" (forward slash). The forward slash is hard coded some places in git-clone. I just want to make sure you dont hit another problem.

-- 
Duy
Richard Tibbitt· Aug 21, 2011, 11:13 UTC · re: Nguyen Thai Ngoc Duy · lore

Re: Failure cloning from a separate-git-dir repository

On Sun, 21 Aug 2011 10:27:44 +0700, Nguyen Thai Ngoc Duy wrote:
>Yes. Try "call git clone repo2git/.git clone2" (forward slash). The
>forward slash is hard coded some places in git-clone. I just want to
>make sure you dont hit another problem.
Thanks for that - same result sadly.
I'll see what the guys on the msysgit list say about it.
Richard
Junio C Hamano· Aug 21, 2011, 18:51 UTC · re: Nguyen Thai Ngoc Duy · lore

Re: Failure cloning from a separate-git-dir repository

Nguyen Thai Ngoc Duy <pclouds@gmail.com> writes:
Show 9 quoted lines
> On Sun, Aug 21, 2011 at 1:56 AM, Richard Tibbitt <gitlist@lazyprune.com> wrote:
>> call git clone repo2git\.git clone2
>> fatal: repository 'repo2git\.git' does not exist
>>
>> I guess this must be a peculiarity of msysgit on windows.
>
> Yes. Try "call git clone repo2git/.git clone2" (forward slash). The
> forward slash is hard coded some places in git-clone. I just want to
> make sure you dont hit another problem.

As "fetch from bundle" (2e0afaf (Add git-bundle: move objects and references by archive, 2007-02-22)) predates the "gitdir:" support (b44ebb1 (Add platform-independent .git "symlink", 2008-02-20)) by a wide margin, I wouldn't be surprised at all if the logic went "If the name can be stat()ed and is a regular file, it must be a bundle. Otherwise it is a local clone if it is a directory. All else ask the transport and see what it says".

Why can't it be "git clone repo2git clone2" in the first place?

← back to recent threads