git submodule summary: add --files option
git submodule summary is providing similar functionality for submodules as git diff-index does for a git project (including the meaning of --cached). But the analogon to git diff-files is missing, so add a --files option to summarize the differences between the index of the super project and the last commit checked out in the working tree of the submodule. Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
6ffd781226
commit
1c244f6ee5
@ -4,7 +4,7 @@
|
||||
#
|
||||
# Copyright (c) 2007 Lars Hjemli
|
||||
|
||||
USAGE="[--quiet] [--cached] \
|
||||
USAGE="[--quiet] [--cached|--files] \
|
||||
[add [-b branch] <repo> <path>]|[status|init|update [-i|--init] [-N|--no-fetch] [--rebase|--merge]|summary [-n|--summary-limit <n>] [<commit>]] \
|
||||
[--] [<path>...]|[foreach <command>]|[sync [--] [<path>...]]"
|
||||
OPTIONS_SPEC=
|
||||
@ -16,6 +16,7 @@ command=
|
||||
branch=
|
||||
reference=
|
||||
cached=
|
||||
files=
|
||||
nofetch=
|
||||
update=
|
||||
|
||||
@ -460,6 +461,7 @@ set_name_rev () {
|
||||
cmd_summary() {
|
||||
summary_limit=-1
|
||||
for_status=
|
||||
diff_cmd=diff-index
|
||||
|
||||
# parse $args after "submodule ... summary".
|
||||
while test $# -ne 0
|
||||
@ -468,6 +470,9 @@ cmd_summary() {
|
||||
--cached)
|
||||
cached="$1"
|
||||
;;
|
||||
--files)
|
||||
files="$1"
|
||||
;;
|
||||
--for-status)
|
||||
for_status="$1"
|
||||
;;
|
||||
@ -504,9 +509,17 @@ cmd_summary() {
|
||||
head=HEAD
|
||||
fi
|
||||
|
||||
if [ -n "$files" ]
|
||||
then
|
||||
test -n "$cached" &&
|
||||
die "--cached cannot be used with --files"
|
||||
diff_cmd=diff-files
|
||||
head=
|
||||
fi
|
||||
|
||||
cd_to_toplevel
|
||||
# Get modified modules cared by user
|
||||
modules=$(git diff-index $cached --raw $head -- "$@" |
|
||||
modules=$(git $diff_cmd $cached --raw $head -- "$@" |
|
||||
egrep '^:([0-7]* )?160000' |
|
||||
while read mod_src mod_dst sha1_src sha1_dst status name
|
||||
do
|
||||
@ -520,7 +533,7 @@ cmd_summary() {
|
||||
|
||||
test -z "$modules" && return
|
||||
|
||||
git diff-index $cached --raw $head -- $modules |
|
||||
git $diff_cmd $cached --raw $head -- $modules |
|
||||
egrep '^:([0-7]* )?160000' |
|
||||
cut -c2- |
|
||||
while read mod_src mod_dst sha1_src sha1_dst status name
|
||||
|
Reference in New Issue
Block a user