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@xxxxxxxxx> --- drm-intel.rst | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) 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 ============== -- 2.11.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx