From 8d6e10327dff232cc253a5753c43fb414fed4e00 Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Tue, 18 Apr 2006 23:26:43 +0200 Subject: [PATCH 1/2] Fix filename scaling for binary files Set maximum filename length for binary files so that scaling won't be triggered and result in invalid string access. Signed-off-by: Jonas Fonseca Signed-off-by: Junio C Hamano --- diff.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/diff.c b/diff.c index 3a1e6ce619..903afa1689 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++) { From 23edecbc9a5566ac5aa8fb251fbcf8bb83694837 Mon Sep 17 00:00:00 2001 From: Shawn Pearce Date: Tue, 18 Apr 2006 20:19:48 -0400 Subject: [PATCH 2/2] Document git-clone --reference 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 Signed-off-by: Junio C Hamano --- Documentation/git-clone.txt | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) 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 ] [-u ] + [--reference ] [] 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 :: + 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:: + ------------