Re: [Q] Abbreviated history graph?
On Mon, 3 Nov 2008, Linus Torvalds wrote:
Show 11 quoted lines
>
> Side note: it's certainly possible that we could improve on this. Right
> now, "--simplify-namespace" will totally override any path simplification,
> so you can't get a combination of pathnames _and_ naming commits. I don't
> know exactly what the rules should be, but I could imagine that we could
> do something like:
>
> - if no pathnames are given, work the way the current patch-series works.
>
> - if path-names are given, make rev_compare_tree() truen
> REV_TREE_DIFFERENT if a name decoration _or_ a tree difference exists.
The incremental diff to do this would be something like the appended.
Linus
---
revision.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/revision.c b/revision.c
index b48e626..1b716c7 100644
--- a/revision.c
+++ b/revision.c
@@ -311,7 +311,10 @@ static int rev_compare_tree(struct rev_info *revs, struct commit *parent, struct
if (revs->simplify_namespace) {
struct name_decoration *name;
name = lookup_decoration(&name_decoration, &commit->object);
- return name ? REV_TREE_DIFFERENT : REV_TREE_SAME;
+ if (name)
+ return REV_TREE_DIFFERENT;
+ if (!revs->prune_data)
+ return REV_TREE_SAME;
}
if (!t2)
return REV_TREE_DIFFERENT;