Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FR: Show which revisions are involved in a conflict #4600

Closed
ChrisPenner opened this issue Oct 7, 2024 · 2 comments
Closed

FR: Show which revisions are involved in a conflict #4600

ChrisPenner opened this issue Oct 7, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@ChrisPenner
Copy link

ChrisPenner commented Oct 7, 2024

Is your feature request related to a problem? Please describe.
I recently rebased a branch and included multiple parents.
Several revisions descended from that merge commit I've got a revision with new conflicts.
When opening the file to resolve conflicts I see Conflict #1 of 3, then Contents of side #1 Changes from base to side #2, but I don't actually know which revisions base side #1 and side #3 correspond to, and can't find anywhere where this information is surfaced.

In fact, I'm not actually sure whether it's always possible to assume these 'sides' correspond to a revision. If they do I'd love to know which revisions they are, or perhaps which revisions were involved in a given conflict.

Describe the solution you'd like
I'm not sure it's possible, but I'd love to see:

<<<<<<< Conflict 1 of 3 between abcd and my-feature-branch
+++++++ Contents of abcd
  eval env denv activeThreads ustk bstk (Push ufsz bfsz uasz basz cix comb k) r nw
%%%%%%% Changes from defgh to my-feature-branch
...
>>>>>>> Conflict 1 of 3 ends

Describe alternatives you've considered
Even if jj st showed which files were conflicted because of which revisions that'd help, but would be slightly less helpful.

Thanks y'all! If I'm missing a better way to get this information please let me know!

@PhilipMetzger PhilipMetzger added the enhancement New feature or request label Oct 7, 2024
@PhilipMetzger
Copy link
Collaborator

As @ilyagr implemented this, he can help here.

@bnjmnt4n
Copy link
Collaborator

bnjmnt4n commented Oct 7, 2024

This is a duplicate of #1176. The current information stored in conflicted commits don't currently allow us to accurately determine which side corresponds to which original commit, due to the variety of ways conflicted commits can be created (see #1176 (comment) for a more detailed explanation).

Edit: In general, when rebasing commit B onto commit A, the left side (side #1) is the contents from commit B, the base is the contents from the common ancestor of commits A and B, and the right side (side #2) is the contents from commit A. If one of these commits are themselves conflicted, those different conflicted files will be included in the new conflicted commit as additional bases/sides of the conflict.

@bnjmnt4n bnjmnt4n closed this as not planned Won't fix, can't repro, duplicate, stale Oct 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants