Learn more about these different git repos.
Other Git URLs
For #151, we need a way to describe the contents of a package repository tracked in git. It has to be able to define the commit history, i.e. what is/are the parent(s) of a commit, what's its log messages and what was changed—not generically, just a very limited set of things, e.g.:
changelog
As a starting point, here's a strawman in YAML which covers some basics:
--- - label: root commit log: initial import version: 1 release: 2 - label: convert to rpmautospec log: convert to rpmautospec release: "%autorelease" - label: bump version log: update to 1.1 version: 1.1 # branch 1 - label: tip of branch 1 log: freeze changelog changelog-contents: >- This is the changelog! # branch 2 - label: tip of branch 2 log: patch something parents: - convert to rpmautospec # merged history - log: merge branches parents: - tip of branch 1 - tip of branch 2
NB: The label field is just a unique reference to each commit, to allow describing ancestry between commits.
label
Metadata Update from @nphilipp: - Issue marked as blocking: #151 - Issue tagged with: F35 Change, SPIKE
Kinda almost minimum spec file for a template:
Summary: Boo Name: foo Version: 1 Release: 1 License: CC0 %description Hello %prep %build %install %files %changelog
Maybe Epoch too since we have the logic in our code.
Metadata Update from @nphilipp: - Issue assigned to dkirwan
Yeah we should be able to set the epoch, but the field shouldn't always be in the spec file.
Example yaml
- label: root commit log: initial import version: 1 release: 1 parents: - root changelog: >- First commit in the repo - label: convert to rpmautospec log: convert to rpmautospec release: "%autorelease" version: 1 changelog: >- Converted specfile to begin using rpmautospec # branch 1 - label: tip of branch 1 log: freeze changelog version: 1 release: "%autorelease" changelog: >- Tip of branch 1 parents: - convert to rpmautospec - label: commit on branch 1 log: I expect this to handle branching version: 1 release: "%autorelease" changelog: >- This is a commit on branch 1 # branch 2 - label: tip of branch 2 log: patch something version: 1 release: "%autorelease" parents: - convert to rpmautospec changelog: >- Tip of branch 2 # merged history - label: merge branches log: Something about something version: 2 release: "%autorelease" parents: - tip of branch 1 - tip of branch 2 changelog: >- Merge the branches 1 and 2 - label: new version released log: Version 2 version: 2 release: "%autorelease" changelog: >- New version released - label: version 2 patch log: Patch to version 2 feature version: 2 release: "%autorelease" changelog: >- Patch to version 2 - label: Add epoch field log: Override version with Epoch field epoch: "Epoch: 3" version: 2 release: "%autorelease" changelog: >- Override version with Epoch field 3
Sample spec template:
Summary: Boo Name: foo {epoch} Version: {version} Release: {release} License: CC0 %description Hello %prep %build %install %files %changelog {changelog}
This looks done to me, closing.
Metadata Update from @nphilipp: - Issue close_status updated to: Fixed - Issue status updated to: Closed (was: Open)
Log in to comment on this ticket.