# Getting rid of "hint: Using 'master' as the name for the initial branch." when initializing a repository with pygit

5 messages from 2022-02-01 to 2022-02-01. Participants: Michal Suchánek, Taylor Blau.
Thread: https://gitlist.dev/t/57351

## Michal Suchánek, 2022-02-01 18:41

Subject: Getting rid of "hint: Using 'master' as the name for the initial branch." when initializing a repository with pygit
Message-ID: <20220201184128.GT3113@kunlun.suse.cz>
URL: https://gitlist.dev/e/20220201184128.GT3113%40kunlun.suse.cz

```
Hello,

I am running some tests of a project that uses pygit, and the test
creates a test repository .. using pygit.

I noticed that in some environments the default branch warning is
displayed and not others because the git version varies.

The warning is just noise in the test log so I would like to avoid it,
and I would like to find a solution that works for git that predates the
introduction of this warning and the option to silence it as well as
the future git versions in which the default is subject to change.

AFAICT there is no clean way to do it. I can set up the global option to
whatever but I don't want to do that just to run tests.

I could set the repo local option but before calling
pygit2.init_repository() there is no repository to configure, and after
it is too late because I expect the message to be printed by this call.

Also I cannot rely on pygit to have some latest bells and whistles
because like git it varies across environments and the whole point of
running the test in different environments is to verify that it works
with whatever tool versions are avaialble there.

Any ideas?

Thanks

Michal

```

## Taylor Blau, 2022-02-01 19:52

Subject: Re: Getting rid of "hint: Using 'master' as the name for the initial branch." when initializing a repository with pygit
Message-ID: <YfmPiZZ/1RGzzfWE@nand.local>
URL: https://gitlist.dev/e/YfmPiZZ%2F1RGzzfWE%40nand.local
In-Reply-To: <20220201184128.GT3113@kunlun.suse.cz>

```
On Tue, Feb 01, 2022 at 07:41:28PM +0100, Michal Suchánek wrote:
> I noticed that in some environments the default branch warning is
> displayed and not others because the git version varies.
>
> The warning is just noise in the test log so I would like to avoid it,
> and I would like to find a solution that works for git that predates the
> introduction of this warning and the option to silence it as well as
> the future git versions in which the default is subject to change.
>
> AFAICT there is no clean way to do it. I can set up the global option to
> whatever but I don't want to do that just to run tests.

If you have set the init.defaultBranch configuration, we will suppress
the hint you're talking about.

Alternatively, you can make sure that `git init` is invoked with the
`-q` (quiet) flag, which suppresses that warning whether or not you have
set the init.defaultBranch config.

(Here, I'm assuming that the library you're talking about invokes the
git binary and respects its configuration. I'm not sure how much control
you have over the flags that get passed down to the git binary, though).

We could also make it possible to suppress just that advice (with
another advice.* configuration option), but it seems redundant with the
existence of the other two options I discussed above.

Thanks,
Taylor

```

## Michal Suchánek, 2022-02-01 19:59

Subject: Re: Getting rid of "hint: Using 'master' as the name for the initial branch." when not initializing a repository with pygit
Message-ID: <20220201195913.GV3113@kunlun.suse.cz>
URL: https://gitlist.dev/e/20220201195913.GV3113%40kunlun.suse.cz
In-Reply-To: <20220201184128.GT3113@kunlun.suse.cz>

```
On Tue, Feb 01, 2022 at 07:41:28PM +0100, Michal Suchánek wrote:
> Hello,
> 
> I am running some tests of a project that uses pygit, and the test
> creates a test repository .. using pygit.
> 
> I noticed that in some environments the default branch warning is
> displayed and not others because the git version varies.
> 
> The warning is just noise in the test log so I would like to avoid it,
> and I would like to find a solution that works for git that predates the
> introduction of this warning and the option to silence it as well as
> the future git versions in which the default is subject to change.
> 
> AFAICT there is no clean way to do it. I can set up the global option to
> whatever but I don't want to do that just to run tests.
> 
> I could set the repo local option but before calling
> pygit2.init_repository() there is no repository to configure, and after
> it is too late because I expect the message to be printed by this call.
> 
> Also I cannot rely on pygit to have some latest bells and whistles
> because like git it varies across environments and the whole point of
> running the test in different environments is to verify that it works
> with whatever tool versions are avaialble there.

Actually, I found that the code uses a mix of pygit2 and direct git
calls, and it's the direct call to git init that prints the warning
which can be fixed trivially by using pygit:
@@ -460,7 +460,7 @@ class TestMergeTool(unittest.TestCase):
         self.ks_dir = tempfile.mkdtemp(prefix="gs_ks")
         os.chdir(self.ks_dir)
 
-        subprocess.check_call(("git", "init", "./",), stdout=subprocess.DEVNULL)
+        pygit2.init_repository("./")
         subprocess.check_call(
             ("git", "config", "--add", "mergetool.git-sort.cmd",
              "%s $LOCAL $BASE $REMOTE $MERGED" % (

which begs the question how would I fix it if I was not using pygit. The
git version that does not produce the warning also does not support -b
so it cannot be be universally used with git init. Is there some
reasonable waey to detect this?

Thanks

Michal

```

## Michal Suchánek, 2022-02-01 20:02

Subject: Re: Getting rid of "hint: Using 'master' as the name for the initial branch." when initializing a repository with pygit
Message-ID: <20220201200246.GW3113@kunlun.suse.cz>
URL: https://gitlist.dev/e/20220201200246.GW3113%40kunlun.suse.cz
In-Reply-To: <YfmPiZZ/1RGzzfWE@nand.local>

```
On Tue, Feb 01, 2022 at 02:52:41PM -0500, Taylor Blau wrote:
> On Tue, Feb 01, 2022 at 07:41:28PM +0100, Michal Suchánek wrote:
> > I noticed that in some environments the default branch warning is
> > displayed and not others because the git version varies.
> >
> > The warning is just noise in the test log so I would like to avoid it,
> > and I would like to find a solution that works for git that predates the
> > introduction of this warning and the option to silence it as well as
> > the future git versions in which the default is subject to change.
> >
> > AFAICT there is no clean way to do it. I can set up the global option to
> > whatever but I don't want to do that just to run tests.
> 
> If you have set the init.defaultBranch configuration, we will suppress
> the hint you're talking about.

That's the problem - there is no way to pass the configuration when
using a library to create a repository.

> 
> Alternatively, you can make sure that `git init` is invoked with the
> `-q` (quiet) flag, which suppresses that warning whether or not you have
> set the init.defaultBranch config.

Yes, that is exactly the option that would do it.

Thanks

Michal

```

## Taylor Blau, 2022-02-01 20:15

Subject: Re: Getting rid of "hint: Using 'master' as the name for the initial branch." when initializing a repository with pygit
Message-ID: <YfmU+D7wB2ePMGTZ@nand.local>
URL: https://gitlist.dev/e/YfmU%2BD7wB2ePMGTZ%40nand.local
In-Reply-To: <20220201200246.GW3113@kunlun.suse.cz>

```
On Tue, Feb 01, 2022 at 09:02:46PM +0100, Michal Suchánek wrote:
> On Tue, Feb 01, 2022 at 02:52:41PM -0500, Taylor Blau wrote:
>
> > If you have set the init.defaultBranch configuration, we will suppress
> > the hint you're talking about.
>
> That's the problem - there is no way to pass the configuration when
> using a library to create a repository.

Of course; but I was suggesting that you set it in $HOME/.gitconfig, or
in your global /etc/gitconfig.

> > Alternatively, you can make sure that `git init` is invoked with the
> > `-q` (quiet) flag, which suppresses that warning whether or not you have
> > set the init.defaultBranch config.
>
> Yes, that is exactly the option that would do it.

OK, I assume that this means that you can pass custom flags down to `git
init` via the library you're using.

Thanks,
Taylor

```
