Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: Suggestion: make --left-right work with --merge

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:44:17
Subsystem: the rest · Maintainer: Linus Torvalds

Possibly related (same subject, not in this thread)

Paul Mackerras [off-list ref] writes:
It would be nice if git-log --merge --left-right did what git log
--merge does but additionally, if the merge is a 2-way merge, marked
commits with '<' or '>' according to which side of the merge they came
from.  Would that be possible?  I think the visual indication that
--left-right gives in gitk would be useful with --merge.
Like this?

A trivial feature that can be implemented in -4 lines ;-)

 revision.c |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/revision.c b/revision.c
index 4e36b95..38d7d94 100644
--- a/revision.c
+++ b/revision.c
@@ -771,14 +771,9 @@ static void prepare_show_merge(struct rev_info *revs)
 	add_pending_object(revs, &head->object, "HEAD");
 	add_pending_object(revs, &other->object, "MERGE_HEAD");
 	bases = get_merge_bases(head, other, 1);
-	while (bases) {
-		struct commit *it = bases->item;
-		struct commit_list *n = bases->next;
-		free(bases);
-		bases = n;
-		it->object.flags |= UNINTERESTING;
-		add_pending_object(revs, &it->object, "(merge-base)");
-	}
+	add_pending_commit_list(revs, bases, UNINTERESTING);
+	free_commit_list(bases);
+	head->object.flags |= SYMMETRIC_LEFT;
 
 	if (!active_nr)
 		read_cache();
@@ -797,6 +792,7 @@ static void prepare_show_merge(struct rev_info *revs)
 			i++;
 	}
 	revs->prune_data = prune;
+	revs->limited = 1;
 }
 
 int handle_revision_arg(const char *arg, struct rev_info *revs,
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help