summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/git-clone.txt21
-rw-r--r--diff.c7
2 files changed, 24 insertions, 4 deletions
diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
index 9ac54c282c..131e445747 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 @@ $ git show-branch
------------
+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::
+
------------
diff --git a/diff.c b/diff.c
index d75e0178ff..0a832c3585 100644
--- a/diff.c
+++ b/diff.c
@@ -250,13 +250,14 @@ static void show_stats(struct diffstat_t* data)
for (i = 0; i < data->nr; i++) {
struct diffstat_file *file = data->files[i];
+ len = strlen(file->name);
+ if (max_len < len)
+ max_len = len;
+
if (file->is_binary || file->is_unmerged)
continue;
if (max_change < file->added + file->deleted)
max_change = file->added + file->deleted;
- len = strlen(file->name);
- if (max_len < len)
- max_len = len;
}
for (i = 0; i < data->nr; i++) {