-
Notifications
You must be signed in to change notification settings - Fork 36
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
[question] Why are versions tracked with branches rather than tags? #1364
Comments
Your question all aiming at git repositories that hold one recipe.
Yes, like the entire idea of git, being able to go back in time to understabd changes and decisions is important. Moreover, the version numbers are the versions of the software we do package. As an example: For SDL2 it would be Let's say we have initially published a This works with branches, but would not work with git tags as tags are supposed to be a frozen, concrete target.
The default branches in the repositories are the
There is no permanent default branch as the default branch changes with each new version of the software we package. New versioned branches are almost always based on the currently latest branches and therefore contain its commits up the point of time of its creations. That said, no, there is no general merging of everything into a specific branch. Please note that all of this information only applies to git repositories that hold a single Conan recipe (in different versions). This is a workflow we are currently phasing-out and replacing with a monolithic repository workflow, i.e. a single git repository with many different Conan recipes. Have a look in this very repository to check that out (the |
Thanks so much for the quick and thorough response! Given that conan recipes are mutable, it makes sense then that tags would not work. I still have some outstanding questions as well as some new ones based on your feedback.
And possibly to save you the trouble of responding, is there a place that documents the branching strategy? |
I'd be interested in this too @Croydon |
Beyond going through the git history and looking for commits along the lines of "update to/add x.y.z" not really. On the server side, Conan is saving a timestamp for Conan revision, but I'm not sure if this could be easily gatherd by Conan clients.
No, since every recipe for every version can be updated even after there is already a recipe for a newer version. There is no real reason why commit specifically for an older version should be merged into a branch for a newer version when it does not apply for it
Not necessary.
Yes, there are many downsides, that is also the reason why we moving away from this workflow
Testing packages were never uploaded and only existed in git and temporarily in the CI systems. Instead of using explicit
No clear documentation about this unfortunately. |
I am trying to understand the system used to mark releases. I have been unable to find any documentation or github issue that addresses my questions of how branches should be used.
I found this issue which suggests that there is a preferred convention for branches but am unclear what that is #828
It looks like most bincrafters conan repositories use branches to track work for different versions as well as different channels, ie. separate branches for "stable/1.0.0" vs "stable/1.2.0" vs "testing/1.2.0". Once these versions have been released, does the persistence of the branches serve a purpose? Is there a convention for telling when a channel/version was officially "released"? Do all branches necessarily merge back into a default branch?
The text was updated successfully, but these errors were encountered: