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