From: Stefan Beller <sbeller@google.com>
To: git@vger.kernel.org, gitster@pobox.com
Cc: pclouds@gmail.com, Jens.Lehmann@web.de, jacob.keller@gmail.com,
Stefan Beller <sbeller@google.com>
Subject: [PATCH 3/4] submodule--helper list: lose the extra prefix option
Date: Thu, 24 Mar 2016 16:34:27 -0700 [thread overview]
Message-ID: <1458862468-12460-4-git-send-email-sbeller@google.com> (raw)
In-Reply-To: <1458862468-12460-1-git-send-email-sbeller@google.com>
The usual early machinery of Git is to change the directory to
the top level of the working tree and pass the actual path inside
the working tree as `prefix` to the command being run.
This is the case both for commands written in C (where the
prefix is passed into the command in a function parameter) as
well as in git-submodule.sh where the setup code runs
wt_prefix=$(git rev-parse show-prefix)
cd_to_top_level
So the prefix passed into the `submodule--helper list` is actually
the relative path inside the working tree, but we were not using
the standard way of passing it through.
Adhere to Gits standard of passing the relative path inside the
working tree by passing it via -C.
We do not need to pass it for `submodule foreach` as that command
doesn't take further arguments ('$@') to operate on a subset of
submodules, such that it is irrelevant for listing the submodules.
The computation of the displaypath ('Entering <path>') is done
separately there.
Signed-off-by: Stefan Beller <sbeller@google.com>
---
builtin/submodule--helper.c | 5 +----
git-submodule.sh | 12 ++++++------
2 files changed, 7 insertions(+), 10 deletions(-)
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index ed764c9..2983783 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -68,14 +68,11 @@ static int module_list(int argc, const char **argv, const char *prefix)
struct module_list list = MODULE_LIST_INIT;
struct option module_list_options[] = {
- OPT_STRING(0, "prefix", &prefix,
- N_("path"),
- N_("alternative anchor for relative paths")),
OPT_END()
};
const char *const git_submodule_helper_usage[] = {
- N_("git submodule--helper list [--prefix=<path>] [<path>...]"),
+ N_("git submodule--helper list [<path>...]"),
NULL
};
diff --git a/git-submodule.sh b/git-submodule.sh
index 6b18a03..1f7ad6e 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -407,7 +407,7 @@ cmd_foreach()
# command in the subshell (and a recursive call to this function)
exec 3<&0
- git submodule--helper list --prefix "$wt_prefix"|
+ git submodule--helper list |
while read mode sha1 stage sm_path
do
die_if_unmatched "$mode"
@@ -467,7 +467,7 @@ cmd_init()
shift
done
- git submodule--helper list --prefix "$wt_prefix" "$@" |
+ git -C "$wt_prefix" submodule--helper list "$@" |
while read mode sha1 stage sm_path
do
die_if_unmatched "$mode"
@@ -549,7 +549,7 @@ cmd_deinit()
die "$(eval_gettext "Use '.' if you really want to deinitialize all submodules")"
fi
- git submodule--helper list --prefix "$wt_prefix" "$@" |
+ git -C "$wt_prefix" submodule--helper list "$@" |
while read mode sha1 stage sm_path
do
die_if_unmatched "$mode"
@@ -683,7 +683,7 @@ cmd_update()
fi
cloned_modules=
- git submodule--helper list --prefix "$wt_prefix" "$@" | {
+ git -C "$wt_prefix" submodule--helper list "$@" | {
err=
while read mode sha1 stage sm_path
do
@@ -1121,7 +1121,7 @@ cmd_status()
shift
done
- git submodule--helper list --prefix "$wt_prefix" "$@" |
+ git -C "$wt_prefix" submodule--helper list "$@" |
while read mode sha1 stage sm_path
do
die_if_unmatched "$mode"
@@ -1199,7 +1199,7 @@ cmd_sync()
esac
done
cd_to_toplevel
- git submodule--helper list --prefix "$wt_prefix" "$@" |
+ git -C "$wt_prefix" submodule--helper list "$@" |
while read mode sha1 stage sm_path
do
die_if_unmatched "$mode"
--
2.8.0.rc4.10.g52f3f33
next prev parent reply other threads:[~2016-03-24 23:34 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-24 23:34 [PATCHv2 0/4] submodule helper: cleanup prefix passing Stefan Beller
2016-03-24 23:34 ` [PATCH 1/4] submodule: fix recursive path printing from non root directory Stefan Beller
2016-03-24 23:38 ` Jacob Keller
2016-03-24 23:44 ` Stefan Beller
2016-03-25 16:43 ` Junio C Hamano
2016-03-25 16:54 ` Stefan Beller
2016-03-24 23:34 ` [PATCH 2/4] submodule: fix recursive execution " Stefan Beller
2016-03-24 23:41 ` Jacob Keller
2016-03-25 16:46 ` Junio C Hamano
2016-03-25 17:27 ` Stefan Beller
2016-03-24 23:34 ` Stefan Beller [this message]
2016-03-24 23:44 ` [PATCH 3/4] submodule--helper list: lose the extra prefix option Jacob Keller
2016-03-25 6:28 ` Junio C Hamano
2016-03-25 16:02 ` Junio C Hamano
2016-03-25 17:25 ` Junio C Hamano
2016-03-25 17:31 ` Stefan Beller
2016-03-25 16:49 ` Stefan Beller
2016-03-25 17:01 ` Junio C Hamano
2016-03-25 17:05 ` Stefan Beller
2016-03-25 18:32 ` Junio C Hamano
2016-03-24 23:34 ` [PATCH 4/4] submodule: add more tests for recursive submodule behavior Stefan Beller
2016-03-25 0:25 ` Eric Sunshine
2016-03-25 0:33 ` Stefan Beller
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
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1458862468-12460-4-git-send-email-sbeller@google.com \
--to=sbeller@google.com \
--cc=Jens.Lehmann@web.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jacob.keller@gmail.com \
--cc=pclouds@gmail.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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
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 read-only IMAP folder(s) and NNTP newsgroup(s).