# Git not creating new directory when cloning

2 messages from 2018-06-21 to 2018-06-21. Participants: Jack Adrian Zappa, Jeff King.
Thread: https://gitlist.dev/t/48754

## Jack Adrian Zappa, 2018-06-21 16:04

Subject: Git not creating new directory when cloning
Message-ID: <CAKepmagD1VgRx+79rS9Swe8OL8SOwvRn6Yn-u_FCUy-OCUMeFQ@mail.gmail.com>
URL: https://gitlist.dev/e/CAKepmagD1VgRx%2B79rS9Swe8OL8SOwvRn6Yn-u_FCUy-OCUMeFQ%40mail.gmail.com

```
Hi, I was trying to clone a repo into a non-existent directory. but it
gave me a failure:

$  git clone  https://github.com/jelera/vim-javascript-syntax.git
~/.vim/bundle/vim-javascript-syntax
fatal: destination path
'/home/username/.vim/bundle/vim-javascript-syntax' already exists and
is not an empty directory.

(the command was taken from install procedure from
https://github.com/jelera/vim-javascript-syntax)

The directory "/home/username/.vim/bundle" already existed, but
"'/home/username/.vim/bundle/vim-javascript-syntax" did not.  Upon
creating the "vim-javascript-syntax" sub-directory, the clone command
succeeded.  From what I read from the docs
(https://git-scm.com/docs/git-clone):

> git clone [--template=<template_directory>]
> [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
> [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]
> [--dissociate] [--separate-git-dir <git dir>]
> [--depth <depth>] [--[no-]single-branch] [--no-tags]
> [--recurse-submodules[=<pathspec>]] [--[no-]shallow-submodules]
>  [--jobs <n>] [--] <repository> [<directory>]
...
> <directory>
>
> The name of a new directory to clone into. The "humanish" part of the source repository is used if no directory is explicitly given (repo for /path/to/repo.git and foo for host.xz:foo/.git). Cloning into an existing directory is only allowed if the directory is empty.

Which to me, implies that the directory doesn't have to exist prior to
cloning.  So is this a bug or a misunderstanding?

Thanks,


A

```

## Jeff King, 2018-06-21 17:45

Subject: Re: Git not creating new directory when cloning
Message-ID: <20180621174523.GB30249@sigill.intra.peff.net>
URL: https://gitlist.dev/e/20180621174523.GB30249%40sigill.intra.peff.net
In-Reply-To: <CAKepmagD1VgRx+79rS9Swe8OL8SOwvRn6Yn-u_FCUy-OCUMeFQ@mail.gmail.com>

```
On Thu, Jun 21, 2018 at 12:04:11PM -0400, Jack Adrian Zappa wrote:

> Hi, I was trying to clone a repo into a non-existent directory. but it
> gave me a failure:
> 
> $  git clone  https://github.com/jelera/vim-javascript-syntax.git
> ~/.vim/bundle/vim-javascript-syntax
> fatal: destination path
> '/home/username/.vim/bundle/vim-javascript-syntax' already exists and
> is not an empty directory.

That exact command works just fine for me. Are you absolutely sure that
the directory did not exist?

Which version of Git are you using?

> > The name of a new directory to clone into. The "humanish" part of
> > the source repository is used if no directory is explicitly given
> > (repo for /path/to/repo.git and foo for host.xz:foo/.git). Cloning
> > into an existing directory is only allowed if the directory is
> > empty.
> 
> Which to me, implies that the directory doesn't have to exist prior to
> cloning.  So is this a bug or a misunderstanding?

Correct, in general it should _not_ exist.

-Peff

```
