-
-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RFC] Versioning scheme for commit-based versioning #1907
Comments
Tildes serve a specific purpose in RPM versioning, so I would be more inclined to use a hyphen instead if the VCS identifier needs to be separated from commit ID (not sure what the RPM restriction that you mentioned is), i.e. I agree that the common <date><scm><version> is a mess without any visual separation, and the simple <date>.<revision> is inadequate when not prepended with ^ or ~ when used for packages that have never had a proper release. If we were being consistent with upstream Fedora here, all of these packages should really have a major version of 0, as in That being said, I like that you're trying to do something better here. Another option is to incorporate the + sign, since it doesn't do anything in RPM. |
tildes are reserved for specifying the release only, so you'd need something else. Right now we'll use tildes |
Yes,
You can't.
it doesn't have the same effect as |
@korewaChino As mado said, tildes are reserved for sorting a version lower than its major version, i.e.
|
So this format |
Right now, the unwritten rule for commit/snapshot-based RPM package is to version it using this format:
This is not documented very well, and we may get inconsistent versioning from various contributors for nightly or any packages without a proper release.
I propose a universal, consistent versioning scheme for Terra packages that do not have a concrete release tag upstream or builds from a specific commit.
The format is as follows:
The date of the commit (In a
YYYYMMDD
Format)The VCS used (i.e Git), should be shortened to 3 characters, at most 4. For example:
git
svn
cvs
bzr
hg
p4
pjl
tfs
darc
fsl
The snapshot/commit ID of said VCS that it built from, with a tilde (
~
) separating the VCS and commit ID to work around RPM restrictions (7 Characters for Git SHA256 hashes and other short-form IDs for other VCSes)So for example, a Git-based package would be named this:
We should also document a workflow for at least Git, to use macros when doing Git commits, or write our own macro to shorten SHA hashes.
The text was updated successfully, but these errors were encountered: