action #164937
closedo3 logreport: warning: refname 'abc123...' is ambiguous size:S
0%
Description
Observation¶
We got these warnings on o3:
[2024-08-05T08:35:30.423569Z] [warn] [pid:24853] warning: refname '1b53ef6634d0d8e838c9726d42877bfd4dd13541' is ambiguous.
Git normally never creates a ref that ends with 40 hex characters
because it will be ignored when you just specify 40-hex. These refs
may be created by mistake. For example,
git switch -c $br $(git rev-parse ...)
where "$br" is somehow empty and a 40-hex ref is created. Please
examine these refs and maybe delete them. Turn this message off by
running "git config advice.objectNameWarning false"
fatal: Invalid revision range 1b53ef6634d0d8e838c9726d42877bfd4dd13541..6f8ff6e139e08ebeca34a51aa51143921653b586
[2024-08-05T08:35:30.435643Z] [warn] [pid:24853] warning: refname '1b53ef6634d0d8e838c9726d42877bfd4dd13541' is ambiguous.
Git normally never creates a ref that ends with 40 hex characters
because it will be ignored when you just specify 40-hex. These refs
may be created by mistake. For example,
git switch -c $br $(git rev-parse ...)
where "$br" is somehow empty and a 40-hex ref is created. Please
examine these refs and maybe delete them. Turn this message off by
running "git config advice.objectNameWarning false"
fatal: Invalid revision range 1b53ef6634d0d8e838c9726d42877bfd4dd13541..6f8ff6e139e08ebeca34a51aa51143921653b586
Here is a corresponding section of /var/log/openqa with the actual command:
[2024-08-05T10:26:20.652021Z] [info] [pid:30689] cmd returned 0
[2024-08-05T10:26:20.652173Z] [info] [pid:30689] Running cmd: timeout 20 git -C /var/lib/openqa/share/tests/opensuse diff --stat 7b4632e65cada83af24014845739c035866cd936..15f409df25ea44bd977dd619ad5e9d882fb8089
f
[2024-08-05T10:26:20.677917Z] [debug] [pid:30689] warning: refname '7b4632e65cada83af24014845739c035866cd936' is ambiguous.
Git normally never creates a ref that ends with 40 hex characters
because it will be ignored when you just specify 40-hex. These refs
may be created by mistake. For example,
git switch -c $br $(git rev-parse ...)
where "$br" is somehow empty and a 40-hex ref is created. Please
examine these refs and maybe delete them. Turn this message off by
running "git config advice.objectNameWarning false"
Running that command
timeout 20 git -C /var/lib/openqa/share/tests/opensuse diff --stat 7b4632e65cada83af24014845739c035866cd936..15f409df25ea44bd977dd619ad5e9d882fb8089
reproduces the warning.
I quickly looked up which job has that git ref:
https://openqa.opensuse.org/tests/4380936
But there are many more with CASEDIR: https://github.com/os-autoinst/os-autoinst-distri-opensuse.git#1b53ef6634d0d8e838c9726d42877bfd4dd13541
Acceptance criteria¶
- AC1: No more git warnings
Suggestions¶
- Check if there's a real problem, if not just turn it off as git suggests
- on o3: /var/lib/openqa/share/tests/opensuse do
git branch -a
and you will see a lot of git shas - This happens when the
git_auto_clone
feature is on and a job runs with `CASEDIR=https://github.com/os-autoinst/os-autoinst-distri-opensuse.git#abcdef - Lookup if we can use/generate refs according to what git considers valid
- Check how the cloning was implemented by @dheidler and if there is a bug
- https://github.com/os-autoinst/openQA/blob/master/lib/OpenQA/Task/Git/Clone.pm#L91
Updated by okurz 3 months ago
- Related to action #159171: Create and maintain up to date version of test distri/needles for webui size:M added
Updated by ybonatakis 3 months ago · Edited
first suggestion solves nothing at all. The only thing it does is to disable the ADVICE_OBJECT_NAME_WARNING which stops printing the long explanation but the warning will still be shown.
To me the proper solution looks like to delete the offending commit. in the case of this report is
commit 1b53ef6634d0d8e838c9726d42877bfd4dd13541 (1b53ef6634d0d8e838c9726d42877bfd4dd13541)
Merge: dc9aaaa36 35023b164
Author: Anton Smorodskyi <23258171+asmorodskyi@users.noreply.github.com>
Date: Mon Jul 22 17:04:01 2024 +0200
Merge pull request #19793 from asmorodskyi/zypper.log
Add zypper.log into solver archive```
Updated by tinita 3 months ago
The original ticket #159171 says that the repo should only be updated if
- it has the same origin url
- the requested branch is the same as the currently checked out branch
So the ticket was never about creating local branches or even branches for certain commit shas.
If the requested branch is different, then the code currently does
git fetch origin branchname:branchname
.
But it's not clear why this is necessary.
Updated by openqa_review 3 months ago
- Due date set to 2024-08-31
Setting due date based on mean cycle time of SUSE QE Tools
Updated by ybonatakis 3 months ago · Edited
- Status changed from In Progress to Feedback
As per git documentation the push/fetch can use in the form : with the difference that needs to be an named ref.
https://git-scm.com/docs/git-push#Documentation/git-push.txt-ltrefspecgt82308203
in our case whatever is the $requested_branch is passed as and . The second was a bug on our side.
Proposed solution https://github.com/os-autoinst/openQA/pull/5874
Updated by ybonatakis 3 months ago
- Status changed from Feedback to Resolved
Ended up with just remove the destination branch, as apparently is not used