public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel.vetter@ffwll.ch>
To: IGT development <igt-dev@lists.freedesktop.org>
Cc: Daniel Vetter <daniel.vetter@intel.com>,
	Rob Clark <robdclark@gmail.com>,
	Boris Brezillon <boris.brezillon@bootlin.com>
Subject: [igt-dev] [PATCH] drm-tip: Docs for handling silent conflicts
Date: Wed, 12 Dec 2018 15:08:28 +0100	[thread overview]
Message-ID: <20181212140828.8433-1-daniel.vetter@ffwll.ch> (raw)

Boris needs this.

v2: Improve the text for all cases that need manual fixups.

Cc: Rob Clark <robdclark@gmail.com>
Cc: Boris Brezillon <boris.brezillon@bootlin.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drm-tip.rst | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/drm-tip.rst b/drm-tip.rst
index 002246f573e3..e38f59df1e3f 100644
--- a/drm-tip.rst
+++ b/drm-tip.rst
@@ -132,3 +132,35 @@ best way to go about this is:
    smoothly, at least for this merge::
 
        $ dim rebuild-tip
+
+Fixing Silent Conflicts
+-----------------------
+
+A really annoying case is when a merge has a silent conflict, i.e. git merge
+succeeds, but the resulting source fails to compile or run. Often this happens
+when one branch changes a function or structure, while a 2nd branch adds a new
+user. The important part is to make sure we supply the fixup patch for the right
+merge commit.
+
+1. Identify the merge that breaks the build.
+
+2. Rebuild drm-tip in interactive mode, and stop until the broken merge has been
+   done::
+
+      $ dim -i rebuild-tip
+
+   Stop the rebuilding of drm-tip by hitting ^C.
+
+3. Resolve the conflict normally, but don't stage it or commit it in any
+   fashion. Check that the resolution looks correct::
+
+       $ git diff
+
+   Of course also make sure it actually builds/works. Then store it as a manual fixup patch::
+
+       $ git diff | dim cat-to-fixup
+
+4. Finally rebuild the integration tree, which should now result in a working
+   tree with no broken merges::
+
+       $ dim rebuild-tip
-- 
2.20.0.rc1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

             reply	other threads:[~2018-12-12 14:08 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-12 14:08 Daniel Vetter [this message]
2018-12-12 14:33 ` [igt-dev] [PATCH] drm-tip: Docs for handling silent conflicts Boris Brezillon
2018-12-12 16:11   ` Daniel Vetter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181212140828.8433-1-daniel.vetter@ffwll.ch \
    --to=daniel.vetter@ffwll.ch \
    --cc=boris.brezillon@bootlin.com \
    --cc=daniel.vetter@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=robdclark@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox