Skip to content
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

Adopt Semver-compatible version branches #12

Open
juho-jaakkola opened this issue Jan 13, 2016 · 3 comments
Open

Adopt Semver-compatible version branches #12

juho-jaakkola opened this issue Jan 13, 2016 · 3 comments

Comments

@juho-jaakkola
Copy link
Contributor

This has been discussed shortly earlier, but I add it here again so there's a place for conversation.

There's apparently the need to support quite a wide range of platforms and PHP versions, so I think the project would benefit from adopting branches that would be compatible with Semver (http://semver.org/).

Each incompatible library version would get it's own git branch.

  • Bugfixes would go to the lowest supported patch branch
  • New backwards compatible changes would go to lowest supported minor branch
  • Changes that are completely backwards incompatible would go to major branch

Or perhaps the two first ones could use the same branch, so that only distinction between branches would be the incompatible changes:

  • 1.x
  • 2.x
  • 3.x
  • etc.

This way a framework plugin that uses, say, version 2.1.4 of the library could safely upgrade directly to 2.6.0 without worrying about the integration getting broken.

This would also allow developing for multiple PHP versions at the time, as the supported version could be different for each branch. E.g:

  • 1.x Would still support PHP 5.2 (wouldn't use any functions or features introduced in PHP 5.3+)
  • 2.x Would require 5.4, and drop support for 5.2 and 5.3
  • 3.x Etc.
@falcon-git
Copy link
Member

I agree with you that we should do this, or at least something like this. The question is when I think.

Each branch we commit to maintain has a cost, and with only three developers in the H5P Core team we have to keep the costs low. We're getting more people on board and hopefully we will be able to take on something like this pretty soon.

@juho-jaakkola
Copy link
Contributor Author

Yes, that's why I think it might be best to forget separate branches for each minor release and have just a branch for each major version. That way the maintenance burden is not that bad.

Also git merge command helps. Thanks to it you don't have to commit same fixes manually to all branches, but just merge them up from the lower branches.

@falcon-git
Copy link
Member

I know, but right now we only have one version of the H5P PHP library for instance. There are branches for the different states of it, but we only release one version of it. That will probably change in the future however.

thomasmars added a commit that referenced this issue Nov 4, 2021
JI-2798 Fix action bar position in LTI and in smaller devices
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants