apache / apache/buildstream-plugins

git source: bst show --format %{source-info} crashes with BUG 'NoneType' object has no attribute 'rsplit' on untracked source

Open Beginner friendly
#110 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.