[PATCH] dim: flag-day change from drm-intel-next-queued to drm-intel-next

Rodrigo Vivi rodrigo.vivi at intel.com
Wed Nov 25 07:29:13 UTC 2020


On Fri, Nov 13, 2020 at 11:56:58AM +0200, Jani Nikula wrote:
> Switching from using drm-intel-next-queued to drm-intel-next requires a
> flag-day change. This is the dim change to switch to drm-intel-next. For
> now, keep the sub-command names such as "conq" and "push-queued", and
> change everything under the hood. Prevent pushes to
> drm-intel-next-queued.
> 
> The flag-day change should be rolled with:
> 
> 1) Bump minimum dim version with DIM_MIN_VERSION=1 in nightly.conf
> 
> 2) Sync drm-intel-next-queued to drm-intel-next
> 
> 3) Push this change to maintainer-tools
> 
> Cc: Daniel Vetter <daniel at ffwll.ch>
> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
> ---
>  committer-drm-intel.rst  |  6 +++---
>  dim                      | 30 ++++++++++++++++++------------
>  dim.rst                  | 14 +++++++-------
>  drm-intel.rst            | 10 +++++-----
>  drm-tip.rst              | 10 +++++-----
>  maintainer-drm-intel.rst | 34 +++++++++++++++++-----------------
>  repositories.rst         | 20 +++++++++-----------
>  7 files changed, 64 insertions(+), 60 deletions(-)
> 
> diff --git a/committer-drm-intel.rst b/committer-drm-intel.rst
> index 11ad3f4cadb5..dc4932af4e89 100644
> --- a/committer-drm-intel.rst
> +++ b/committer-drm-intel.rst
> @@ -21,7 +21,7 @@ The short list:
>  
>  * Only push patches changing `drivers/gpu/drm/i915`.
>  
> -* Only push patches to `drm-intel-next-queued` branch.
> +* Only push patches to `drm-intel-next` branch.
>  
>  * Ensure certain details are covered, see separate list below.
>  
> @@ -235,8 +235,8 @@ If the Cc: or Fixes: was forgotten, you can still reply to the list with that,
>  just like any other tags, and they should be picked up by whoever pushes the
>  patch.
>  
> -The maintainers will cherry-pick labeled patches from drm-intel-next-queued to
> -the appropriate branches.
> +The maintainers will cherry-pick labeled patches from drm-intel-next to the
> +appropriate branches.
>  
>  'Fixes:' tag is described in
>  `Documentation/process/submitting-patches
> diff --git a/dim b/dim
> index 640844a93c65..1be1435a1a52 100755
> --- a/dim
> +++ b/dim
> @@ -307,7 +307,7 @@ function branch_to_repo # branch
>  
>  function dim_version
>  {
> -	echo "0"
> +	echo "1"
>  }
>  
>  function dim_uptodate
> @@ -1011,7 +1011,7 @@ function dim_push_branch
>  
>  	git_push $remote $branch "$@"
>  
> -	update_linux_next $branch drm-intel-next-queued drm-intel-next-fixes drm-intel-fixes
> +	update_linux_next $branch drm-intel-next drm-intel-next-fixes drm-intel-fixes
>  	update_linux_next $branch drm-misc-next drm-misc-next-fixes drm-misc-fixes
>  	update_linux_next $branch drm-amd-next drm-amd-next-fixes drm-amd-fixes
>  
> @@ -1021,7 +1021,7 @@ function dim_push_branch
>  dim_alias_pq=push-queued
>  function dim_push_queued
>  {
> -	dim_push_branch drm-intel-next-queued "$@"
> +	dim_push_branch drm-intel-next "$@"
>  }
>  
>  dim_alias_pnf=push-next-fixes
> @@ -1108,6 +1108,12 @@ function dim_apply_branch
>  	file=$(mktemp)
>  	dir=$(mktemp -d)
>  
> +	# Transitional
> +	if [[ "$branch" = "drm-intel-next-queued" ]]; then
> +		echoerr "ERROR: Please use drm-intel-next instead of drm-intel-next-queued."

We need to send an email to all committers as a heads up before making this change.
But it is indeed a good idea to keep this reminder here!


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



> +		return 1
> +	fi
> +
>  	assert_branch $branch
>  	assert_repo_clean
>  
> @@ -1304,7 +1310,7 @@ function dim_add_link
>  
>  function dim_add_link_queued
>  {
> -	dim_add_link drm-intel-next-queued "$@"
> +	dim_add_link drm-intel-next "$@"
>  }
>  
>  function dim_add_link_fixes
> @@ -1320,7 +1326,7 @@ function dim_add_link_next_fixes
>  dim_alias_aq=apply-queued
>  function dim_apply_queued
>  {
> -	dim_apply_branch drm-intel-next-queued "$@"
> +	dim_apply_branch drm-intel-next "$@"
>  }
>  
>  function dim_apply_fixes
> @@ -1396,8 +1402,8 @@ function cherry_pick_branch
>  
>  	intel_remote=$(repo_to_remote drm-intel)
>  
> -	# Look for commits in dinq tagged as fixes.
> -	for commit in $(git_list_fixes $intel_remote/$branch..$intel_remote/drm-intel-next-queued $intel_remote/$branch..$intel_remote/drm-intel-gt-next -- drivers/gpu/drm/i915); do
> +	# Look for commits in din tagged as fixes.
> +	for commit in $(git_list_fixes $intel_remote/$branch..$intel_remote/drm-intel-next $intel_remote/$branch..$intel_remote/drm-intel-gt-next -- drivers/gpu/drm/i915); do
>  		echo -n "Considering $(dim_cite $commit)... "
>  
>  		# Look at history for already cherry-picked fixes.
> @@ -1627,7 +1633,7 @@ function dim_checkout
>  
>  function dim_conq
>  {
> -	dim_checkout drm-intel-next-queued "$@"
> +	dim_checkout drm-intel-next "$@"
>  }
>  
>  function dim_cof
> @@ -1649,7 +1655,7 @@ function check_maintainer
>  	branch=$1
>  	commit=$2
>  
> -        if [ "$branch" = "drm-intel-next-queued" ]; then
> +        if [ "$branch" = "drm-intel-next" ]; then
>  		if non_i915_files=$(git diff-tree --no-commit-id --name-only -r $commit | \
>  			grep -v "^\(drivers/gpu/drm/i915/\|include/drm/i915\|include/uapi/drm/i915\|Documentation/gpu/i915\)") && [[ -n "$non_i915_files" ]]; then
>  			echo -e "The following files are outside of i915 maintenance scope:\n"
> @@ -1674,7 +1680,7 @@ function checkpatch_commit
>  	# special branch profile maps branches to profiles
>  	if [[ "$profile" = "branch" ]]; then
>  		case "$(git_current_branch)" in
> -			drm-intel-next-queued|drm-intel-next-fixes|drm-intel-fixes)
> +			drm-intel-next|drm-intel-next-fixes|drm-intel-fixes)
>  				profile=drm-intel
>  				;;
>  			drm-misc-next|drm-misc-next-fixes|drm-misc-fixes)
> @@ -1754,7 +1760,7 @@ function dim_extract_tags
>  
>  function dim_extract_queued
>  {
> -	dim_extract_tags drm-intel-next-queued "$@"
> +	dim_extract_tags drm-intel-next "$@"
>  }
>  
>  function dim_extract_fixes
> @@ -2100,7 +2106,7 @@ function dim_pull_request
>  function dim_pull_request_next
>  {
>  	upstream=${1:-$(branch_to_remote drm-next)/drm-next}
> -	dim_pull_request drm-intel-next-queued $upstream
> +	dim_pull_request drm-intel-next $upstream
>  }
>  
>  function dim_pull_request_fixes
> diff --git a/dim.rst b/dim.rst
> index 757f7c7a4f16..60c688d6c027 100644
> --- a/dim.rst
> +++ b/dim.rst
> @@ -139,7 +139,7 @@ conf
>  conq
>  ----
>  **checkout** shorthands for *drm-intel-fixes*, *drm-intel-next-fixes*, and
> -*drm-intel-next-queued* branches respectively.
> +*drm-intel-next* branches respectively.
>  
>  apply-branch branch [*git am arguments*]
>  ----------------------------------------
> @@ -154,7 +154,7 @@ apply-next-fixes [*git am arguments*]
>  apply-queued [*git am arguments*]
>  ---------------------------------
>  **apply-branch** shorthands for *drm-intel-fixes*, *drm-intel-next-fixes*, and
> -*drm-intel-next-queued* branches respectively.
> +*drm-intel-next* branches respectively.
>  
>  apply [*git am arguments*]
>  --------------------------
> @@ -179,7 +179,7 @@ extract-next-fixes [*git-rangeish*]
>  extract-queued [*git-rangeish*]
>  -------------------------------
>  **extract-tags** shorthands for *drm-intel-fixes*, *drm-intel-next-fixes*, and
> -*drm-intel-next-queued* branches respectively.
> +*drm-intel-next* branches respectively.
>  
>  push-branch branch [*git push arguments*]
>  -----------------------------------------
> @@ -196,7 +196,7 @@ push-next-fixes [*git push arguments*]
>  push-queued [*git push arguments*]
>  ----------------------------------
>  **push-branch** shorthands for *drm-intel-fixes*, *drm-intel-next-fixes*, and
> -*drm-intel-next-queued* branches respectively.
> +*drm-intel-next* branches respectively.
>  
>  push [*git push arguments*]
>  ---------------------------
> @@ -235,7 +235,7 @@ add-link-next-fixes
>  add-link-queued
>  ---------------
>  **add-link** shorthands for *drm-intel-fixes*, *drm-intel-next-fixes*, and
> -*drm-intel-next-queued* branches respectively.
> +*drm-intel-next* branches respectively.
>  
>  add-missing-cc
>  --------------
> @@ -299,7 +299,7 @@ cherry-pick-fixes
>  cherry-pick-next-fixes
>  ----------------------
>  Look for non-upstreamed fixes (commits tagged Cc: stable at vger.kernel.org or Cc:
> -drm-intel-fixes at lists.freedesktop.org) in drm-intel-next-queued, and try to
> +drm-intel-fixes at lists.freedesktop.org) in drm-intel-next, and try to
>  cherry-pick them to drm-intel-fixes or drm-intel-next-fixes. These commands use
>  dim cherry-pick internally to make sure bugfixes for fixes are cherry-picked
>  too.
> @@ -337,7 +337,7 @@ pull-request-next-fixes [*upstream*]
>  
>  pull-request-next [*upstream*]
>  ------------------------------
> -**pull-request** shorthand for *drm-intel-next-queued* as the branch and
> +**pull-request** shorthand for *drm-intel-next* as the branch and
>  *\$DRM_UPSTREAM/drm-next* as the default upstream.
>  
>  apply-pull *branch*
> diff --git a/drm-intel.rst b/drm-intel.rst
> index 4587396452f2..53f75f2e0b8d 100644
> --- a/drm-intel.rst
> +++ b/drm-intel.rst
> @@ -43,16 +43,16 @@ Yellow = Additional trees from/shared with other subsystems.
>  Features
>  --------
>  
> -Features are picked up and pushed to drm-intel-next-queued by committers and
> +Features are picked up and pushed to drm-intel-next by committers and
>  maintainers. See :ref:`committer-drm-intel` for details.
>  
>  Fixes
>  -----
>  
> -Fixes are picked up and pushed to drm-intel-next-queued by committers and
> -maintainers, just like any other patches. This is to ensure fixes are pushed in
> -a timely manner. Fixes that are relevant for stable, current development
> -kernels, or drm-next, will be cherry-picked by maintainers to drm-intel-fixes or
> +Fixes are picked up and pushed to drm-intel-next by committers and maintainers,
> +just like any other patches. This is to ensure fixes are pushed in a timely
> +manner. Fixes that are relevant for stable, current development kernels, or
> +drm-next, will be cherry-picked by maintainers to drm-intel-fixes or
>  drm-intel-next-fixes.
>  
>  To make this work, patches should be labeled as fixes (see XXX), and extra care
> diff --git a/drm-tip.rst b/drm-tip.rst
> index a1e2dfedd745..7515ab7a3962 100644
> --- a/drm-tip.rst
> +++ b/drm-tip.rst
> @@ -33,16 +33,16 @@ sometimes fail, for example like this::
>          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
> +        Merging origin/drm-intel-next... ++<<<<<<< HEAD
>          ++=======
> -        ++>>>>>>> origin/drm-intel-next-queued
> -        Fail: conflict merging origin/drm-intel-next-queued
> +        ++>>>>>>> origin/drm-intel-next
> +        Fail: conflict merging origin/drm-intel-next
>  
>  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.
> +1. First check that drm-intel-next was indeed pushed correctly and that your
> +   local and remote branches match.
>  
>  2. Then rebuild the integration branch just to confirm::
>  
> diff --git a/maintainer-drm-intel.rst b/maintainer-drm-intel.rst
> index 853db6b4d018..ad8b255b769d 100644
> --- a/maintainer-drm-intel.rst
> +++ b/maintainer-drm-intel.rst
> @@ -14,22 +14,22 @@ fixes for one release. Thus for each branch, you take over from the person
>  maintaining the branch before you, and leave it in a known state for the person
>  after you.
>  
> -drm-intel-next-queued
> ----------------------
> +drm-intel-next
> +--------------
>  
>  Take over when the last drm-intel feature pull has been sent for an upcoming
> -merge window, and drm-intel-next-queued starts targeting the next merge window
> -after that. This happens around -rc5 of the current development kernel.
> +merge window, and drm-intel-next starts targeting the next merge window after
> +that. This happens around -rc5 of the current development kernel.
>  
>  Start queuing changes for drm-next after the merge window (i.e. after
> -another -rc1 is out). Send drm-intel-next-queued pull requests periodically. Use
> -``dim pull-request-next``. Write a tag summary detailing the changes since the
> -last tag.
> -
> -Do backmerges as needed, but also don't let drm-intel-next-queued fall too much
> -behind from drm-next; use your discretion. Use ``dim backmerge``. Never rebase
> -or force push. Only do backmerges from drm-next. Specifically, don't merge
> -drm-misc branches or backmerge Linus' tree directly; they all need to go through
> +another -rc1 is out). Send drm-intel-next pull requests periodically. Use ``dim
> +pull-request-next``. Write a tag summary detailing the changes since the last
> +tag.
> +
> +Do backmerges as needed, but also don't let drm-intel-next fall too much behind
> +from drm-next; use your discretion. Use ``dim backmerge``. Never rebase or force
> +push. Only do backmerges from drm-next. Specifically, don't merge drm-misc
> +branches or backmerge Linus' tree directly; they all need to go through
>  drm-next. Request drm-misc maintainers to have your dependencies sent to
>  drm-next, and request Dave to have Linus' tree backmerged to drm-next.
>  
> @@ -47,8 +47,8 @@ job to ensure deadlines are met, but to raise awareness. Avoid surprising
>  people.
>  
>  When sending the last feature pull request, pass the torch to the next in
> -rotation to maintain drm-intel-next-queued. Move on to drm-intel-next-fixes to
> -follow through with the features you handled.
> +rotation to maintain drm-intel-next. Move on to drm-intel-next-fixes to follow
> +through with the features you handled.
>  
>  drm-intel-next-fixes
>  --------------------
> @@ -57,7 +57,7 @@ After the last drm-intel feature pull request has been merged to drm-next,
>  somewhere around -rc6 or -rc7 time frame, rebase drm-intel-next-fixes on top of
>  drm-next, and push. Use ``dim rebase``.
>  
> -Cherry pick fixes from drm-intel-next-queued periodically. Use ``dim
> +Cherry pick fixes from drm-intel-next periodically. Use ``dim
>  cherry-pick-next-fixes``. The cherry-picks are automated based on Fixes: and Cc:
>  stable tags. Double check that they make sense. Use ``dim push-next-fixes`` to
>  push. Stop cherry-picking during the merge window, and only pick the fixes that
> @@ -107,7 +107,7 @@ next week.
>  After the rebase, give CI time to run the plain upstream tag, to detect issues
>  introduced by Linus' upstream.
>  
> -Before Wednesday, cherry pick fixes from drm-intel-next-queued. Use ``dim
> +Before Wednesday, cherry pick fixes from drm-intel-next. Use ``dim
>  cherry-pick-fixes``. The cherry-picks are automated based on Fixes: and Cc:
>  stable tags. Double check that they make sense. Be more and more critical toward
>  the higher -rc, nearing stable kernel rules for commits, and drop commits that
> @@ -129,4 +129,4 @@ After vX.Y release, rebase drm-intel-fixes one last time on that. Use ``dim
>  rebase drm-intel-fixes vX.Y``.
>  
>  It's time to take a break from maintaining branches, until you start over with
> -drm-intel-next-queued.
> +drm-intel-next.
> diff --git a/repositories.rst b/repositories.rst
> index eace4198169e..1fd530b45226 100644
> --- a/repositories.rst
> +++ b/repositories.rst
> @@ -106,8 +106,8 @@ large pool of committers. Consists mostly of ``drivers/gpu/drm/i915``.
>  
>  .. _the drm-intel repository: https://cgit.freedesktop.org/drm/drm-intel
>  
> -drm-intel-next-queued (aka "dinq")
> -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +drm-intel-next (aka "din")
> +~~~~~~~~~~~~~~~~~~~~~~~~~~
>  
>  This is the branch where all new features, as well as any non-trivial or
>  controversial fixes, are applied.
> @@ -115,17 +115,15 @@ controversial fixes, are applied.
>  This branch "hides" the merge window from the drm/i915 developers; patches are
>  applied here regardless of the development phase of Linus' upstream kernel.
>  
> -drm-intel-next
> -~~~~~~~~~~~~~~
> -
> -drm-intel-next-queued at some point in time.
> +(This branch is effectively the same as drm-intel-next-queued, or "dinq", used
> +to be.)
>  
>  drm-intel-next-fixes (aka "dinf")
>  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>  
>  This branch contains drm/i915 specific fixes to drm-next after the drm/i915
> -features have been merged there. Fixes are first applied to
> -drm-intel-next-queued, and cherry-picked to drm-intel-next-fixes.
> +features have been merged there. Fixes are first applied to drm-intel-next, and
> +cherry-picked to drm-intel-next-fixes.
>  
>  Pull requests to Dave are sent as needed, with no particular schedule.
>  
> @@ -133,9 +131,9 @@ drm-intel-fixes (aka "-fixes")
>  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>  
>  This branch contains fixes to Linus' tree after drm-next has been merged during
> -the merge window. Fixes are first applied to drm-intel-next-queued, and
> -cherry-picked to drm-intel-fixes. The fixes are then merged through drm-fixes.
> -Valid from -rc1 to the kernel release.
> +the merge window. Fixes are first applied to drm-intel-next, and cherry-picked
> +to drm-intel-fixes. The fixes are then merged through drm-fixes.  Valid
> +from -rc1 to the kernel release.
>  
>  Usually Linus releases each -rc on a Sunday, and drm-intel-fixes gets rebased on
>  that the following Monday. Usually this is a fast-forward. The pull request to
> -- 
> 2.20.1
> 
> _______________________________________________
> 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