# [PATCH] git-submodule.sh: setup uninitialized variables

3 messages from 2020-04-02 to 2020-04-03. Participants: Jiang Xin, Eric Sunshine.
Thread: https://gitlist.dev/t/53157

## Jiang Xin, 2020-04-02 08:42

Subject: [PATCH] git-submodule.sh: setup uninitialized variables
Message-ID: <20200402084251.85840-1-zhiyou.jx@alibaba-inc.com>
URL: https://gitlist.dev/e/20200402084251.85840-1-zhiyou.jx%40alibaba-inc.com

```
From: xuejiang <xuejiang@alibaba-inc.com>

We have an environment variable `jobs=16` defined in our CI system, and
this environment makes our build job failed with the following message:

    error: pathspec '16' did not match any file(s) known to git

The pathspect '16' for Git command is from the environment variable
"jobs".

This is because "git-submodule" command is implemented in shell script,
and environment variables may change its behavior.  Set values for
uninitialized variables, such as "jobs" and "recommend_shallow" will
fix this issue.

Helped-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Li Xuejiang <xuejiang@alibaba-inc.com>
---
 git-submodule.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/git-submodule.sh b/git-submodule.sh
index 1cb2c0a31b..d69d24a857 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -43,6 +43,8 @@ custom_name=
 depth=
 progress=
 dissociate=
+jobs=
+recommend_shallow=
 
 die_if_unmatched ()
 {
-- 
2.20.1.7.g153144c


```

## Eric Sunshine, 2020-04-02 15:11

Subject: Re: [PATCH] git-submodule.sh: setup uninitialized variables
Message-ID: <CAPig+cTp3AhYXX_cjU48yLyMHBF1fOgwHw2ZC5rGWvYFE_bmQw@mail.gmail.com>
URL: https://gitlist.dev/e/CAPig%2BcTp3AhYXX_cjU48yLyMHBF1fOgwHw2ZC5rGWvYFE_bmQw%40mail.gmail.com
In-Reply-To: <20200402084251.85840-1-zhiyou.jx@alibaba-inc.com>

```
On Thu, Apr 2, 2020 at 4:43 AM Jiang Xin <worldhello.net@gmail.com> wrote:
> We have an environment variable `jobs=16` defined in our CI system, and
> this environment makes our build job failed with the following message:
>
>     error: pathspec '16' did not match any file(s) known to git
>
> The pathspect '16' for Git command is from the environment variable
> "jobs".

s/pathspect/pathspec/

> This is because "git-submodule" command is implemented in shell script,
> and environment variables may change its behavior.  Set values for
> uninitialized variables, such as "jobs" and "recommend_shallow" will
> fix this issue.
>
> Helped-by: Jiang Xin <worldhello.net@gmail.com>
> Signed-off-by: Li Xuejiang <xuejiang@alibaba-inc.com>

```

## Jiang Xin, 2020-04-03 02:56

Subject: Re: [PATCH] git-submodule.sh: setup uninitialized variables
Message-ID: <CANYiYbE0DwRNpfGpX-dsiCF0i5avWYqqNLqOsGRAUJcgceUA4w@mail.gmail.com>
URL: https://gitlist.dev/e/CANYiYbE0DwRNpfGpX-dsiCF0i5avWYqqNLqOsGRAUJcgceUA4w%40mail.gmail.com
In-Reply-To: <CAPig+cTp3AhYXX_cjU48yLyMHBF1fOgwHw2ZC5rGWvYFE_bmQw@mail.gmail.com>

```
Eric Sunshine <sunshine@sunshineco.com> 于2020年4月2日周四 下午11:11写道：
>
> On Thu, Apr 2, 2020 at 4:43 AM Jiang Xin <worldhello.net@gmail.com> wrote:
> > We have an environment variable `jobs=16` defined in our CI system, and
> > this environment makes our build job failed with the following message:
> >
> >     error: pathspec '16' did not match any file(s) known to git
> >
> > The pathspect '16' for Git command is from the environment variable
> > "jobs".
>
> s/pathspect/pathspec/

Thanks, Eric.  I find Junio has already fixed the typo in his feature branch:

* https://github.com/gitster/git/commits/lx/submodule-clear-variables

```
