From: "Imran M Yousuf" <imyousuf@gmail.com>
To: "Johannes Schindelin" <Johannes.Schindelin@gmx.de>
Cc: git@vger.kernel.org, gitster@pobox.com
Subject: Re: [PATCH] submodule update: add convenience option --init
Date: Fri, 16 May 2008 16:55:56 +0600 [thread overview]
Message-ID: <7bfdc29a0805160355x4120a425qaa947dd75bf60303@mail.gmail.com> (raw)
In-Reply-To: <alpine.DEB.1.00.0805161122110.30431@racer>
On Fri, May 16, 2008 at 4:23 PM, Johannes Schindelin
<Johannes.Schindelin@gmx.de> wrote:
>
> When a submodule is not initialized and you do not want to change the
> defaults from .gitmodules anyway, you can now say
>
> $ git submodule update --init <name>
This seems to be quite useful, I always wanted to do it in one step.
>
> When "update" is called without --init on an uninitialized submodule,
> a hint to use --init is printed.
>
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
>
> I know this is relatively late in the cycle, but this patch was
> done on users' requests, and I think it is unobtrusive, yet
> helpful.
>
> Documentation/git-submodule.txt | 7 ++++++-
> git-submodule.sh | 7 ++++++-
> t/t7400-submodule-basic.sh | 13 +++++++++++++
> 3 files changed, 25 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt
> index 6ffd896..0668f29 100644
> --- a/Documentation/git-submodule.txt
> +++ b/Documentation/git-submodule.txt
> @@ -11,7 +11,8 @@ SYNOPSIS
> [verse]
> 'git-submodule' [--quiet] add [-b branch] [--] <repository> [<path>]
> 'git-submodule' [--quiet] status [--cached] [--] [<path>...]
> -'git-submodule' [--quiet] [init|update] [--] [<path>...]
> +'git-submodule' [--quiet] init [--] [<path>...]
> +'git-submodule' [--quiet] update [--init] [--] [<path>...]
> 'git-submodule' [--quiet] summary [--summary-limit <n>] [commit] [--] [<path>...]
>
>
> @@ -47,6 +48,10 @@ update::
> Update the registered submodules, i.e. clone missing submodules and
> checkout the commit specified in the index of the containing repository.
> This will make the submodules HEAD be detached.
> ++
> +If the submodule is not yet initialized, and you just want to use the
> +setting as stored in .gitmodules, you can automatically initialize the
> +submodule with the --init option.
>
> summary::
> Show commit summary between the given commit (defaults to HEAD) and
> diff --git a/git-submodule.sh b/git-submodule.sh
> index 67f7a28..e681818 100755
> --- a/git-submodule.sh
> +++ b/git-submodule.sh
> @@ -5,7 +5,7 @@
> # Copyright (c) 2007 Lars Hjemli
>
> USAGE="[--quiet] [--cached] \
> -[add <repo> [-b branch]|status|init|update|summary [-n|--summary-limit <n>] [<commit>]] \
> +[add <repo> [-b branch]|status|init|update [-i|--init]|summary [-n|--summary-limit <n>] [<commit>]] \
> [--] [<path>...]"
> OPTIONS_SPEC=
> . git-sh-setup
> @@ -272,6 +272,10 @@ cmd_update()
> -q|--quiet)
> quiet=1
> ;;
> + -i|--init)
> + shift
> + cmd_init "$@" || return
> + ;;
> --)
> shift
> break
> @@ -297,6 +301,7 @@ cmd_update()
> # path have been specified
> test "$#" != "0" &&
> say "Submodule path '$path' not initialized"
> + say "Maybe you want to use 'update --init'?"
> continue
> fi
>
> diff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh
> index 2ef85a8..6c7b902 100755
> --- a/t/t7400-submodule-basic.sh
> +++ b/t/t7400-submodule-basic.sh
> @@ -196,4 +196,17 @@ test_expect_success 'apply submodule diff' '
> test -z "$D"
> '
>
> +test_expect_success 'update --init' '
> +
> + mv init init2 &&
> + git config -f .gitmodules submodule.example.url "$(pwd)/init2" &&
> + git config --remove-section submodule.example
> + git submodule update init > update.out &&
> + grep "not initialized" update.out &&
> + test ! -d init/.git &&
> + git submodule update --init init &&
> + test -d init/.git
> +
> +'
> +
> test_done
> --
> 1.5.5.1.425.g5f464.dirty
>
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
Imran M Yousuf
Entrepreneur & Software Engineer
Smart IT Engineering
Dhaka, Bangladesh
Email: imran@smartitengineering.com
Mobile: +880-1711402557
prev parent reply other threads:[~2008-05-16 10:56 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-16 10:23 [PATCH] submodule update: add convenience option --init Johannes Schindelin
2008-05-16 10:55 ` Imran M Yousuf [this message]
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7bfdc29a0805160355x4120a425qaa947dd75bf60303@mail.gmail.com \
--to=imyousuf@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.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.
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 NNTP newsgroup(s).