From 213152688c85a0e4d591abc1c10b7c279ffefb99 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Fri, 10 Apr 2009 15:20:18 -0700 Subject: process_{tree,blob}: Remove useless xstrdup calls MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On Wed, 8 Apr 2009, Björn Steinbrink wrote: > > The name of the processed object was duplicated for passing it to > add_object(), but that already calls path_name, which allocates a new > string anyway. So the memory allocated by the xstrdup calls just went > nowhere, leaking memory. Ack, ack. There's another easy 5% or so for the built-in object walker: once we've created the hash from the name, the name isn't interesting any more, and so something trivial like this can help a bit. Does it matter? Probably not on its own. But a few more memory saving tricks and it might all make a difference. Linus Signed-off-by: Junio C Hamano diff --git a/builtin-pack-objects.c b/builtin-pack-objects.c index 84a13c7..a6adc8c 100644 --- a/builtin-pack-objects.c +++ b/builtin-pack-objects.c @@ -1861,6 +1861,8 @@ static void show_object(struct object_array_entry *p) add_preferred_base_object(p->name); add_object_entry(p->item->sha1, p->item->type, p->name, 0); p->item->flags |= OBJECT_ADDED; + free((char *)p->name); + p->name = NULL; } static void show_edge(struct commit *commit) -- cgit v0.10.2-6-g49f6 From c6d8f7635f619f6576dccf17c1f1264d2cc37a2a Mon Sep 17 00:00:00 2001 From: "Daniel Cheng (aka SDiZ)" Date: Fri, 10 Apr 2009 14:26:49 +0800 Subject: State the effect of filter-branch on graft explicitly Signed-off-by: Daniel Cheng (aka SDiZ) Signed-off-by: Junio C Hamano diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.txt index b0e710d..7747c48 100644 --- a/Documentation/git-filter-branch.txt +++ b/Documentation/git-filter-branch.txt @@ -31,6 +31,9 @@ changes, which would normally have no effect. Nevertheless, this may be useful in the future for compensating for some git bugs or such, therefore such a usage is permitted. +*NOTE*: This command honors `.git/info/grafts`. If you have any grafts +defined, running this command will make them permanent. + *WARNING*! The rewritten history will have different object names for all the objects and will not converge with the original branch. You will not be able to easily push and distribute the rewritten branch on top of the -- cgit v0.10.2-6-g49f6