public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH] drm-tip: Docs for handling silent conflicts
@ 2018-12-12 14:08 Daniel Vetter
  2018-12-12 14:33 ` Boris Brezillon
  0 siblings, 1 reply; 3+ messages in thread
From: Daniel Vetter @ 2018-12-12 14:08 UTC (permalink / raw)
  To: IGT development; +Cc: Daniel Vetter, Rob Clark, Boris Brezillon

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

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [igt-dev] [PATCH] drm-tip: Docs for handling silent conflicts
  2018-12-12 14:08 [igt-dev] [PATCH] drm-tip: Docs for handling silent conflicts Daniel Vetter
@ 2018-12-12 14:33 ` Boris Brezillon
  2018-12-12 16:11   ` Daniel Vetter
  0 siblings, 1 reply; 3+ messages in thread
From: Boris Brezillon @ 2018-12-12 14:33 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: IGT development, Daniel Vetter, Rob Clark

On Wed, 12 Dec 2018 15:08:28 +0100
Daniel Vetter <daniel.vetter@ffwll.ch> wrote:

> 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>

Reviewed-by: Boris Brezillon <boris.brezillon@bootlin.com>
Tested-by: Boris Brezillon <boris.brezillon@bootlin.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

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [igt-dev] [PATCH] drm-tip: Docs for handling silent conflicts
  2018-12-12 14:33 ` Boris Brezillon
@ 2018-12-12 16:11   ` Daniel Vetter
  0 siblings, 0 replies; 3+ messages in thread
From: Daniel Vetter @ 2018-12-12 16:11 UTC (permalink / raw)
  To: Boris Brezillon,
	DRM maintainer tools announcements, discussion, and development
  Cc: IGT development, Daniel Vetter, Clark, Rob

Add the right m-l ...
-Daniel
On Wed, Dec 12, 2018 at 3:33 PM Boris Brezillon
<boris.brezillon@bootlin.com> wrote:
>
> On Wed, 12 Dec 2018 15:08:28 +0100
> Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
>
> > 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>
>
> Reviewed-by: Boris Brezillon <boris.brezillon@bootlin.com>
> Tested-by: Boris Brezillon <boris.brezillon@bootlin.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
>


-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-12-12 16:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-12 14:08 [igt-dev] [PATCH] drm-tip: Docs for handling silent conflicts Daniel Vetter
2018-12-12 14:33 ` Boris Brezillon
2018-12-12 16:11   ` Daniel Vetter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox