[PATCH] drm-tip: Docs for handling silent conflicts

Rodrigo Vivi rodrigo.vivi at intel.com
Thu Dec 13 06:56:20 UTC 2018


On Thu, Dec 13, 2018 at 12:22:38AM +0100, Daniel Vetter wrote:
> Boris needs this.
> 
> v2: Improve the text for all cases that need manual fixups.
> 
> v3: Actually git add the additional changes
> 
> Cc: Rob Clark <robdclark at gmail.com>
> Cc: Boris Brezillon <boris.brezillon at bootlin.com>
> Reviewed-by: Boris Brezillon <boris.brezillon at bootlin.com> (v2)
> Tested-by: Boris Brezillon <boris.brezillon at bootlin.com> (v2)
> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
> ---
>  drm-tip.rst | 46 +++++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 45 insertions(+), 1 deletion(-)
> 
> diff --git a/drm-tip.rst b/drm-tip.rst
> index 002246f573e3..b09a108da32d 100644
> --- a/drm-tip.rst
> +++ b/drm-tip.rst
> @@ -128,7 +128,51 @@ best way to go about this is:
>  
>         $ git diff | dim cat-to-fixup
>  
> -   And finally rebuild the integration tree, which should now go through
> +
> +Anytime you add or change a manual merge fixup please inform the maintainers of
> +both involved trees so that they are aware of the situation and can consider
> +resolving the conflict permantly with a backmerge or pull.
> +3. Finally rebuild the integration tree, which should now go through
>     smoothly, at least for this merge::
>  
>         $ dim rebuild-tip
> +
> +Anytime you add or change a manual merge fixup please inform the maintainers of
> +both involved trees so that they are aware of the situation and can consider
> +resolving the conflict permantly with a backmerge or pull.
> +
> +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

Cool! I had never noticed this interactive mode there.

> +
> +   Stop the rebuilding of drm-tip by hitting ^C.

Maybe the interactive mode could be really interactive
providing option (n)ext or (s)top here? or something like that....

Anyway, doc is good already. Thanks for that

Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>

> +
> +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
> +
> +Anytime you add or change a manual merge fixup please inform the maintainers of
> +both involved trees so that they are aware of the situation and can consider
> +resolving the conflict permantly with a backmerge or pull.
> -- 
> 2.20.0.rc1
> 
> _______________________________________________
> dim-tools mailing list
> dim-tools at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dim-tools


More information about the dim-tools mailing list