[PATCH] dim: add additional prompts for pushing merges
Jani Nikula
jani.nikula at intel.com
Wed Aug 11 10:58:45 UTC 2021
It's not exactly trivial to add the smarts to properly check for pushing
backmerges, rebases, topic branches and subtree branches (such as
gvt). For a start, prompt the user with hints about what's going on.
Cc: Daniel Vetter <daniel at ffwll.ch>
Signed-off-by: Jani Nikula <jani.nikula at intel.com>
---
Untested.
---
dim | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/dim b/dim
index 56463eb0c0a6..9fc2d78b8617 100755
--- a/dim
+++ b/dim
@@ -989,7 +989,7 @@ function checkpatch_commit_push_range
# push.
function dim_push_branch
{
- local branch remote committer_email count
+ local branch remote committer_email commit_count merge_count
branch=${1:?$usage}
shift
@@ -1004,9 +1004,15 @@ function dim_push_branch
# Apart from maintainers pushing merges or rebases, most patches should
# be pushed in small batches.
- count=$(git rev-list --count --first-parent "$branch@{u}..$branch")
- if [[ $count -gt 10 ]]; then
- if ! ask_user "Pushing $count commits. Are you sure?"; then
+ commit_count=$(git rev-list --count --no-merges --first-parent "$branch@{u}..$branch")
+ merge_count=$(git rev-list --count --merges --first-parent "$branch@{u}..$branch")
+ if [[ $merge_count -gt 0 ]]; then
+ if ! ask_user "Pushing $merge_count merges and $commit_count non-merge commits. Merges should only be pushed by maintainers. Are you sure?"; then
+ echoerr "NOTE: Branch not pushed."
+ return 1
+ fi
+ elif [[ $commit_count -gt 10 ]]; then
+ if ! ask_user "Pushing $commit_count commits. Commits should be only be pushed in relatively small batches. Are you sure?"; then
echoerr "NOTE: Branch not pushed."
return 1
fi
--
2.20.1
More information about the dim-tools
mailing list