threads / patch / 33462

patchsubmodule: add verbose mode for add/update

Subject: [PATCH] submodule: add verbose mode for add/update

## tl;dr

3 messages between Apr 10, 2013 and Apr 10, 2013. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Orgad Shaneh· Apr 10, 2013, 18:24 UTC · lore
Executes checkout without -q
---
 git-submodule.sh |   24 +++++++++++++++++++-----
 1 file changed, 19 insertions(+), 5 deletions(-)
Show changes to git-submodule.sh +19 −5
diff --git a/git-submodule.sh b/git-submodule.sh
index 79bfaac..f7964ad 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -5,11 +5,11 @@
 # Copyright (c) 2007 Lars Hjemli
 
 dashless=$(basename "$0" | sed -e 's/-/ /')
-USAGE="[--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--] <repository> [<path>]
+USAGE="[--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [-v|--verbose] [--] <repository> [<path>]
    or: $dashless [--quiet] status [--cached] [--recursive] [--] [<path>...]
    or: $dashless [--quiet] init [--] [<path>...]
    or: $dashless [--quiet] deinit [-f|--force] [--] <path>...
-   or: $dashless [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--rebase] [--reference <repository>] [--merge] [--recursive] [--] [<path>...]
+   or: $dashless [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--rebase] [--reference <repository>] [--merge] [--recursive] [-v|--verbose] [--] [<path>...]
    or: $dashless [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...]
    or: $dashless [--quiet] foreach [--recursive] <command>
    or: $dashless [--quiet] sync [--recursive] [--] [<path>...]"
@@ -309,6 +309,9 @@ cmd_add()
 			custom_name=$2
 			shift
 			;;
+		-v|--verbose)
+			VERBOSE=1
+			;;
 		--)
 			shift
 			break
@@ -408,11 +411,15 @@ Use -f if you really want to add it." >&2
 		module_clone "$sm_path" "$sm_name" "$realrepo" "$reference" || exit
 		(
 			clear_local_git_env
+			if test -z "$VERBOSE"
+			then
+				subquiet=-q
+			fi
 			cd "$sm_path" &&
 			# ash fails to wordsplit ${branch:+-b "$branch"...}
 			case "$branch" in
-			'') git checkout -f -q ;;
-			?*) git checkout -f -q -B "$branch" "origin/$branch" ;;
+			'') git checkout -f $subquiet ;;
+			?*) git checkout -f $subquiet -B "$branch" "origin/$branch" ;;
 			esac
 		) || die "$(eval_gettext "Unable to checkout submodule '\$sm_path'")"
 	fi
@@ -676,6 +683,9 @@ cmd_update()
 		--checkout)
 			update="checkout"
 			;;
+		-v|--verbose)
+			VERBOSE=1
+			;;
 		--)
 			shift
 			break
@@ -799,7 +809,11 @@ Maybe you want to use 'update --init'?")"
 				must_die_on_failure=yes
 				;;
 			*)
-				command="git checkout $subforce -q"
+				if test -z "$VERBOSE"
+				then
+					subquiet=-q
+				fi
+				command="git checkout $subforce $subquiet"
 				die_msg="$(eval_gettext "Unable to checkout '\$sha1' in submodule path '\$prefix\$sm_path'")"
 				say_msg="$(eval_gettext "Submodule path '\$prefix\$sm_path': checked out '\$sha1'")"
 				;;
-- 
1.7.10.4
Jens Lehmann· Apr 10, 2013, 20:00 UTC · re: Orgad Shaneh · lore

Re: [PATCH] submodule: add verbose mode for add/update

Am 10.04.2013 20:24, schrieb Orgad Shaneh:
> Executes checkout without -q
Nice, looks like you picked the proposal I made last September:
  http://permalink.gmane.org/gmane.comp.version-control.git/204747

The change is looking good, but you still need to document the new option in Documentation/git-submodule.txt too please.

And the commit message is still too short, as I said in that other thread:

On Tue, Sep 4, 2012 at 6:28 PM, Jens Lehmann <Jens.Lehmann@web.de> wrote:
> Before the "Signed-off-by" is the place where you should have
> explained why this would be a worthwhile change ;-)

And you answered to that with something that would really make sense as first part of the commit message, because you explain *why* you do that change:

Am 05.09.2012 13:42, schrieb Orgad and Raizel Shaneh:
> When I run 'git submodule update' I don't expect to be in the dark
> until the submodule/s finishes checkout, this sometimes can take a
> significant amount of time and feedback is expected.
Another paragraph after that should explain *how* you do it.

So what about the following as commit message: -------------------------------------------------------------- When 'git submodule add/update' is run there is no output during checkout. This can take a significant amount of time and it would be nice if user could enable some feedback to see what's going on.

Add the -v/--verbose option to both add and update which suppresses the -q normally given to checkout so the user sees progress output from the checkout command.

<Your Signed-off-by goes here> --------------------------------------------------------------

I'm looking forward to your next iteration.
Show 74 quoted lines
> ---
>  git-submodule.sh |   24 +++++++++++++++++++-----
>  1 file changed, 19 insertions(+), 5 deletions(-)
> 
> diff --git a/git-submodule.sh b/git-submodule.sh
> index 79bfaac..f7964ad 100755
> --- a/git-submodule.sh
> +++ b/git-submodule.sh
> @@ -5,11 +5,11 @@
>  # Copyright (c) 2007 Lars Hjemli
>  
>  dashless=$(basename "$0" | sed -e 's/-/ /')
> -USAGE="[--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--] <repository> [<path>]
> +USAGE="[--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [-v|--verbose] [--] <repository> [<path>]
>     or: $dashless [--quiet] status [--cached] [--recursive] [--] [<path>...]
>     or: $dashless [--quiet] init [--] [<path>...]
>     or: $dashless [--quiet] deinit [-f|--force] [--] <path>...
> -   or: $dashless [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--rebase] [--reference <repository>] [--merge] [--recursive] [--] [<path>...]
> +   or: $dashless [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--rebase] [--reference <repository>] [--merge] [--recursive] [-v|--verbose] [--] [<path>...]
>     or: $dashless [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...]
>     or: $dashless [--quiet] foreach [--recursive] <command>
>     or: $dashless [--quiet] sync [--recursive] [--] [<path>...]"
> @@ -309,6 +309,9 @@ cmd_add()
>  			custom_name=$2
>  			shift
>  			;;
> +		-v|--verbose)
> +			VERBOSE=1
> +			;;
>  		--)
>  			shift
>  			break
> @@ -408,11 +411,15 @@ Use -f if you really want to add it." >&2
>  		module_clone "$sm_path" "$sm_name" "$realrepo" "$reference" || exit
>  		(
>  			clear_local_git_env
> +			if test -z "$VERBOSE"
> +			then
> +				subquiet=-q
> +			fi
>  			cd "$sm_path" &&
>  			# ash fails to wordsplit ${branch:+-b "$branch"...}
>  			case "$branch" in
> -			'') git checkout -f -q ;;
> -			?*) git checkout -f -q -B "$branch" "origin/$branch" ;;
> +			'') git checkout -f $subquiet ;;
> +			?*) git checkout -f $subquiet -B "$branch" "origin/$branch" ;;
>  			esac
>  		) || die "$(eval_gettext "Unable to checkout submodule '\$sm_path'")"
>  	fi
> @@ -676,6 +683,9 @@ cmd_update()
>  		--checkout)
>  			update="checkout"
>  			;;
> +		-v|--verbose)
> +			VERBOSE=1
> +			;;
>  		--)
>  			shift
>  			break
> @@ -799,7 +809,11 @@ Maybe you want to use 'update --init'?")"
>  				must_die_on_failure=yes
>  				;;
>  			*)
> -				command="git checkout $subforce -q"
> +				if test -z "$VERBOSE"
> +				then
> +					subquiet=-q
> +				fi
> +				command="git checkout $subforce $subquiet"
>  				die_msg="$(eval_gettext "Unable to checkout '\$sha1' in submodule path '\$prefix\$sm_path'")"
>  				say_msg="$(eval_gettext "Submodule path '\$prefix\$sm_path': checked out '\$sha1'")"
>  				;;
> 
Orgad Shaneh· Apr 10, 2013, 20:13 UTC · lore

Fwd: [PATCH] submodule: add verbose mode for add/update

On Wed, Apr 10, 2013 at 11:00 PM, Jens Lehmann <Jens.Lehmann@web.de> wrote:
Show 6 quoted lines
>
> Am 10.04.2013 20:24, schrieb Orgad Shaneh:
> > Executes checkout without -q
>
> Nice, looks like you picked the proposal I made last September:
>   http://permalink.gmane.org/gmane.comp.version-control.git/204747
Took me a while, but I finally got to it :)
Show 35 quoted lines
> The change is looking good, but you still need to document the
> new option in Documentation/git-submodule.txt too please.
>
> And the commit message is still too short, as I said in that
> other thread:
>
> On Tue, Sep 4, 2012 at 6:28 PM, Jens Lehmann <Jens.Lehmann@web.de> wrote:
> > Before the "Signed-off-by" is the place where you should have
> > explained why this would be a worthwhile change ;-)
>
> And you answered to that with something that would really make
> sense as first part of the commit message, because you explain
> *why* you do that change:
>
> Am 05.09.2012 13:42, schrieb Orgad and Raizel Shaneh:
> > When I run 'git submodule update' I don't expect to be in the dark
> > until the submodule/s finishes checkout, this sometimes can take a
> > significant amount of time and feedback is expected.
>
> Another paragraph after that should explain *how* you do it.
>
> So what about the following as commit message:
> --------------------------------------------------------------
> When 'git submodule add/update' is run there is no output during
> checkout. This can take a significant amount of time and it would
> be nice if user could enable some feedback to see what's going on.
>
> Add the -v/--verbose option to both add and update which suppresses
> the -q normally given to checkout so the user sees progress output
> from the checkout command.
>
> <Your Signed-off-by goes here>
> --------------------------------------------------------------
>
> I'm looking forward to your next iteration.
Done quicker this time ;-)
Thanks a lot for your review (previous and current). It was very helpful!
- Orgad

← back to recent threads