[PATCH] dim: flag-day change from drm-intel-next-queued to drm-intel-next
Jani Nikula
jani.nikula at intel.com
Sun Dec 6 09:23:15 UTC 2020
On Fri, 13 Nov 2020, Jani Nikula <jani.nikula at intel.com> 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
>
Pushed with the above plan. Fingers crossed everything will work. ;)
BR,
Jani.
> 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."
> + 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
--
Jani Nikula, Intel Open Source Graphics Center
More information about the dim-tools
mailing list