[PATCH 3/3] dim: add safeguards for users pushing too many commits at once
Rodrigo Vivi
rodrigo.vivi at intel.com
Mon Jan 14 17:05:53 UTC 2019
On Mon, Jan 14, 2019 at 05:23:15PM +0200, Jani Nikula wrote:
> In most cases, even when pushing long series, it's better to push
> commits in moderately sized batches. One functional reason is resolving
> potential drm-tip conflicts in smaller and more isolated units, which is
> easier to resolve, and is less likely to need a new massive conflict
> resolution later.
>
> Ask the user for confirmation when they're trying to push more than
> (arbitrarily chosen) 10 patches in one go. This also acts as a safeguard
> for pushing more than the user intended.
>
> Obviously maintainers will also face the question when pushing merges or
> rebases, but there's no harm in that. They also need to be sure this is
> what they mean.
>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
for the series:
Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> ---
> dim | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/dim b/dim
> index ac100f07a7e4..64d2bf147647 100755
> --- a/dim
> +++ b/dim
> @@ -892,7 +892,7 @@ function checkpatch_commit_push_range
> # push.
> function dim_push_branch
> {
> - local branch remote
> + local branch remote count
>
> branch=${1:?$usage}
> shift
> @@ -903,6 +903,16 @@ function dim_push_branch
>
> checkpatch_commit_push_range 1 "$branch@{u}..$branch" --first-parent
>
> + # Apart from maintainers pushing merges or rebases, most patches should
> + # be pushed in small batches.
> + count=$(git rev-list --count "$branch@{u}..$branch")
> + if [[ $count -gt 10 ]]; then
> + if ! ask_user "Pushing $count commits. Are you sure?"; then
> + echoerr "NOTE: Branch not pushed."
> + return 1
> + fi
> + fi
> +
> git push $DRY_RUN $remote $branch "$@"
>
> update_linux_next $branch drm-intel-next-queued drm-intel-next-fixes drm-intel-fixes
> --
> 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