mirror of
https://github.com/TheLocehiliosan/yadm
synced 2025-06-04 00:23:58 +00:00
Make "yadm clone --recursive" work as expected.
The --recursive switch was ignored when YADM clones a dotfile repository. This commit causes "yadm clone --recursive" to also clone submodules in one go, similar to what GIT does when given the --recursive switch.
This commit is contained in:
parent
ec10041024
commit
e2048c0e0c
10
yadm
10
yadm
@ -795,6 +795,7 @@ function clone() {
|
||||
DO_BOOTSTRAP=1
|
||||
local -a args
|
||||
local -i do_checkout=1
|
||||
local -i do_submodules=0
|
||||
while [[ $# -gt 0 ]] ; do
|
||||
case "$1" in
|
||||
--bootstrap) # force bootstrap, without prompt
|
||||
@ -809,7 +810,10 @@ function clone() {
|
||||
-n|--no-checkout)
|
||||
do_checkout=0
|
||||
;;
|
||||
--bare|--mirror|--recurse-submodules*|--recursive|--separate-git-dir=*)
|
||||
--recursive)
|
||||
do_submodules=1
|
||||
;;
|
||||
--bare|--mirror|--recurse-submodules*|--separate-git-dir=*)
|
||||
# ignore arguments without separate parameter
|
||||
;;
|
||||
--separate-git-dir)
|
||||
@ -876,6 +880,10 @@ function clone() {
|
||||
"$GIT_PROGRAM" checkout -- ":/$file"
|
||||
done
|
||||
|
||||
if [[ $do_submodules -ne 0 ]]; then
|
||||
"$GIT_PROGRAM" submodule update --init --recursive
|
||||
fi
|
||||
|
||||
if [ -n "$("$GIT_PROGRAM" ls-files --modified)" ]; then
|
||||
local msg
|
||||
IFS='' read -r -d '' msg <<EOF
|
||||
|
Loading…
Reference in New Issue
Block a user