apache / apache/buildstream-plugins
git source: bst show --format %{source-info} crashes with BUG 'NoneType' object has no attribute 'rsplit' on untracked source
- Dominant language
- Python
- Stars
- 8
- Forks
- 16
- Avg merge
- 36m
- Merged PRs (30d)
- 2
Description
**Environment**
- BuildStream 2.7.0
- buildstream-plugins 2.5.0 (git source)
- Python 3.11
**Steps to reproduce**
Create a project with an element having a git source WITHOUT a ref(never tracked):
``` project.con
name: project
min-version: 2.6
element-path: elements
ref-storage: project.refs
aliases:
my:
plugins:
- origin: pip
package-name: buildstream-plugins
sources:
- git
```
```elements/target.bst
kind: import
sources:
- kind: git
url: my:one/.git
track: master
```
**Run:**
`bst show target.bst --format '%{source-info}'`
**Actual result**
```
BUG 'NoneType' object has no attribute 'rsplit'
buildstream_plugins/sources/git.py, line 1084, in _guess_version
main_split = string.rsplit("-g", 1)
```
**Expected result**
source-info should render (version=None or omit) without crashing —
bst show must not fail because one source is not yet tracked.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in buildstream_plugins/sources/git.py at _guess_version around line 1084, then reproduce the issue with the provided untracked git source and bst show target.bst --format '%{source-info}'. Ensure source-info renders when the source has no ref, with version=None or omitted, and that bst show no longer crashes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, python
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 88/100