git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH/RFC 0/3] git rerere unresolve file

From
Johannes Sixt <j6t@kdbg.org>
Date
Nov 22, 2009, 14:19 UTC
Message-ID
<200911221519.55658.j6t@kdbg.org>
In-Reply-To
<7v6393mfqz.fsf@alter.siamese.dyndns.org>
On Sonntag, 22. November 2009, Junio C Hamano wrote:
Show 6 quoted lines
> Johannes Sixt <j6t@kdbg.org> writes:
> > ... But
> > there is no other way to remove an incorrect resolution short of purging
> > the whole rr-cache.
>
> No, no no, no.  You do not have to.

Oh, yeah, I know. But even for people who know how to drive plumbing commands, this:

> "ls -t1 .git/rr-cache/*/thisimage | head"
> would be one way to manually find out which one it is.

does not count as "you can" in my book. ;) It assumes that there are at most a handful conflicted files. In my case, for example, I have to fix a merge where there are ~100 conflicted files.

Show 22 quoted lines
>  * Then the user tells rerere that "this is the corrected resolution",
>    perhaps
>
>    $ git rerere update Documentation/git-commit.txt
>
>    This will
>
>    - Internally recompute the original conflicted state, i.e. run
>      "checkout --conflict=merge Documentation/git-commit.txt" in-core;
>
>    - feed it to rerere.c::handle_file() to learn the conflict hash;
>
>    - read the user's updated resolution from the work tree, and update
>      "postimage" with it.
>
> ...
>
> The "forget" subcommand may be useful, but the real implementation should
> be the first half of the "update", iow, recreate conflict in-core in order
> to compute the conflict hash, and drop existing "postimage", without
> replacing it from the work tree.  We should leave it up to the user using
> "checkout --conflict" to reproduce the conflict in the work tree.

Thank you for your elaborate feedback and the guidelines about how to move forward.

I actually think that 'forget' should be the primary subcommand. Because after the postimage was purged, the next implicit or explicit 'git rerere' will record the resolution anyway. I'll see what I can do.

-- Hannes
Previous: Junio C HamanoNext: Nanako Shiraishi
Message 6 of 7 in “git rerere unresolve file”
  1. 0/3 git rerere unresolve fileJohannes Sixt, Nov 21, 2009
  2. 1/3 rerere: keep a list of resolved files in MERGE_RRJohannes Sixt, Nov 21, 2009
  3. 2/3 rerere: make recording of the preimage reusableJohannes Sixt, Nov 21, 2009
  4. 3/3 git rerere unresolve file...Johannes Sixt, Nov 21, 2009
  5. Junio C HamanoNov 22, 2009
  6. Johannes SixtNov 22, 2009
  7. Nanako ShiraishiNov 24, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.