Merge branch 'fix'
authorJunio C Hamano <junkio@cox.net>
Wed, 19 Apr 2006 09:25:29 +0000 (02:25 -0700)
committerJunio C Hamano <junkio@cox.net>
Wed, 19 Apr 2006 09:25:29 +0000 (02:25 -0700)
* fix:
  Document git-clone --reference
  Fix filename scaling for binary files

Documentation/git-clone.txt
diff.c

index 9ac54c2..131e445 100644 (file)
@@ -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 d75e017..0a832c3 100644 (file)
--- 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++) {