[Intel-gfx] [PATCH] drm-intel: add notes about handling -nightly rebuilds
Daniel Vetter
daniel.vetter at ffwll.ch
Wed Jan 13 13:45:25 PST 2016
Also try to polish the formatting a bit.
Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
---
drm-intel.rst | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 59 insertions(+), 1 deletion(-)
diff --git a/drm-intel.rst b/drm-intel.rst
index 12bceb4e5324..e5c54d3d64ed 100644
--- a/drm-intel.rst
+++ b/drm-intel.rst
@@ -167,7 +167,7 @@ or, if the fix is relevant for a released kernel,
If your patch fixes a regression then please include a Fixes: line to help
maintainers where to cherry-pick a patch to. This also extremely useful for
product groups to know which bugfixes they must include. To follow the
-recommended format please generate the Fixes: line using
+recommended format please generate the Fixes: line using ::
$ dim fixes $regressing_commit
@@ -208,6 +208,64 @@ Signed-off-by: line in the commit message:
(cherry picked from commit 0bff4858653312a10c83709e0009c3adb87e6f1e)
+Resolving Conflicts when Rebuilding drm-intel-nightly
+=====================================================
+
+When you push patches with dim drm-intel-nightly always gets rebuild and this
+can sometimes fail, for example like this: ::
+
+ Updating rerere cache and nightly.conf... Done.
+ Fetching drm-upstream... Done.
+ Fetching origin... Done.
+ Fetching sound-upstream... Done.
+ Merging origin/drm-intel-fixes... Reset. Done.
+ Merging drm-upstream/drm-fixes... Fast-forward. Done.
+ Merging origin/drm-intel-next-fixes... Done.
+ Merging origin/drm-intel-next-queued... ++<<<<<<< HEAD
+ ++=======
+ ++>>>>>>> origin/drm-intel-next-queued
+ Fail: conflict merging origin/drm-intel-next-queued
+
+Often it's very easy to resolve such conflicts, but maintainers can take over
+when it's tricky or something fails in the below procedure.
+
+1. First check that drm-intel-next-queued was indeed pushed correctly and that
+ your local and remote branches match.
+
+2. Then re-run the -nightly generation just to confirm: ::
+
+ $ dim rebuild-nightly
+
+ It's handy to keep the log output for context so that you know which branch
+ caused the conflicts, and which branches are already included.
+
+3. Switch to $DIM_SRC/drm-intel-nightly and analyze the conflict: ::
+
+ $ git diff # shows three-way diff of conflict
+ $ gitk --merge # lists all commits git believes to be relevant
+
+ If the conflict is simple and created by one of the patches fix things up and
+ compile/test the resulting kernel. In case of doubt just ping authors of
+ other patches or maintainers on IRC.
+
+4. When you're happy with the resolution commit it with ::
+
+ $ git commit -a
+
+ git will then store the conflict resolution internally (see git help rerere
+ for how this is implemented). Then re-run -nigthly generation to confirm the
+ resolution has been captured correctly by git (sometimes git rerere can't
+ match up your resolution with the conflict for odd reasons) and to make sure
+ there's no other conflict in later merges: ::
+
+ $ dim rebuild-nightly
+
+ This will also push the stored conflict resolution to the drm-intel-rerere
+ branch and therefore publishes your resolution. Everything before this step
+ has just local effects.
+
+And if any step fails or the conflict is tricky just ping maintainers.
+
Merge Timeline
==============
--
2.7.0.rc3
More information about the Intel-gfx
mailing list