projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
builtin-remote: add set-head subcommand
[git.git]
/
git-submodule.sh
diff --git
a/git-submodule.sh
b/git-submodule.sh
index 220d94ec0c53c9d6c4535d1e50f5d1cb9dc99689..204aab671ef78edc24acff4019a2f40a71a59020 100755
(executable)
--- a/
git-submodule.sh
+++ b/
git-submodule.sh
@@
-5,7
+5,7
@@
# Copyright (c) 2007 Lars Hjemli
USAGE="[--quiet] [--cached] \
# Copyright (c) 2007 Lars Hjemli
USAGE="[--quiet] [--cached] \
-[add <repo> [-b branch] <path>]|[status|init|update [-i|--init]|summary [-n|--summary-limit <n>] [<commit>]] \
+[add <repo> [-b branch] <path>]|[status|init|update [-i|--init]
[-N|--no-fetch]
|summary [-n|--summary-limit <n>] [<commit>]] \
[--] [<path>...]|[foreach <command>]|[sync [--] [<path>...]]"
OPTIONS_SPEC=
. git-sh-setup
[--] [<path>...]|[foreach <command>]|[sync [--] [<path>...]]"
OPTIONS_SPEC=
. git-sh-setup
@@
-16,6
+16,7
@@
command=
branch=
quiet=
cached=
branch=
quiet=
cached=
+nofetch=
#
# print stuff on stdout unless -q was specified
#
# print stuff on stdout unless -q was specified
@@
-59,7
+60,7
@@
resolve_relative_url ()
#
module_list()
{
#
module_list()
{
- git ls-files --stage -- "$@" | grep '^160000 '
+ git ls-files --
error-unmatch --
stage -- "$@" | grep '^160000 '
}
#
}
#
@@
-300,6
+301,10
@@
cmd_update()
shift
cmd_init "$@" || return
;;
shift
cmd_init "$@" || return
;;
+ -N|--no-fetch)
+ shift
+ nofetch=1
+ ;;
--)
shift
break
--)
shift
break
@@
-345,8
+350,16
@@
cmd_update()
then
force="-f"
fi
then
force="-f"
fi
- (unset GIT_DIR; cd "$path" && git-fetch &&
- git-checkout $force -q "$sha1") ||
+
+ if test -z "$nofetch"
+ then
+ (unset GIT_DIR; cd "$path" &&
+ git-fetch) ||
+ die "Unable to fetch in submodule path '$path'"
+ fi
+
+ (unset GIT_DIR; cd "$path" &&
+ git-checkout $force -q "$sha1") ||
die "Unable to checkout '$sha1' in submodule path '$path'"
say "Submodule path '$path': checked out '$sha1'"
die "Unable to checkout '$sha1' in submodule path '$path'"
say "Submodule path '$path': checked out '$sha1'"
@@
-413,7
+426,7
@@
cmd_summary() {
test $summary_limit = 0 && return
test $summary_limit = 0 && return
- if rev=$(git rev-parse -
-verify "$1^0" 2>/dev/null
)
+ if rev=$(git rev-parse -
q --verify "$1^0"
)
then
head=$rev
shift
then
head=$rev
shift
@@
-464,11
+477,11
@@
cmd_summary() {
missing_dst=
test $mod_src = 160000 &&
missing_dst=
test $mod_src = 160000 &&
- ! GIT_DIR="$name/.git" git-rev-parse -
-verify $sha1_src^0 >/dev/null 2>&1
&&
+ ! GIT_DIR="$name/.git" git-rev-parse -
q --verify $sha1_src^0 >/dev/null
&&
missing_src=t
test $mod_dst = 160000 &&
missing_src=t
test $mod_dst = 160000 &&
- ! GIT_DIR="$name/.git" git-rev-parse -
-verify $sha1_dst^0 >/dev/null 2>&1
&&
+ ! GIT_DIR="$name/.git" git-rev-parse -
q --verify $sha1_dst^0 >/dev/null
&&
missing_dst=t
total_commits=
missing_dst=t
total_commits=