As a service to users with Gitorious installed on their own server(s), we’ll be giving Gitorious a version number. We’re aiming at cutting releases on a semi-regular schedule (like once a month). Hopefully, this will make it easier to know if and how to upgrade your instance. We will provide a changelog that summarizes new features and bug fixes, and use a versioning scheme that says something about the extent of the upgrade.
We have not yet decided on the exact form of the versioning scheme, but here’s the general idea (thanks for good suggestions, chrashanddie). The version number will be four digits: Product.Major.Minor.Bugfix. We’ll start at 18.104.22.168. Here’s the intended meaning of each digit:
Obviously, bugfixes. Should be a no-brainer to apply.
Minor changes should apply cleanly simply by pulling it into an existing Gitorious setup. As such it may not require any configuration changes to preserve existing functionality.
Minor changes may include new features or minor changes/improvements to existing features. In some cases a feature may require changes/additions to configuration in order to apply.
Major changes may or may not apply cleanly without configuration changes. Major changes may also require changes to the database.
A major upgrade may substantially change existing features, introduce new ones that are in some way incompatible with existing functionality, and may even remove existing functionality.
This number will stay at 1 for the foreseeable future. It will change if we ever decide to significantly change the heart and soul of Gitorious.
As soon as the versioning scheme is landed and documented, we will cut the 22.214.171.124 release (or similar). Changes after that will be recorded in a changelog and released according to said scheme. We will keep gitorious.org on rolling deployment, so there may be several gitorious.org deployments per each release. Releases will be cut whenever they make sense, but as I said, we’ll aim at releasing something every month.
We need your feedback on this. Is this a good idea? A bad one? Any input on the versioning scheme? Let us know what you think!