- Mar 04, 2025
-
-
The original fix of fix on commit 28155089 ("dim: Consider fix-of-fix for -fixes cherry picking.") was: fix_of_fix=$(git log --grep="cherry picked from commit $fixes" \ --after=6months --format=format:%h \ $intel_remote/drm-intel-next-fixes -1) if [[ -z "$fix_of_fix" ]]; then fix_of_fix=$(git log --grep="cherry picked from commit $fixes" \ --after=6months --format=format:%h $intel_remote/drm-intel-fixes -1) But commit e7f73056 ("dim: Generalize cherry-pick fixes") generalized it to for b in drm-intel-next drm-intel-gt-next So, we need to get back to look for the commits in the fix branch not in the next branch. However, let's only look to the current fix branch instead of both fixes branches, otherwise we will can reach a point where we can try to cherry-pick a fix_of_fix to a branch which doesn't have the first-fix patch. Cc: Lucas De Marchi <lucas.demarchi@intel.com> Signed-off-by:
Rodrigo Vivi <rodrigo.vivi@intel.com>
-
- Feb 07, 2025
-
-
Lucas De Marchi authored
Bypass any search for a config file if DIM_CONFIG is set to an empty string. Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
Lucas De Marchi authored
Even if git handles a non-existent path correctly while cloning, it's distracting and people cut the log short when reporting. Just omit the argument if DIM_KERNEL_REFERENCE is empty. Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
Lucas De Marchi authored
Tejas reported that dim fails on a simple `dim setup` with the following message: The DIM_REPO maintainer kernel repository 'src' doesn't exist. Clone upstream? (y/N) y Cloning into 'src'... info: Could not add alternate for '': path '' does not exist git should continue if the path doesn't exist, but apparently this doesn't happen with all git versions if the argument is an empty string. The original commit tried to workaround that by setting it to a non-existent path, but there was a typo in the variable name. Fix the typo. Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
- Sep 19, 2024
-
-
Gustavo Sousa authored
The subcommand "retip" allows passing extra git rebase options, but that requires the branch name to be explicitly passed as first argument. Since we do not expect branch names to start with a dash, let's allow the user to pass extra rebase options without the need to explicitly pass the branch name if the current one is to be used. Signed-off-by:
Gustavo Sousa <gustavo.sousa@intel.com>
-
- Sep 03, 2024
-
-
Simona Vetter authored
Just for generating pulls, that avoids tampering with the user's config. References: https://lwn.net/Articles/931180/ Signed-off-by:
Daniel Vetter <daniel.vetter@intel.com>
-
Simona Vetter authored
Disappointingly gitk doesn't obey .mailmap, but everything else does. Signed-off-by:
Simona Vetter <simona.vetter@ffwll.ch>
-
- Jul 29, 2024
-
-
Lucas De Marchi authored
Let's keep merging display stuff through drm-intel when possible as there's less chance of conflicting. Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
The fetch is currently called with an unbound `remote` variable, which results in fetching the upstream remote of the current branch. In most cases this is the correct behavior as the branch we are cherry-picking changes in should have the upstream set. However if the upstream is not set, it will a fetch origin, which has nothing to do with the operation. Just drop the fetch as it's not needed for 2 reasons: 1) If the user is giving commit X, he probably have that commit locally already and no fetch is needed 2) When listing the references, we will fetch drm-tip, which should have all commits we are possibly cherry-picking Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
- Apr 19, 2024
-
-
In some rare situations it is better to bypass this requirement on purpose then to rebase the whole branch. So, let's add a helper instead of temporarily editing dim every time we need to do this. Signed-off-by:
Rodrigo Vivi <rodrigo.vivi@intel.com>
-
- Apr 18, 2024
-
-
Lucas De Marchi authored
Tag just once to avoid the old tag left on the local machine with possibly the wrong message. Even more importantly: the revert of first version was correct, but at least with my current git version (2.44) it doesn't work. The second call to git-tag to amend the commit message will also move the tag to another commit: + git tag -F- drm-xe-fixes-2024-04-18-1 'drm-xe-fixes@{upstream}' + '[' git == git ']' + key_arg=-s + git tag -s -f drm-xe-fixes-2024-04-18-1 Updated tag 'drm-xe-fixes-2024-04-18-1' (was 46d02aa1b02c) So, even if it showed the correct log in gitk and updated the message, it ended up tagging the wrong commit. We could add "$branch@{upstream}" in the second invocation, but I think this also highlight another shortcoming of calling git-tag twice. In this "try 2" to avoid the breakage from v1 with some editors, do not pass the summary as stdin to `git-tag`, but rather create a tmp file. Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
- Apr 17, 2024
-
-
Rodrigo Vivi authored
The -e usage breaks EDITOR="emacs -nw": hint: Waiting for your editor to close the file... emacs: standard input is not a tty error: There was a problem with the editor 'emacs -nw'. Please supply the message using either -m or -F option. And simply removing the -e tag didn't worked out. It then simply goes there and create the tag with the template without stopping on emacs. This reverts commit b8409429.
-
- Apr 15, 2024
-
-
Lucas De Marchi authored
Make it easier for people without ssh access to the repos to clone and work with them, by simply setting the preferred protocol to https. Closes: #18 Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
Lucas De Marchi authored
When setting up the repository: fatal: cannot change to 'maintainer-tools': No such file or directory which is actually expected. Silence it. Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
Lucas De Marchi authored
In future it will be possible to choose the protocol based on user's preference. Prepare for that by passing both ssh:// and https:// down the call chain, that will end up in url_to_remote() to add the remote. Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
Lucas De Marchi authored
This can be used by the first drm-tip setup, before having drm-rerere with the integration manifest. Rename it accordingly and use dim_create_workdir() to setup drm-tip later. Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
We used to call the remote drm-tip. However since the move to gitlab, and since that in a new setup the integration manifest is still not available, the drm-tip remote is now called "tip" by default. That may be unexpected, particularly when setting up with --yes since we are not prompted for a different name. Change the logic in url_to_remote to deal better with the bootstrapping phase: it should only ever happen with drm-tip. No other case should need the fallback to the remote name, as those are derived from the manifest. Also move url assignment earlier so the url suggested is always the first, not the last. Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
- Apr 11, 2024
-
-
Lucas De Marchi authored
git 2.5 is too old to say we really support it. Supporting git older than that is a burden and we are likely to break it without noting. We even already check for git >= 2.8. Just stop checking for `git worktree` availability. Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
- Mar 27, 2024
-
-
Update my email address used for pull requests. Signed-off-by:
Tvrtko Ursulin <tursulin@ursulin.net>
-
- Mar 26, 2024
-
-
Lucas De Marchi authored
It may be desired to tag separately from the pull request creation. Either because we want more tests to happen on the tag or because we want to tag something that is not the tip of the branch. The latter is useful if there were last minute pushes to -next and it still didn't receive the proper amount of testing in linux-next to be part of a pull request. Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
Lucas De Marchi authored
There's no need to tag once with the template message and another time with the final message. Just tag it once and avoid accidentally pushing the tag with a template message. Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
- Mar 05, 2024
-
-
Be explicit about signing by using `git tag -s` to create a signed tag. This allows one to simply use what's configured in git (maybe globally in ~/.gitconfig) rather than replicating the config in dim. Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
- Mar 04, 2024
-
-
Maxime Ripard authored
With the drm-tip migration to Gitlab, all the URLs have changed so reflect that in the doc. Signed-off-by:
Maxime Ripard <mripard@kernel.org>
-
- Feb 29, 2024
-
-
Jani Nikula authored
Add 'b4-shazam-branch' and 'b4-shazam' subcommands to apply a patch series using b4 [1], fetching the patches from Lore. You can either specify the series using message-id on the command-line, or by piping a message in the series to the subcommand. Additional b4 command-line options may be specified as needed, for example to apply individual patches. b4 is a much more robust alternative to pretty much everything we do in dim_apply_branch() and apply_patch() functions, and automatically gathers reviews and acks from the list. Use the b4.trailers-ignore-from config to ignore trailers from CI and kernel build bot. b4 v0.13 or later is required to filter all trailers in messages from the mentioned addresses (for example Fixes: trailers). Otherwise b4 shazam picks up a lot of garbage trailers from CI mails. [1] https://b4.docs.kernel.org/en/latest/index.html v3: - Unconditionally require b3 v0.13 or later - Use --config option instead of env vars - Add DIM_B4 config option v2: - Use GIT_CONFIG_* to set b4.linkmask (Lucas) - Use GIT_CONFIG_* to set b4.trailers-ignore-from - Check for b4 command - Check b4 version for cover trailers - Use subcommand names b4-shazam and b4-shazam-branch Signed-off-by:
Jani Nikula <jani.nikula@intel.com>
-
- Feb 28, 2024
-
-
Jani Nikula authored
update-i915-driver-date subcommand was listed as update-i. Signed-off-by:
Jani Nikula <jani.nikula@intel.com>
-
- Feb 27, 2024
-
-
Maxime Ripard authored
As part of the transition of DRM from cgit to Gitlab, we updated drm-rerere's nightly.conf file to reflect the new URL. However, dim updates drm first and drm-tip lasts, so if you update the git remote URL like we instructed before running dim update-branches (or any command that fetch all remotes), it will error out before it has the chance to retrieve the nightly.conf file. If the user doesn't update the git remote URL, then dim update-branch will run, fetch drm through the cgit repo, update nightly.conf. On the second run, it will detect that the URL doesn't match anymore, but since there's already a drm remote setup, it will fail to add the remote. So, in either case, dim's broken. Add a bit of logic that detects the drm remote URL and will update remote url if we're using our legacy URLs. Co-developed-by:
Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by:
Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by:
Maxime Ripard <mripard@kernel.org>
-
Lucas De Marchi authored
dim -d pull-request was failing with: Using drm/drm-next as the upstream ../maintainer-tools/dim: line 2225: gitk: command not found git tag -F- drm-xe-next-2024-02-27 drm-xe-next@{upstream} git tag -a -f drm-xe-next-2024-02-27 error: src refspec drm-xe-next-2024-02-27 does not match any error: failed to push some refs to 'ssh://gitlab.freedesktop.org/drm/xe/kernel.git' Make it a little bit more useful. Probably we shouldn't skip that much, but that can be left for later. Same command now shows: Using drm/drm-next as the upstream ../maintainer-tools/dim: line 2229: gitk: command not found git tag -F- drm-xe-next-2024-02-27 drm-xe-next@{upstream} git tag -a -f drm-xe-next-2024-02-27 To ssh://gitlab.freedesktop.org/drm/xe/kernel.git * [new tag] b2121f2bd2232cd0556b2182078d159d81497885 -> drm-xe-next-2024-02-27 Skip. neomutt -s [PULL] drm-xe-next -i /tmp/tmp.eu5PC10boN -c Jani Nikula <jani.nikula@linux.intel.com> -c Joonas Lahtinen <joonas.lahtinen@linux.intel.com> -c Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> -c Rodrigo Vivi <rodrigo.vivi@intel.com> -c Thomas Zimmermann <tzimmermann@suse.de> -c Maarten Lankhorst <maarten.lankhorst@linux.intel.com> -c Maxime Ripard <mripard@kernel.org> -c Thomas Hellström <thomas.hellstrom@linux.intel.com> -c Oded Gabbay <ogabbay@kernel.org> -c Lucas De Marchi <lucas.demarchi@intel.com> -c dri-devel@lists.freedesktop.org -c intel-gfx@lists.freedesktop.org -c intel-xe@lists.freedesktop.org -c dim-tools@lists.freedesktop.org Dave Airlie <airlied@gmail.com> Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
Lucas De Marchi authored
Not all repos have a git:// protocol enabled. Once upon a time the justification to use it was due to bad performance of the https backend. https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols still marks it as "the best on performance", but with the Smart HTTP backend, the cons start to have a bigger role. Also worth noting that it's not available on Github and Gitlab anymore due to security issues. Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
- Feb 26, 2024
-
-
Lucas De Marchi authored
Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
- Feb 01, 2024
-
-
Fix cherry-pick-fixes to actually work after the generalization effort. Signed-off-by:
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
-
- Jan 29, 2024
-
-
When checking if a url matches one of the urls from the drm_tip_repos array, commit faa12d34 ("dim_setup: Use "repo" for remote default name") used a substring match. However, it's possible that a url is a substring of another, leading to the wrong repo being returned. Depending on the order of iteration in the drm_tip_repo array, ssh://git.freedesktop.org/git/drm/drm would match as a substring of ssh://git.freedesktop.org/git/drm/drm-intel, thus returning drm-intel rather than drm as repo. It doesn't always fail because Bash doesn't guarantee the order of associative arrays. Running with Bash 5.2.15 it works, because it compares drm's url before drm-intel's. However it was reported that with 5.0.17 it doesn't follow the same order, and thus causing this issue. On a dim setup execution, it errors out like this: dim: No git remote for any of the URLs ssh://git.freedesktop.org/git/drm/drm git://anongit.freedesktop.org/drm/drm https://anongit.freedesktop.org/git/drm/drm https://anongit.freedesktop.org/git/drm/drm.git found in /path/to/src Enter a name to auto-add this remote, leave blank to abort: drm-intel error: remote drm-intel already exists. Also, dim should probably start using `set -e`, because the error above is ignored and in the end it shows: dim setup successfully completed! Leaving a half-baked setup. Reported-by:
John Harrison <john.c.harrison@intel.com> Fixes: faa12d34 ("dim_setup: Use "repo" for remote default name") Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
- Jan 23, 2024
-
-
Lucas De Marchi authored
No need to be silent on a y/n reply. Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
Lucas De Marchi authored
Fix error when not using --yes: "dim: line 187: [: -eq: unary operator expected" Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
- Jan 11, 2024
-
-
Lucas De Marchi authored
Remove the hardcode arguments to drm-intel branches and add support for xe. For any future branch, all that would be needed is the mapping between branch and arguments. Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
- Jan 10, 2024
-
-
Lucas De Marchi authored
Instead of hardcoding the remote name, derive it from the branch. This will help adding support for xe. Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
Lucas De Marchi authored
Leftover from previous refactors, not used anymore. Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
Lucas De Marchi authored
Instead of slicing the url and deriving the default name for a remote from there, use a new url_to_repo function to find the name from the nightly.conf. This fixes the default name for the drm-xe repo being called "kernel" since the url is gitlab.freedesktop.org/drm/xe/kernel.git Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
Lucas De Marchi authored
Remembering the right name is a 50% chance, but 90% of them I try with the same name used by git. Stop fighting muscle memory and support both. Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
Lucas De Marchi authored
On a slow network, most of the time for a setup is taken by the initial clone of the kernel repository. It's common for kernel developers to have a kernel clone lying around, so allow to borrow the git objects from there. Testing on a relatively fast connection, the initial checkout goes down from ~7m45s to 2m21s. Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
Lucas De Marchi authored
It's tedious to run setup and having to be around for each prompt. Just add a -y|--yes switch like we have in package managers to assume yes/default. Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-