git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] Document git-clone --reference

From
Shawn Pearce <spearce@spearce.org>
Date
Apr 19, 2006, 00:19 UTC
Message-ID
<20060419001948.GC8915@spearce.org>
In-Reply-To
<20060418235658.GB8915@spearce.org>

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@spearce.org>
---
  Shawn Pearce <spearce@spearce.org> 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
Previous: David WoodhouseNext: David Woodhouse
Message 4 of 7 in “Clone with local alternates?”
  1. David WoodhouseApr 18, 2006
  2. Shawn PearceApr 18, 2006
  3. David WoodhouseApr 18, 2006
  4. Document git-clone --referenceShawn Pearce, Apr 19, 2006
  5. David WoodhouseApr 19, 2006
  6. Eric W. BiedermanApr 19, 2006
  7. Eric W. BiedermanApr 19, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.