Re: [PATCH 2/4] submodule.c: uninitialized submodules are ignored in recursive commands
- From
- Brandon Williams <bmwill@google.com>
- Date
- Apr 13, 2017, 19:05 UTC
- Message-ID
- <20170413190541.GD96917@google.com>
- In-Reply-To
- <20170411234923.1860-3-sbeller@google.com>
On 04/11, Stefan Beller wrote:
Show 36 quoted lines
> This was an oversight when working on the working tree modifying commands
> recursing into submodules.
>
> To test for uninitialized submodules, introduce another submodule, that is
> uninitialized in the actual tests. By adding it to the branch "add_sub1",
> which is the starting point of all other branches, we have wide coverage.
>
> Signed-off-by: Stefan Beller <sbeller@google.com>
> ---
> submodule.c | 3 +++
> t/lib-submodule-update.sh | 1 +
> 2 files changed, 4 insertions(+)
>
> diff --git a/submodule.c b/submodule.c
> index c52d6634c5..2fa42519a4 100644
> --- a/submodule.c
> +++ b/submodule.c
> @@ -1332,6 +1332,9 @@ int submodule_move_head(const char *path,
> struct child_process cp = CHILD_PROCESS_INIT;
> const struct submodule *sub;
>
> + if (!is_submodule_initialized(path))
> + return 0;
> +
> sub = submodule_from_path(null_sha1, path);
>
> if (!sub)
> diff --git a/t/lib-submodule-update.sh b/t/lib-submodule-update.sh
> index fb4f7b014e..22dd9e060c 100755
> --- a/t/lib-submodule-update.sh
> +++ b/t/lib-submodule-update.sh
> @@ -73,6 +73,7 @@ create_lib_submodule_repo () {
>
> git checkout -b "add_sub1" &&
> git submodule add ../submodule_update_sub1 sub1 &&
> + git submodule add ../submodule_update_sub1 uninitialized_sub &&The 'submodule add' command will make the submodule active, so you'll need to add in a line to subsequently make the submodule inactive for this to work, unless you do in at a later point in time.
Show 6 quoted lines
> git config -f .gitmodules submodule.sub1.ignore all && > git config submodule.sub1.ignore all && > git add .gitmodules && > -- > 2.12.2.603.g7b28dc31ba >
-- Brandon Williams