submodule update: add convenience option --init
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> 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> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
b30317819d
commit
be4d2c83b6
@ -11,7 +11,8 @@ SYNOPSIS
|
|||||||
[verse]
|
[verse]
|
||||||
'git-submodule' [--quiet] add [-b branch] [--] <repository> [<path>]
|
'git-submodule' [--quiet] add [-b branch] [--] <repository> [<path>]
|
||||||
'git-submodule' [--quiet] status [--cached] [--] [<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>...]
|
'git-submodule' [--quiet] summary [--summary-limit <n>] [commit] [--] [<path>...]
|
||||||
|
|
||||||
|
|
||||||
@ -47,6 +48,10 @@ update::
|
|||||||
Update the registered submodules, i.e. clone missing submodules and
|
Update the registered submodules, i.e. clone missing submodules and
|
||||||
checkout the commit specified in the index of the containing repository.
|
checkout the commit specified in the index of the containing repository.
|
||||||
This will make the submodules HEAD be detached.
|
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::
|
summary::
|
||||||
Show commit summary between the given commit (defaults to HEAD) and
|
Show commit summary between the given commit (defaults to HEAD) and
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
# Copyright (c) 2007 Lars Hjemli
|
# Copyright (c) 2007 Lars Hjemli
|
||||||
|
|
||||||
USAGE="[--quiet] [--cached] \
|
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>...]"
|
[--] [<path>...]"
|
||||||
OPTIONS_SPEC=
|
OPTIONS_SPEC=
|
||||||
. git-sh-setup
|
. git-sh-setup
|
||||||
@ -271,6 +271,10 @@ cmd_update()
|
|||||||
-q|--quiet)
|
-q|--quiet)
|
||||||
quiet=1
|
quiet=1
|
||||||
;;
|
;;
|
||||||
|
-i|--init)
|
||||||
|
shift
|
||||||
|
cmd_init "$@" || return
|
||||||
|
;;
|
||||||
--)
|
--)
|
||||||
shift
|
shift
|
||||||
break
|
break
|
||||||
@ -296,6 +300,7 @@ cmd_update()
|
|||||||
# path have been specified
|
# path have been specified
|
||||||
test "$#" != "0" &&
|
test "$#" != "0" &&
|
||||||
say "Submodule path '$path' not initialized"
|
say "Submodule path '$path' not initialized"
|
||||||
|
say "Maybe you want to use 'update --init'?"
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -196,4 +196,17 @@ test_expect_success 'apply submodule diff' '
|
|||||||
test -z "$D"
|
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
|
test_done
|
||||||
|
Loading…
Reference in New Issue
Block a user