checkupdates: fix get_upstream_main_branch() for Debian/forky

```
FAIL: test_get_upstream_main_branch (tests.test_checkupdates.CheckupdatesTest.test_get_upstream_main_branch)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builds/fdroid/fdroidserver/tests/test_checkupdates.py", line 509, in test_get_upstream_main_branch
    self.assertEqual(
    ~~~~~~~~~~~~~~~~^
        f'upstream/{testvalue}',
        ^^^^^^^^^^^^^^^^^^^^^^^^
        branch,
        ^^^^^^^
        f'The default branch should be called {testvalue}!',
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
AssertionError: 'upstream/foo' != 'upstream/main'
- upstream/foo
+ upstream/main
 : The default branch should be called foo!
```
This commit is contained in:
Hans-Christoph Steiner 2025-09-17 15:02:31 +02:00 committed by linsui
parent c9c5147cac
commit 8b11e098db

View file

@ -691,11 +691,15 @@ def get_last_build_from_app(app: metadata.App) -> metadata.Build:
def get_upstream_main_branch(git_repo): def get_upstream_main_branch(git_repo):
if len(git_repo.remotes.upstream.refs) == 1: refs = list()
return git_repo.remotes.upstream.refs[0].name for ref in git_repo.remotes.upstream.refs:
for name in ('main', 'master'): if ref.name != 'upstream/HEAD':
if name in git_repo.remotes.upstream.refs: refs.append(ref.name)
return f'upstream/{name}' if len(refs) == 1:
return refs[0]
for name in ('upstream/main', 'upstream/master'):
if name in refs:
return name
try: try:
with git_repo.config_reader() as reader: with git_repo.config_reader() as reader:
return 'upstream/%s' % reader.get_value('init', 'defaultBranch') return 'upstream/%s' % reader.get_value('init', 'defaultBranch')