From: Junio C Hamano <gitster@pobox.com>
To: Orgad Shaneh <orgads@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] submodule: add verbose mode for add/update
Date: Wed, 12 Mar 2014 13:19:59 -0700 [thread overview]
Message-ID: <xmqqwqfzjhjk.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <1394654625-4586-1-git-send-email-orgads@gmail.com> (Orgad Shaneh's message of "Wed, 12 Mar 2014 22:03:45 +0200")
Orgad Shaneh <orgads@gmail.com> writes:
> +--verbose::
> + This option is valid for add and update commands. Display the progress
> + of the actual submodule checkout.
Hmm, is the "valid for add and update" part we want to keep? I do
not think it is a crime if some other subcommand accepted --verbose
option but its output under verbose mode and normal mode happened to
be the same.
I doubt it would take a lot of imagination to see that people would
want to see "git submodule status --verbose" to get richer output,
and at that point, "progress of checkout" as part of the description
of the "--verbose" option does not make any sense. Perhaps the
second part that is specific to "add" and "update" subcommands
should move to the description of these two subcommands?
I dunno.
> diff --git a/git-submodule.sh b/git-submodule.sh
> index a33f68d..e1df2c8 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>...]"
> @@ -319,12 +319,16 @@ module_clone()
> rel=$(echo $a | sed -e 's|[^/][^/]*|..|g')
> (
> clear_local_git_env
> + if test -z "$verbose"
> + then
> + subquiet=-q
> + fi
> cd "$sm_path" &&
> GIT_WORK_TREE=. git config core.worktree "$rel/$b" &&
> # ash fails to wordsplit ${local_branch:+-B "$local_branch"...}
> case "$local_branch" in
> - '') git checkout -f -q ${start_point:+"$start_point"} ;;
> - ?*) git checkout -f -q -B "$local_branch" ${start_point:+"$start_point"} ;;
> + '') git checkout -f ${subquiet:+"$subquiet"} ${start_point:+"$start_point"} ;;
> + ?*) git checkout -f ${subquiet:+"$subquiet"} -B "$local_branch" ${start_point:+"$start_point"} ;;
> esac
> ) || die "$(eval_gettext "Unable to setup cloned submodule '\$sm_path'")"
> }
> @@ -380,6 +384,9 @@ cmd_add()
> --depth=*)
> depth=$1
> ;;
> + -v|--verbose)
> + verbose=1
> + ;;
Compare $depth and $verbose, and think what would happen if the end
user had an environment variable whose name happened to be $depth or
$verbose. Does this script misbehave under such a stray $verbose?
What does the existing script do to prevent it from misbehaving when
a stray $depth exists in the environment?
next prev parent reply other threads:[~2014-03-12 20:20 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-12 20:03 [PATCH] submodule: add verbose mode for add/update Orgad Shaneh
2014-03-12 20:19 ` Junio C Hamano [this message]
-- strict thread matches above, loose matches on Subject: below --
2014-03-12 13:42 Orgad Shaneh
2014-03-12 16:15 ` Jens Lehmann
2014-03-12 20:00 ` Orgad Shaneh
2014-03-12 6:38 Orgad Shaneh
2014-03-12 8:35 ` Eric Sunshine
2013-04-10 20:10 Orgad Shaneh
2013-04-10 18:24 Orgad Shaneh
2013-04-10 20:00 ` Jens Lehmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqwqfzjhjk.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=orgads@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).