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

Re: [PATCH 9/9] rerere forget path: forget recorded resolution

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:47:58

Possibly related (same subject, not in this thread)

Johannes Sixt [off-list ref] writes:
Junio C Hamano schrieb:
quoted
After you find out an earlier resolution you told rerere to use was a
mismerge, there is no easy way to clear it.  A new subcommand "forget" can
be used to tell git to forget a recorded resolution, so that you can redo
the merge from scratch.
...
diff --git a/rerere.c b/rerere.c
index f013ae7..c1da6f6 100644
--- a/rerere.c
+++ b/rerere.c
...
+static int handle_cache(const char *path, unsigned char *sha1)
+{
+...
+	ll_merge(&result, path, &mmfile[0],
+		 &mmfile[1], "ours",
+		 &mmfile[2], "theirs", 0);
When you simply call ll_merge(), will it obey any merge drivers that
are defined in .gitattributes? Do we care about them?

I already had an implementation of "rerere forget" before you
presented this solution, but it relies on that the user calls
"checkout --conflict=merge" first. One reason (besides its simplicity)
was that it does not have to care how the merge is computed.
Doesn't "checkout --conflict=merge" use the same ll_merge() machinery?
[I haven't submitted my solution, yet, because I haven't had the time
to do this large merge where I expect to make use "rerere forget",
testing its usefulness.]

-- Hannes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help