I'm currently having trouble using semantic versioning with git.
We are using the git versioning model at http://nvie.com/posts/a-successful-git-branching-model/
We would also like to follow the semantic versioning guidelines outlined at http://semver.org/
Here is a sample use case for us.
Release branch: ----1----2----3----4 <- tag v1.2 ----7---8---9 <- tag v1.3
/ \ / \
Develop branch: --0--------5---------4--6-----------------------------9--
Here's our sample use case:
What we would like to do is to be able to search for all newly added checkins since tag v1.2 was created that are newly incorporated into tag v1.3 so that we can determine what kind of version bump (x.y.z) for our component we need to make.
If 5 happened to be a major change, but everything from v1.2 onwards isn't, we will incorrectly bump the minor version since checkin 5 was not in the build.
Does anyone have any suggestions on how this can be solved?
I guess that depends on how you “query for changes”. But if you mean using git log v1.2..v1.3
, or something like that, then that should show you exactly what you want, that is, including commit 5.
v1.2..v1.3
for git means “commits that are in v1.3, excluding those in v1.2”, which means it will include 5 - svick 2012-04-04 09:05