well while master = 2.x.x I wouldn't create it but yes (Tomcat model
basically is nice 1 maintaince branch by N-1 maintained version +
trunk for last one).


Romain Manni-Bucau
@rmannibucau
http://www.tomitribe.com
http://rmannibucau.wordpress.com
https://github.com/rmannibucau


2015-01-28 20:48 GMT+01:00 Thiago Veronezi <thi...@veronezi.org>:
> What about having something like this?
> https://dl.dropboxusercontent.com/u/1459144/tomee_git.jpg
>
> * master is the place we push bleeding edge stuff.
> * 1.7.x is stable and will never get back to master. We create our current
> release tags (bug fixes, tomcat upgrades etc) out of it.
> * 2.x.x is stable and contains code out of master (rebase). During release,
> we rebase this branch, create auxiliary branches out of it for voting
> purposes. Once the voting passes, we merge it back to 2.x.x, create the
> release tag out of 2.x.x and delete the auxiliary branch.
>
> []s,
> Thiago.
>
>
>
>
>
> On Wed, Jan 28, 2015 at 12:32 PM, Romain Manni-Bucau <rmannibu...@gmail.com>
> wrote:
>
>> answering inline
>>
>> 2015-01-28 18:13 GMT+01:00 Thiago Veronezi <thi...@veronezi.org>:
>> > Hi Mark,
>> >
>> >>>1.) trunk/master is the 'next planned big release'. Most of the work
>> > happens there.
>> >
>> > As "master" is just a branch, it means we are simply renaming "develop"
>> to
>> > "master". That would save a couple of keystrokes indeed. Instead of...
>> > git checkout -b my_local_branch origin/develop
>> >
>>
>> +1
>>
>> > ... we would do...
>> > git checkout -b my_local_branch
>> >
>> >>>2.) For each released version we have a tag. If we need maintenance on
>> > those (like we have with 1.7.x then we simply create a maintenance branch
>> > for it.
>> >
>> > We create this tag from where? "origin/master"? If so, we would need to
>> > have a kind of code-freeze once "master" is stable and until we have our
>> > release tag ready. Our voting spans up to 3 days, maybe more. It means we
>> > wouldn't be able to push our local changes of on-going tasks until the
>> > release passes. Did I get it right?
>> >
>>
>> we take the last maintainance branch, add the few fixes we need and
>> then create the release branch and release from here. Once the vote
>> passed the RM pushes the tag. If it doesnt we can either delete the
>> release branch or fix it if it is minor.
>>
>> Of course if the diff between last maintaince branch and the fix we
>> want to do - assume we want to fix something in 1.0 now - we'll create
>> another maintaince branch from the 1.0 tag.
>>
>> I'd like a master which is our old trunk = not an issue if not stable,
>> that's the branch interesting guys going to sources so let it be the
>> default.
>>
>> > Gitflow proprosal:
>> > * we create a branch out of "develop" called "tomee-2.0.0" (for example).
>> > * we make "tomee-2.0.0" stable and call a vote. meanwhile, the developers
>> > are free to push to "develop"
>> > * "tomee-2.0.0" passes. we merge the code to "master" and to "develop"
>> (in
>> > case minor changes were necessary)
>> > * we create a release tag out of "master" because this branch is supposed
>> > to be stable.
>> >
>> >>> 3.) If there is a need for a hotfix then simply grab the tag of the
>> > release and create a branch from it. Then just apply the fixes you really
>> > need and no bit more.
>> >
>> > Yeah, it seems simple enough. I have no problem with it. In fact, this
>> > looks like what gitflow proposes. :)
>> >
>> > So, I guess we need to decide where the main development will happen
>> > (develop or master), and whether code-freeze is acceptable or not.
>> >
>> > []s,
>> > Thiago.
>> >
>> >
>> > On Wed, Jan 28, 2015 at 8:27 AM, Romain Manni-Bucau <
>> rmannibu...@gmail.com>
>> > wrote:
>> >
>> >> @Thiago: if there is a security fixes we'll start from a tag anyway,
>> >> not from master
>> >>
>> >>
>> >> Romain Manni-Bucau
>> >> @rmannibucau
>> >> http://www.tomitribe.com
>> >> http://rmannibucau.wordpress.com
>> >> https://github.com/rmannibucau
>> >>
>> >>
>> >> 2015-01-28 14:23 GMT+01:00 Mark Struberg <strub...@yahoo.de>:
>> >> > thiago, there is absolutely no sense in all the gitflow stuff. The
>> more
>> >> I think about it the more I come to the conclusion they never did a big
>> >> project yet.
>> >> >
>> >> > Really the ONLY reason for such a workflow is if you have tons of
>> >> uneducated juniors working on the codebase and trashing your project by
>> >> committing more bad things than good things. But I hope that is NOT the
>> >> case for ASF projects...
>> >> > Btw, for such projects I'd rather suggest to use gerrit and not
>> >> gitflow...
>> >> >
>> >> >
>> >> >
>> >> > How does it work usually.
>> >> >
>> >> > 1.) trunk/master is the 'next planned big release'. Most of the work
>> >> happens there.
>> >> >
>> >> >
>> >> > 2.) For each released version we have a tag. If we need maintenance on
>> >> those (like we have with 1.7.x then we simply create a maintenance
>> branch
>> >> for it.
>> >> >
>> >> > 3.) If there is a need for a hotfix then simply grab the tag of the
>> >> release and create a branch from it. Then just apply the fixes you
>> really
>> >> need and no bit more.
>> >> >
>> >> > That works that way since years and I've never seen any issues.
>> >> >
>> >> >
>> >> > The point is that it doesn't make much sense to do all the work
>> upfront
>> >> because you _might_ need it. Just do the work IF you need it instead.
>> >> That's really easy to do with GIT.
>> >> >
>> >> > LieGrue,
>> >> > strub
>> >> >
>> >> >
>> >> >
>> >> >
>> >> >
>> >> >> On Wednesday, 28 January 2015, 14:05, Thiago Veronezi <
>> >> thi...@veronezi.org> wrote:
>> >> >> >>> ...oops for tomee you dont get the snapshot
>> >> >> I agree. But that's the whole point. We shouldn't get the snapshot
>> from
>> >> >> master, according to the "Gitflow". I think it pays off when we have
>> a
>> >> >> hotfix like critical security bugs. Instead of rushing all the
>> on-going
>> >> >> tasks in order to close them for a new release, we would simply
>> create a
>> >> >> hotfix branch out of master, do the fix and merge it to develop and
>> >> back to
>> >> >> master. The link Andy provided has a chart that shows exactly how it
>> >> would
>> >> >> help. See the "hotfixes" line: http://nvie.com/img/git-mo...@2x.png.
>> >> >>
>> >> >> If the "pom.xml" file in "origin/master" does not use the
>> >> >> "SNAPSHOT", it
>> >> >> raises a flag to the developer. "Where the hell are the snapshots?"
>> :)
>> >> >> She/he would need to switch to the develop branch.
>> >> >>
>> >> >> []s,
>> >> >> Thiago.
>> >> >>
>> >> >>
>> >> >>
>> >> >> On Wed, Jan 28, 2015 at 7:09 AM, Romain Manni-Bucau
>> >> >> <rmannibu...@gmail.com>
>> >> >> wrote:
>> >> >>
>> >> >>>  was the idea but:
>> >> >>>  - doesnt make sense @asf
>> >> >>>  - are we numerous enough to commit to let it get any sense?
>> >> >>>  - do we want this ability at all?
>> >> >>>
>> >> >>>  IMO we dont
>> >> >>>
>> >> >>>  master = 2.0.0-SNAPSHOT = last version of the main version so it is
>> >> >>>  not wrong even if not sexy.
>> >> >>>
>> >> >>>  What we'll do basically when releasing is just merging all to
>> master
>> >> >>>  if we keep develop so we just added noise for external guys
>> >> >>>
>> >> >>>
>> >> >>>  When you go on github what do you do?
>> >> >>>
>> >> >>>  git clone xxxxx
>> >> >>>  cd xxxxx
>> >> >>>  mvn clean install
>> >> >>>
>> >> >>>
>> >> >>>  ...oops for tomee you dont get the snapshot
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>  Romain Manni-Bucau
>> >> >>>  @rmannibucau
>> >> >>>  http://www.tomitribe.com
>> >> >>>  http://rmannibucau.wordpress.com
>> >> >>>  https://github.com/rmannibucau
>> >> >>>
>> >> >>>
>> >> >>>  2015-01-28 13:06 GMT+01:00 Thiago Veronezi <thi...@veronezi.org>:
>> >> >>>  > Hi,
>> >> >>>  >
>> >> >>>  > If I get it right...
>> >> >>>  >
>> >> >>>  > * "origin/master" is just a regular branch, and a branch
>> >> >> represents what
>> >> >>>  we
>> >> >>>  > want it to be. For the "gitflow", "origin/master"
>> >> >> is our latest release.
>> >> >>>  In
>> >> >>>  > this case, if someone performs a checkout of master and builds
>> the
>> >> >>>  > application from it, she/he will build the 1.7.1 distribution.
>> Note
>> >> >> that
>> >> >>>  > currently it points to "2.0.0-SNAPSHOT". So maybe it is not
>> >> >> in good shape
>> >> >>>  > because this source code it is not production ready.
>> >> >>>  > * "origin/develop" is our tomee 2.0
>> >> >>>  > * "origin/tomee-1.7.x" is our tomee 1.7.x
>> >> >>>  >
>> >> >>>  > If we talk about commands, we would use the following in our
>> >> >> development
>> >> >>>  > process [Just tested it to be sure. :) ]...
>> >> >>>  >
>> >> >>>  > // check out the source code. "origin/master" is the
>> >> >> default. We don't
>> >> >>>  > commit to this guy.
>> >> >>>  > git clone https://git-wip-us.apache.org/repos/asf/tomee.git
>> >> my_source
>> >> >>>  > Cloning into 'my_source'...
>> >> >>>  > remote: Counting objects: 236092, done.
>> >> >>>  > remote: Compressing objects: 100% (73416/73416), done.
>> >> >>>  > remote: Total 236092 (delta 115784), reused 233010 (delta 114168)
>> >> >>>  > Receiving objects: 100% (236092/236092), 35.93 MiB | 986 KiB/s,
>> >> done.
>> >> >>>  > Resolving deltas: 100% (115784/115784), done.
>> >> >>>  >
>> >> >>>  > // go to new directory
>> >> >>>  > cd my_source
>> >> >>>  >
>> >> >>>  > // create a local "develop" branch for for tomee 2.0 from
>> >> >>>  "origin/develop"
>> >> >>>  > git checkout -b develop origin/develop
>> >> >>>  > Branch develop set up to track remote branch develop from origin.
>> >> >>>  > Switched to a new branch 'develop'
>> >> >>>  >
>> >> >>>  > // create a local "feature" branch for for tomee 2.0 from
>> >> >> the local
>> >> >>>  > "develop"
>> >> >>>  > git checkout -b cosmetic develop
>> >> >>>  > Switched to a new branch 'cosmetic'
>> >> >>>  >
>> >> >>>  > // now we work on the tomee 2.0 feature and commit
>> >> >>>  > git status
>> >> >>>  > git add pom.xml
>> >> >>>  > git commit -m "moving end tag up"
>> >> >>>  >
>> >> >>>  > // ready to merge back to develop
>> >> >>>  > git checkout develop
>> >> >>>  >
>> >> >>>  > // update develop
>> >> >>>  > git pull
>> >> >>>  >
>> >> >>>  > // merge our local branch
>> >> >>>  > git merge cosmetic
>> >> >>>  > Updating edaf6d2..21ad55b
>> >> >>>  > Fast-forward
>> >> >>>  >  pom.xml |    3 +--
>> >> >>>  >  1 file changed, 1 insertion(+), 2 deletions(-)
>> >> >>>  >
>> >> >>>  > // push to remote develop
>> >> >>>  > git push
>> >> >>>  >
>> >> >>>  > // delete local branch
>> >> >>>  > git branch -d cosmetic
>> >> >>>  > Deleted branch cosmetic (was 21ad55b).
>> >> >>>  >
>> >> >>>  > // if we have a new feature, we repeat step from this step...
>> >> >>>  > git checkout -b new_feature develop
>> >> >>>  > ...
>> >> >>>  >
>> >> >>>  >
>> >> >>>  > Basically, we don't touch "origin/master". Only when we
>> >> >> merge
>> >> >>>  > "origin/tomee.1.7.x" (or "origin/develop") back to
>> >> >> it.
>> >> >>>  > I don't see a problem. We just need to keep in mind what
>> >> >> "origin/master",
>> >> >>>  > "origin/develop" and "origin/tomee.1.7.x"
>> >> >> represent.
>> >> >>>  >
>> >> >>>  > Is that right?
>> >> >>>  >
>> >> >>>  > []s,
>> >> >>>  > Thiago.
>> >> >>>  >
>> >> >>>  >
>> >> >>>  > On Wed, Jan 28, 2015 at 4:59 AM, Romain Manni-Bucau <
>> >> >>>  rmannibu...@gmail.com>
>> >> >>>  > wrote:
>> >> >>>  >
>> >> >>>  >> well it is by design opposed to apache way since if it is used
>> it
>> >> >> is
>> >> >>>  >> to have the ability to change commit history - if not it is
>> really
>> >> >>>  >> useless.
>> >> >>>  >>
>> >> >>>  >>
>> >> >>>  >> Romain Manni-Bucau
>> >> >>>  >> @rmannibucau
>> >> >>>  >> http://www.tomitribe.com
>> >> >>>  >> http://rmannibucau.wordpress.com
>> >> >>>  >> https://github.com/rmannibucau
>> >> >>>  >>
>> >> >>>  >>
>> >> >>>  >> 2015-01-28 10:57 GMT+01:00 Andy Gumbrecht
>> >> >> <agumbre...@tomitribe.com>:
>> >> >>>  >> > I know I set it up this way, but I am really +0 at the
>> >> >> moment. I don't
>> >> >>>  >> feel
>> >> >>>  >> > any anger towards it though. It is not 'my way',
>> >> >> rather the Gitflow
>> >> >>>  way.
>> >> >>>  >> >
>> >> >>>  >> > I'm not going to push it other than to point to the
>> >> >> description of
>> >> >>>  >> Gitflow.
>> >> >>>  >> > It's only going to make sense if you use it, and then
>> >> >> really only if
>> >> >>>  you
>> >> >>>  >> > play release manager, and then only if you are managing both
>> >> >> 1.7.x and
>> >> >>>  >> > develop releases.
>> >> >>>  >> >
>> >> >>>  >> > The scenario is described here in extreme detail -
>> >> >>>  >> >
>> >> >>>  >>
>> >> >>>
>> >> >>
>> >>
>> https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
>> >> >>>  >> >
>> >> >>>  >> > It just 'looks' future safe to do it that way, and
>> >> >> until the Gitflow
>> >> >>>  has
>> >> >>>  >> > been tried and tested on the upcoming releases we will not
>> >> >> know. Jon
>> >> >>>  >> should
>> >> >>>  >> > give us his feedback after the releases are done. And then we
>> >> >> should
>> >> >>>  all
>> >> >>>  >> > look at the repo. The decision to use it was based on that
>> >> >> description
>> >> >>>  >> and
>> >> >>>  >> > they guy who 'invented' it -
>> >> >>>  >> > http://nvie.com/posts/a-successful-git-branching-model/
>> >> >>>  >> >
>> >> >>>  >> > I actually don't know what is so painful about using
>> >> >> '-b develop' on
>> >> >>>  the
>> >> >>>  >> > initial developer checkout? That's it, everything else is
>> >> >> identical.
>> >> >>>  As a
>> >> >>>  >> > developer it is trivial. Where are the hard line drawbacks to
>> >> >> it other
>> >> >>>  >> than
>> >> >>>  >> > to say it's crap? Why is is so painful for some? I really
>> >> >> want to
>> >> >>>  >> understand
>> >> >>>  >> > what is causing the hate?
>> >> >>>  >> >
>> >> >>>  >> > The simple idea is that 'master' only ever contains
>> >> >> production ready
>> >> >>>  >> code,
>> >> >>>  >> > that's it. No more no less.
>> >> >>>  >> >
>> >> >>>  >> > Anyway, if everyone agrees on a way forward then votes on it
>> >> >> then I
>> >> >>>  >> really
>> >> >>>  >> > am +0, as it is not hard to do it either way.
>> >> >>>  >> >
>> >> >>>  >> > That doesn't mean:
>> >> >>>  >> > -1 It's crap!
>> >> >>>  >> >
>> >> >>>  >> > That does mean:
>> >> >>>  >> > -1 It's crap because.... and I will document 'my
>> >> >> way' for everyone to
>> >> >>>  >> follow
>> >> >>>  >> > to the letter.
>> >> >>>  >> >
>> >> >>>  >> > Andy.
>> >> >>>  >> >
>> >> >>>  >> >
>> >> >>>  >> > On 28/01/2015 09:55, Romain Manni-Bucau wrote:
>> >> >>>  >> >>
>> >> >>>  >> >> hehe feel less alone now, +1
>> >> >>>  >> >>
>> >> >>>  >> >>
>> >> >>>  >> >> Romain Manni-Bucau
>> >> >>>  >> >> @rmannibucau
>> >> >>>  >> >> http://www.tomitribe.com
>> >> >>>  >> >> http://rmannibucau.wordpress.com
>> >> >>>  >> >> https://github.com/rmannibucau
>> >> >>>  >> >>
>> >> >>>  >> >>
>> >> >>>  >> >> 2015-01-28 9:53 GMT+01:00 Mark Struberg
>> >> >> <strub...@yahoo.de>:
>> >> >>>  >> >>>
>> >> >>>  >> >>> Hi folks!
>> >> >>>  >> >>>
>> >> >>>  >> >>> Just noticed that our branch naming schema in GIT is
>> >> >> still
>> >> >>>  outerwordly
>> >> >>>  >> >>> fucked up.
>> >> >>>  >> >>>
>> >> >>>  >> >>>
>> >> >>>  >> >>>
>> >> >>>  >> >>> Why don't we do it as everyone else does?
>> >> >>>  >> >>> What does this crap of development branch do?
>> >> >> It's total nonsense to
>> >> >>>  >> have
>> >> >>>  >> >>> it!
>> >> >>>  >> >>>
>> >> >>>  >> >>> There is NO RTC for development at whole ASF except
>> >> >> for MAINTENANCE
>> >> >>>  >> >>> BRANCHES maybe. All the standard community work is
>> >> >> CTR (Commmit Then
>> >> >>>  >> Review)
>> >> >>>  >> >>> That's a community wide modus operandi and we
>> >> >> should follow it as
>> >> >>>  well.
>> >> >>>  >> >>>
>> >> >>>  >> >>>
>> >> >>>  >> >>> So I for one will totally ignore this development
>> >> >> branch when
>> >> >>>  working
>> >> >>>  >> on
>> >> >>>  >> >>> the TCK in the next days.
>> >> >>>  >> >>>
>> >> >>>  >> >>> Can we please finally merge in all the good work in
>> >> >> the development
>> >> >>>  >> >>> branch to master and delete it finally?
>> >> >>>  >> >>>
>> >> >>>  >> >>>
>> >> >>>  >> >>> LieGrue,
>> >> >>>  >> >>> strub
>> >> >>>  >> >>
>> >> >>>  >> >>
>> >> >>>  >> >>
>> >> >>>  >> >> --
>> >> >>>  >> >>    Andy Gumbrecht
>> >> >>>  >> >>    https://twitter.com/AndyGeeDe
>> >> >>>  >> >>    http://www.tomitribe.com
>> >> >>>  >>
>> >> >>>
>> >> >>
>> >>
>>

Reply via email to