git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Michal Suchánek <msuchanek@suse.de>
Date
Feb 1, 2022, 19:59 UTC
Message-ID
<20220201195913.GV3113@kunlun.suse.cz>
In-Reply-To
<20220201184128.GT3113@kunlun.suse.cz>
On Tue, Feb 01, 2022 at 07:41:28PM +0100, Michal Suchánek wrote:
Show 24 quoted lines
> 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
Previous: Taylor Blau
Message 5 of 5 in “Getting rid of "hint: Using 'master' as the name for the initial branch." when initializing a repository with pygit”
  1. Michal SuchánekFeb 1, 2022
  2. Taylor BlauFeb 1, 2022
  3. Michal SuchánekFeb 1, 2022
  4. Taylor BlauFeb 1, 2022
  5. Michal SuchánekFeb 1, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.