>>@thiago: works but 2.x is generally useless while it matches master or last 2.x tag @romain: It is useful if we don't want code-freeze. In that case, we would need a place to work as the buffer that Andy mentioned before.
>> just to allow a buffer zone during it's preparation so devs can carry on oblivious to it. On Fri, Jan 30, 2015 at 6:51 PM, Romain Manni-Bucau <rmannibu...@gmail.com> wrote: > @thiago: works but 2.x is generally useless while it matches master or > last 2.x tag > Le 31 janv. 2015 00:22, "Thiago Veronezi" <thi...@veronezi.org> a écrit : > > > Did you guys take some time to consider my proposal? Oh well... Ok, I > > changed the rssreader project in order to reflect what I'm trying to say. > > :) > > > > https://github.com/tveronezi/rssreader > > https://github.com/tveronezi/rssreader/branches > > https://github.com/tveronezi/rssreader/releases > > > > With my proposal, we would have 3, and only 3, branches all the times. In > > the example above it goes like this: > > * master -> bleeding edge - development branch. I will try to use tomee > > 2.x.x here. > > * with-tomee-1.7.x -> stable branch. Only libraries and TomEE-1.7.x > updates > > here. > > * with-tomee-2.x.x -> stable branch. Updated every time a new TomEE 2.x.x > > comes out. > > > > We would also have tags. https://github.com/tveronezi/rssreader/tags > > For now I have only one. v1.0 uses the latest released TomEE 1.7.x -> > TomEE > > 1.7.1 > > > > Just for one minute, lets imagine/map these branches as being our TomEE > > branches: > > * master rssreader -> master tomee > > * with-tomee-1.7.x -> tomee-1.7.x > > * with-tomee-2.x.x -> tomee-2.x.x > > > > My "with-tomee-1.7.x" branch is stable and should not have new features. > > Once a new TomEE version comes out, I will simply switch to this branch > and > > update to the new version. Commit, push, create a new tag (v1.1) and push > > the tag. I don't need to touch "master" because "master" uses TomEE > > 2.0.0-SNAPSHOT. > > > > "with-tomee-2.x.x" is pretty much dead now because we still don't have a > > TomEE 2.0.0 release. Once we have it, I will do the following... > > > > tveronezi@sweethome:~/dev/ws/projects/rssreader$ git branch > > * master > > with-tomee-1.7.x > > with-tomee-2.x.x > > > > ## switching from master to 'with-tomee-2.x.x' > > > > tveronezi@sweethome:~/dev/ws/projects/rssreader$ git checkout > > with-tomee-2.x.x > > Switched to branch 'with-tomee-2.x.x' > > > > ## merging whatever I have in 'master' into 'with-tomee-2.x.x' > > > > tveronezi@sweethome:~/dev/ws/projects/rssreader$ git merge master > > Updating 8bbfdcc..64b3095 > > Fast-forward > > pom.xml | 26 +++++++++++++++++++++++--- > > 1 file changed, 23 insertions(+), 3 deletions(-) > > > > ## pushing it to the remote repository so others can help me > > > > tveronezi@sweethome:~/dev/ws/projects/rssreader$ git push > > Total 0 (delta 0), reused 0 (delta 0) > > To https://github.com/tveronezi/rssreader.git > > 8bbfdcc..64b3095 with-tomee-2.x.x -> with-tomee-2.x.x > > > > > > ## At this point "master" and "with-tomee-2.x.x" are the same. It means > > that "with-tomee-2.x.x" could potentially be broken. > > ## My job now is to make it stable again. Once I did the source changes, > I > > commit and push them back to the remote branch. > > ## I also create a tag and push it to the remote repository. > > ## Commiting the changes I did to make the release possible... > > > > tveronezi@sweethome:~/dev/ws/projects/rssreader$ git status > > # On branch with-tomee-2.x.x > > # Changes not staged for commit: > > # (use "git add <file>..." to update what will be committed) > > # (use "git checkout -- <file>..." to discard changes in working > > directory) > > # > > # modified: pom.xml > > # modified: src/main/webapp/index.jsp > > # > > no changes added to commit (use "git add" and/or "git commit -a") > > tveronezi@sweethome:~/dev/ws/projects/rssreader$ git add pom.xml > > tveronezi@sweethome:~/dev/ws/projects/rssreader$ git add > > src/main/webapp/index.jsp > > tveronezi@sweethome:~/dev/ws/projects/rssreader$ git commit -m "not > using > > extjs webjar due to bug in tomee 2.0.0" > > [with-tomee-2.x.x 1562d1a] not using extjs webjar due to bug in tomee > 2.0.0 > > 2 files changed, 3 insertions(+), 9 deletions(-) > > > > tveronezi@sweethome:~/dev/ws/projects/rssreader$ git push > > Counting objects: 13, done. > > Delta compression using up to 2 threads. > > Compressing objects: 100% (7/7), done. > > Writing objects: 100% (7/7), 683 bytes, done. > > Total 7 (delta 5), reused 0 (delta 0) > > To https://github.com/tveronezi/rssreader.git > > 64b3095..1562d1a with-tomee-2.x.x -> with-tomee-2.x.x > > > > ## I call a vote. Once it passes, it's time to create a tag. > > > > tveronezi@sweethome:~/dev/ws/projects/rssreader$ git tag -a v2.0-Beta -m > > 'rssreader with tomee 2.0.0 SNAPSHOT' > > tveronezi@sweethome:~/dev/ws/projects/rssreader$ git push origin > v2.0-Beta > > Counting objects: 1, done. > > Writing objects: 100% (1/1), 190 bytes, done. > > Total 1 (delta 0), reused 0 (delta 0) > > To https://github.com/tveronezi/rssreader.git > > * [new tag] v2.0-Beta -> v2.0-Beta > > > > ## Now it is time to merge our changes back to master so we don't lose > our > > good work > > > > tveronezi@sweethome:~/dev/ws/projects/rssreader$ git branch > > master > > with-tomee-1.7.x > > * with-tomee-2.x.x > > tveronezi@sweethome:~/dev/ws/projects/rssreader$ git checkout master > > Switched to branch 'master' > > tveronezi@sweethome:~/dev/ws/projects/rssreader$ git merge > > with-tomee-2.x.x > > Updating 64b3095..1562d1a > > Fast-forward > > pom.xml | 8 +------- > > src/main/webapp/index.jsp | 4 ++-- > > 2 files changed, 3 insertions(+), 9 deletions(-) > > tveronezi@sweethome:~/dev/ws/projects/rssreader$ git push > > Total 0 (delta 0), reused 0 (delta 0) > > To https://github.com/tveronezi/rssreader.git > > 64b3095..1562d1a master -> master > > > > > > ## The release v2.0-Beta is now ready! > > > > This approach makes everyone happy: > > * master points to the latest code. So, anyone cloning this project would > > automatically have the bleeding edge version of it. > > * we don't need to call a code freeze. Other developers can still work on > > master. > > * we won't need to create and delete new branches. > > * there is no "review and commit" process. > > * there is no cherry-picking. > > * there is no history rewrite. > > * we would have release branches that are always (or most of the time) > > stable. > > * we have tags to our releases > > > > > > []s, > > Thiago. > > >