The new --reference flag introduced to git-clone in GIT 1.3.0 was not documented but is rather handy. So document it. Also corrected a minor issue with the documentation for the -s flag; the info/alternates file name was spelled wrong. Signed-off-by: Shawn O. Pearce <spearce@xxxxxxxxxxx> --- Shawn Pearce <spearce@xxxxxxxxxxx> wrote: > git clone --reference=/foo git://remote/foo > > would do the trick. This is new in 1.3.0. I just noticed its also > not documented in 1.3.0. :-) Documentation/git-clone.txt | 21 ++++++++++++++++++++- 1 files changed, 20 insertions(+), 1 deletions(-) base 6625864c8ce9868ba4ab41165d97084f3f04bbed last 66a5bd88d2a8d9d64d86733852fbaba9caa756b0 diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt index 9ac54c2..131e445 100644 --- a/Documentation/git-clone.txt +++ b/Documentation/git-clone.txt @@ -10,6 +10,7 @@ SYNOPSIS -------- [verse] 'git-clone' [-l [-s]] [-q] [-n] [--bare] [-o <name>] [-u <upload-pack>] + [--reference <repository>] <repository> [<directory>] DESCRIPTION @@ -46,10 +47,18 @@ OPTIONS -s:: When the repository to clone is on the local machine, instead of using hard links, automatically setup - .git/objects/info/alternatives to share the objects + .git/objects/info/alternates to share the objects with the source repository. The resulting repository starts out without any object of its own. +--reference <repository>:: + If the reference repository is on the local machine + automatically setup .git/objects/info/alternates to + obtain objects from the reference repository. Using + an already existing repository as an alternate will + require less objects to be copied from the repository + being cloned, reducing network and local storage costs. + --quiet:: -q:: Operate quietly. This flag is passed to "rsync" and @@ -112,6 +121,16 @@ Make a local clone that borrows from the ------------ +Clone from upstream while borrowing from an existing local directory:: ++ +------------ +$ git clone --reference my2.6 \ + git://git.kernel.org/pub/scm/.../linux-2.7 \ + my2.7 +$ cd my2.7 +------------ + + Create a bare repository to publish your changes to the public:: + ------------ -- 1.3.0.rc4.g8060 - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html