Merge branch 'jk/maint-show-tag'
[gitweb.git] / Documentation / git-clone.txt
index 975824301a45bfa297f2ecd5c19e429cb9c86c65..b14de6c407b8bd0bc001c608ca4f26fc619abf3e 100644 (file)
@@ -9,8 +9,8 @@ git-clone - Clone a repository into a new directory
 SYNOPSIS
 --------
 [verse]
-'git-clone' [--template=<template_directory>]
-         [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare]
+'git clone' [--template=<template_directory>]
+         [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
          [-o <name>] [-u <upload-pack>] [--reference <repository>]
          [--depth <depth>] [--] <repository> [<directory>]
 
@@ -65,10 +65,13 @@ OPTIONS
 +
 *NOTE*: this is a possibly dangerous operation; do *not* use
 it unless you understand what it does. If you clone your
-repository using this option, then delete branches in the
-source repository and then run linkgit:git-gc[1] using the
-'--prune' option in the source repository, it may remove
-objects which are referenced by the cloned repository.
+repository using this option and then delete branches (or use any
+other git command that makes any existing commit unreferenced) in the
+source repository, some objects may become unreferenced (or dangling).
+These objects may be removed by normal git operations (such as 'git-commit')
+which automatically call `git gc --auto`. (See linkgit:git-gc[1].)
+If these objects are removed and were referenced by the cloned repository,
+then the cloned repository will become corrupt.
 
 
 
@@ -79,11 +82,18 @@ objects which are referenced by the cloned repository.
        an already existing repository as an alternate will
        require fewer objects to be copied from the repository
        being cloned, reducing network and local storage costs.
++
+*NOTE*: see NOTE to --shared option.
 
 --quiet::
 -q::
-       Operate quietly.  This flag is passed to "rsync" and
-       "git-fetch-pack" commands when given.
+       Operate quietly.  This flag is also passed to the `rsync'
+       command when given.
+
+--verbose::
+-v::
+       Display the progressbar, even in case the standard output is not
+       a terminal.
 
 --no-checkout::
 -n::
@@ -101,16 +111,18 @@ objects which are referenced by the cloned repository.
        used, neither remote-tracking branches nor the related
        configuration variables are created.
 
+--mirror::
+       Set up a mirror of the remote repository.  This implies --bare.
+
 --origin <name>::
 -o <name>::
        Instead of using the remote name 'origin' to keep track
-       of the upstream repository, use <name> instead.
+       of the upstream repository, use <name>.
 
 --upload-pack <upload-pack>::
 -u <upload-pack>::
-       When given, and the repository to clone from is handled
-       by 'git-fetch-pack', '--exec=<upload-pack>' is passed to
-       the command to specify non-default path for the command
+       When given, and the repository to clone from is accessed
+       via ssh, this specifies a non-default path for the command
        run on the other end.
 
 --template=<template_directory>::
@@ -137,7 +149,7 @@ objects which are referenced by the cloned repository.
        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 not allowed.
+       is only allowed if the directory is empty.
 
 :git-clone: 1
 include::urls.txt[]
@@ -200,4 +212,4 @@ Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
 
 GIT
 ---
-Part of the linkgit:git[7] suite
+Part of the linkgit:git[1] suite