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

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
88/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
git, python
Domain
build-system

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.

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):

name: project
min-version: 2.6
element-path: elements
ref-storage: project.refs
aliases:
  my: <repo_name>
plugins:
- origin: pip
  package-name: buildstream-plugins
  sources:
  - git
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.

Dominant language
Python
Stars
8
Forks
16
Avg merge
36m
Merged PRs (30d)
2

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from apache/buildstream-plugins

All issues in apache/buildstream-plugins

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.