diff mbox

dim: Explain how to resolve conflicts when git rerere fails

Message ID 20170126104237.29020-1-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter Jan. 26, 2017, 10:42 a.m. UTC
Chris ran into this, and I guess worth documenting best practices
since it happens sooooooo rarely.

v2: Clarify stuff a bit.

Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drm-intel.rst | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)
diff mbox

Patch

diff --git a/drm-intel.rst b/drm-intel.rst
index 79db1cf64bcb..b1ed6e02df0e 100644
--- a/drm-intel.rst
+++ b/drm-intel.rst
@@ -276,6 +276,39 @@  when it's tricky or something fails in the below procedure.
 
 And if any step fails or the conflict is tricky just ping maintainers.
 
+If the Conflict Reappears
+-------------------------
+
+In some odd cases git rerere fails to recognize the conflict, and doesn't apply
+the store conflict resolution. This needs to be handled with a manual fixup
+patch, and the best way to go about this:
+
+1. Try to resolve the conflict normally, but then running ::
+
+       $ dim rebuild-tip
+
+   fails. First, store the current state, including the conflict markers and
+   with no other changes applied::
+
+       $ cd $DIM_PREFIX/drm-tip
+       $ git add -u
+       $ git commmit
+
+2. Resolve the conflict normally, but don't stage it or commit it in any
+   fashion. Check that the resolution looks correct and removes all the conflict
+   markers you've just committed::
+
+       $ git diff
+
+   Then store it as a manual fixup patch::
+
+       $ git diff | dim cat-to-fixup
+
+   And finally rebuild the integration tree, which should now go through
+   smoothly, at least for this merge::
+
+       $ dim rebuild-tip
+
 Merge Timeline
 ==============