diff mbox

dim: Add status command

Message ID 20161129143144.5254-1-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter Nov. 29, 2016, 2:31 p.m. UTC
Useful with our branch proliferation to make sure nothing is stuck (we
now also have drm-misc-next/-next-fixes/-fixes).

v2: Gracefully handle if some remotes arent' there.

Acked-by: seanpaul@chromium.org
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 dim     | 22 ++++++++++++++++++++++
 dim.rst |  5 +++++
 2 files changed, 27 insertions(+)

Comments

Jani Nikula Nov. 29, 2016, 4:19 p.m. UTC | #1
On Tue, 29 Nov 2016, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> Useful with our branch proliferation to make sure nothing is stuck (we
> now also have drm-misc-next/-next-fixes/-fixes).
>
> v2: Gracefully handle if some remotes arent' there.
>
> Acked-by: seanpaul@chromium.org
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Acked-by: Jani Nikula <jani.nikula@intel.com>

Push away!

> ---
>  dim     | 22 ++++++++++++++++++++++
>  dim.rst |  5 +++++
>  2 files changed, 27 insertions(+)
>
> diff --git a/dim b/dim
> index 3dd2d1dec796..b21d1321af09 100755
> --- a/dim
> +++ b/dim
> @@ -1285,6 +1285,28 @@ function dim_update_branches
>  	update_rerere_cache
>  }
>  
> +function dim_status
> +{
> +	local repo remote drm_remote patches
> +
> +	cd $DIM_PREFIX/$DIM_DRM_INTEL
> +
> +	drm_remote=$(url_to_remote $drm_upstream_git)
> +
> +	for branch in $dim_branches ; do
> +		repo=`branch_to_repo $branch`
> +		if ! remote=`repo_to_remote $repo` ; then
> +			continue
> +		fi
> +
> +		patches=$(git log --oneline $remote/$branch ^origin/master ^$drm_remote/drm-next ^$drm_remote/drm-fixes | wc -l)
> +
> +		if [[ $patches -ne 0 ]] ; then
> +			echo $repo/$branch: $patches unmerged patches
> +		fi
> +	done
> +}
> +
>  function setup_aux_checkout # name url directory
>  {
>  	local name url dir remote
> diff --git a/dim.rst b/dim.rst
> index 9a045a43e7b7..0c52ab43e400 100644
> --- a/dim.rst
> +++ b/dim.rst
> @@ -80,6 +80,11 @@ always maintained from the same machine, even if different branches are
>  maintained on different machines (by different maintainers), there's no need to
>  run this command.
>  
> +status
> +------
> +
> +Lists all branches with unmerged patches, and how many patches are unmerged.
> +
>  rebuild-tip
>  -----------
>  Rebuild and push the integration tree.
diff mbox

Patch

diff --git a/dim b/dim
index 3dd2d1dec796..b21d1321af09 100755
--- a/dim
+++ b/dim
@@ -1285,6 +1285,28 @@  function dim_update_branches
 	update_rerere_cache
 }
 
+function dim_status
+{
+	local repo remote drm_remote patches
+
+	cd $DIM_PREFIX/$DIM_DRM_INTEL
+
+	drm_remote=$(url_to_remote $drm_upstream_git)
+
+	for branch in $dim_branches ; do
+		repo=`branch_to_repo $branch`
+		if ! remote=`repo_to_remote $repo` ; then
+			continue
+		fi
+
+		patches=$(git log --oneline $remote/$branch ^origin/master ^$drm_remote/drm-next ^$drm_remote/drm-fixes | wc -l)
+
+		if [[ $patches -ne 0 ]] ; then
+			echo $repo/$branch: $patches unmerged patches
+		fi
+	done
+}
+
 function setup_aux_checkout # name url directory
 {
 	local name url dir remote
diff --git a/dim.rst b/dim.rst
index 9a045a43e7b7..0c52ab43e400 100644
--- a/dim.rst
+++ b/dim.rst
@@ -80,6 +80,11 @@  always maintained from the same machine, even if different branches are
 maintained on different machines (by different maintainers), there's no need to
 run this command.
 
+status
+------
+
+Lists all branches with unmerged patches, and how many patches are unmerged.
+
 rebuild-tip
 -----------
 Rebuild and push the integration tree.