Re: [PATCH v5 1/2] add: add --ignore-submodules[=<when>] parameter
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Apr 23, 2014, 20:25 UTC
- Message-ID
- <CAPig+cTyANC34jbeH1EzaWsJMnVemjSGEDB8b2s9VuRqAYwMng@mail.gmail.com>
- In-Reply-To
- <5356DB37.8020209@gmail.com>
On Tue, Apr 22, 2014 at 5:12 PM, Ronald Weiss <weiss.ronald@gmail.com> wrote:
Show 6 quoted lines
> Allow ignoring submodules (or not) by command line switch, like diff > and status do. > > This commit is also a prerequisite for the next one in series, which > adds the --ignore-submodules switch to git commit. That's why a new > argument is added to public function add_files_to_cache(), and it's
s/it's/its/
Show 25 quoted lines
> call sites are updated to pass NULL. > > Signed-off-by: Ronald Weiss <weiss.ronald@gmail.com> > --- > diff --git a/Documentation/git-add.txt b/Documentation/git-add.txt > index 9631526..b2c936f 100644 > --- a/Documentation/git-add.txt > +++ b/Documentation/git-add.txt > @@ -11,7 +11,7 @@ SYNOPSIS > 'git add' [-n] [-v] [--force | -f] [--interactive | -i] [--patch | -p] > [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]] > [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing] > - [--] [<pathspec>...] > + [--ignore-submodules[=<when>]] [--] [<pathspec>...] > > DESCRIPTION > ----------- > @@ -164,6 +164,11 @@ for "git add --no-all <pathspec>...", i.e. ignored removed files. > be ignored, no matter if they are already present in the work > tree or not. > > +--ignore-submodules[=<when>]:: > + Can be used to override any settings of the 'submodule.*.ignore' > + option in linkgit:git-config[1] or linkgit:gitmodules[5]. > + <when> can be either "none" or "all", which is the default.
The "which is the default" clause reads ambiguously. It's not clear whether you mean "none" is the default or "all" is the default.
Show 20 quoted lines
> \--:: > This option can be used to separate command-line options from > the list of files, (useful when filenames might be mistaken > diff --git a/t/t3704-add-ignore-submodules.sh b/t/t3704-add-ignore-submodules.sh > new file mode 100755 > index 0000000..db58f0c > --- /dev/null > +++ b/t/t3704-add-ignore-submodules.sh > @@ -0,0 +1,45 @@ > +#!/bin/sh > +# > +# Copyright (c) 2014 Ronald Weiss > +# > + > +test_description='Test of git add with ignoring submodules' > + > +. ./test-lib.sh > + > +test_expect_success 'create dirty submodule' ' > + test_create_repo sm && (
It's conventional for the opening '(' to be placed on a line by itself.Show 9 quoted lines
> + cd sm && > + >foo && > + git add foo && > + git commit -m "Add foo" > + ) && > + git submodule add ./sm && > + git commit -m "Add sm" && ( > + cd sm && > + echo bar >> foo &&
s/>> />>/
Show 27 quoted lines
> + git add foo && > + git commit -m "Update foo" > + ) > +' > + > +test_expect_success 'add --ignore-submodules ignores submodule' ' > + git reset && > + git add -u --ignore-submodules && > + git diff --cached --exit-code --ignore-submodules=none > +' > + > +test_expect_success 'add --ignore-submodules=all ignores submodule' ' > + git reset && > + git add -u --ignore-submodules=all && > + git diff --cached --exit-code --ignore-submodules=none > +' > + > +test_expect_success 'add --ignore-submodules=none overrides ignore=all from config' ' > + git reset && > + git config submodule.sm.ignore all && > + git add -u --ignore-submodules=none && > + test_must_fail git diff --cached --exit-code --ignore-submodules=none > +' > + > +test_done > -- > 1.9.1.3.g7790cde.dirty