what is which branch up for?

2015-01-28 Thread Mark Struberg
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


Re: what is which branch up for?

2015-01-28 Thread Romain Manni-Bucau
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 :
> 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


Re: what is which branch up for?

2015-01-28 Thread Mark Struberg
master is on the state of OKTOBER 2014!

Now people think about that: what do others look at when they check out a 
project. They look at trunk/master! And there they see that the project didn't 
move since almost a half yea? Christ, that's totally nuts! 

LieGrue,
strub




> On Wednesday, 28 January 2015, 9: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 :
>>  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
> 


Re: what is which branch up for?

2015-01-28 Thread Andy Gumbrecht
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 :

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


Re: what is which branch up for?

2015-01-28 Thread Romain Manni-Bucau
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 :
> 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 :
>>>
>>> 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


Re: what is which branch up for?

2015-01-28 Thread Mark Struberg
agree. Gitflow is basically a workflow replacement of what we have with out 
commit mails anyway. This is something we technically do not need at ASF. Plus 
it requires extra manpower for managing the merges...


LieGrue,
strub





> On Wednesday, 28 January 2015, 11:00, Romain Manni-Bucau 
>  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 :
>>  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 :
 
  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
> 


Re: what is which branch up for?

2015-01-28 Thread Thiago Veronezi
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 
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 :
> > 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 :
> >>>
> >>> Hi folks!
> >>>
> >>> Just noticed that our branch naming schema in GIT is still outerwordly
> >>> fucked up.
> >>>
> >>>
> >>>
> >>> Why don't we do 

Re: what is which branch up for?

2015-01-28 Thread Romain Manni-Bucau
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 x
cd x
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 :
> 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 
> 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 :
>> > 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' 

Re: what is which branch up for?

2015-01-28 Thread Thiago Veronezi
>>...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 
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 x
> cd x
> 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 :
> > 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 :
> >> > 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 s

Re: what is which branch up for?

2015-01-28 Thread Mark Struberg
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  
> 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 
> 
> 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 x
>>  cd x
>>  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 :
>>  > 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 merg

Re: what is which branch up for?

2015-01-28 Thread Romain Manni-Bucau
@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 :
> 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  
>> 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
>> 
>> 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 x
>>>  cd x
>>>  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 :
>>>  > 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"
>>

Example+request

2015-01-28 Thread Massimiliano Maggiari
Hi guys, is there a way to mimic JBoss modules in Tommy?
Thanks
Max



Re: Example+request

2015-01-28 Thread Romain Manni-Bucau
Hi

You mean "OSGi" like feature? Intentionally not to keep thing simple
for everybody and avoid to depend on it in apps.

why do you need it in a EE app BTW?


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


2015-01-28 14:44 GMT+01:00 Massimiliano Maggiari
:
> Hi guys, is there a way to mimic JBoss modules in Tommy?
> Thanks
> Max
>


useless branches and branch deletes at asf git repos

2015-01-28 Thread Mark Struberg
Hi folks!

I've found another thing which is ugly

release-tomee-1.7.2 and
tomee-1.7.2 branches which are actually just leftovers it seems?


Please be aware that we MUST NOT DELETE anything at ASF repos! We must not do 
history rewrite!

So think REALLY hard before creating branches which are just utter garbage. In 
git you just cannot get rid of them that easily. They get mirrored downstream 
automatically and we have no whatever control about them anymore!

Please read how we handle GIT over at DeltaSpike. 

We e.g. release with localCheckout=true and pushChanges=false. 


Just ping me if I need to go into details.

LieGrue,
strub


Re: useless branches and branch deletes at asf git repos

2015-01-28 Thread Romain Manni-Bucau
I'd just delete them since it is not tag but working branch - tag
shouldn't have been pushed since vote didnt pass.

We are free to create branches and remove them once we consider them useless


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


2015-01-28 15:07 GMT+01:00 Mark Struberg :
> Hi folks!
>
> I've found another thing which is ugly
>
> release-tomee-1.7.2 and
> tomee-1.7.2 branches which are actually just leftovers it seems?
>
>
> Please be aware that we MUST NOT DELETE anything at ASF repos! We must not do 
> history rewrite!
>
> So think REALLY hard before creating branches which are just utter garbage. 
> In git you just cannot get rid of them that easily. They get mirrored 
> downstream automatically and we have no whatever control about them anymore!
>
> Please read how we handle GIT over at DeltaSpike.
>
> We e.g. release with localCheckout=true and pushChanges=false.
>
>
> Just ping me if I need to go into details.
>
> LieGrue,
> strub


Re: useless branches and branch deletes at asf git repos

2015-01-28 Thread Jonathan Gallimore
These are leftovers from the vote cancelled earlier this week. My intention
was to clean them up - sounds like that should not be done from what you're
saying? I'll ping you to discuss.

Jon

On Wed, Jan 28, 2015 at 2:09 PM, Romain Manni-Bucau 
wrote:

> I'd just delete them since it is not tag but working branch - tag
> shouldn't have been pushed since vote didnt pass.
>
> We are free to create branches and remove them once we consider them
> useless
>
>
> Romain Manni-Bucau
> @rmannibucau
> http://www.tomitribe.com
> http://rmannibucau.wordpress.com
> https://github.com/rmannibucau
>
>
> 2015-01-28 15:07 GMT+01:00 Mark Struberg :
> > Hi folks!
> >
> > I've found another thing which is ugly
> >
> > release-tomee-1.7.2 and
> > tomee-1.7.2 branches which are actually just leftovers it seems?
> >
> >
> > Please be aware that we MUST NOT DELETE anything at ASF repos! We must
> not do history rewrite!
> >
> > So think REALLY hard before creating branches which are just utter
> garbage. In git you just cannot get rid of them that easily. They get
> mirrored downstream automatically and we have no whatever control about
> them anymore!
> >
> > Please read how we handle GIT over at DeltaSpike.
> >
> > We e.g. release with localCheckout=true and pushChanges=false.
> >
> >
> > Just ping me if I need to go into details.
> >
> > LieGrue,
> > strub
>


Re: useless branches and branch deletes at asf git repos

2015-01-28 Thread Mark Struberg
No worries John. I think what happened is that the setup for GIT is still 
wrong. Will need to dig and fix it.

LieGrue,
strub





> On Wednesday, 28 January 2015, 15:49, Jonathan Gallimore 
>  wrote:
> >T hese are leftovers from the vote cancelled earlier this week. My intention
> was to clean them up - sounds like that should not be done from what you're
> saying? I'll ping you to discuss.
> 
> Jon
> 
> 
> On Wed, Jan 28, 2015 at 2:09 PM, Romain Manni-Bucau 
> 
> wrote:
> 
>>  I'd just delete them since it is not tag but working branch - tag
>>  shouldn't have been pushed since vote didnt pass.
>> 
>>  We are free to create branches and remove them once we consider them
>>  useless
>> 
>> 
>>  Romain Manni-Bucau
>>  @rmannibucau
>>  http://www.tomitribe.com
>>  http://rmannibucau.wordpress.com
>>  https://github.com/rmannibucau
>> 
>> 
>>  2015-01-28 15:07 GMT+01:00 Mark Struberg :
>>  > Hi folks!
>>  >
>>  > I've found another thing which is ugly
>>  >
>>  > release-tomee-1.7.2 and
>>  > tomee-1.7.2 branches which are actually just leftovers it seems?
>>  >
>>  >
>>  > Please be aware that we MUST NOT DELETE anything at ASF repos! We must
>>  not do history rewrite!
>>  >
>>  > So think REALLY hard before creating branches which are just utter
>>  garbage. In git you just cannot get rid of them that easily. They get
>>  mirrored downstream automatically and we have no whatever control about
>>  them anymore!
>>  >
>>  > Please read how we handle GIT over at DeltaSpike.
>>  >
>>  > We e.g. release with localCheckout=true and pushChanges=false.
>>  >
>>  >
>>  > Just ping me if I need to go into details.
>>  >
>>  > LieGrue,
>>  > strub
>> 
> 


Re: what is which branch up for?

2015-01-28 Thread Thiago Veronezi
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

... 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?

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 
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 :
> > 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
> >> 
> >> 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 x
> >>>  cd x
> >>>  mvn clean install
> >>>
> >>>
> >>>  ...oops for tomee you dont get the snapshot
> >>>
> >>>
> >>>
> >>>
> >>>  Romain Manni-Buc

Re: useless branches and branch deletes at asf git repos

2015-01-28 Thread Alan Cabrera
Deleting committed changes is definitely bad. Deleting branches that ultimately 
participate in the release is also bad.

However, deleting tags for "failed" releases is fine as is deleting a branch 
that never transitively participated in a release should be fine as well.

Do I misunderstand something?  Is there some infrastructure limitation?

Sent from my iPhone

> On Jan 28, 2015, at 6:07 AM, Mark Struberg  wrote:
> 
> Hi folks!
> 
> I've found another thing which is ugly
> 
> release-tomee-1.7.2 and
> tomee-1.7.2 branches which are actually just leftovers it seems?
> 
> 
> Please be aware that we MUST NOT DELETE anything at ASF repos! We must not do 
> history rewrite!
> 
> So think REALLY hard before creating branches which are just utter garbage. 
> In git you just cannot get rid of them that easily. They get mirrored 
> downstream automatically and we have no whatever control about them anymore!
> 
> Please read how we handle GIT over at DeltaSpike. 
> 
> We e.g. release with localCheckout=true and pushChanges=false. 
> 
> 
> Just ping me if I need to go into details.
> 
> LieGrue,
> strub


Re: what is which branch up for?

2015-01-28 Thread Romain Manni-Bucau
answering inline

2015-01-28 18:13 GMT+01:00 Thiago Veronezi :
> 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 
> 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 :
>> > 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,

Re: useless branches and branch deletes at asf git repos

2015-01-28 Thread Mark Struberg
Deleting those is fine. But we must make sure that no essential commit gets 
lost. And this is only doable by totally forbidding history rewrite on the repo.

LieGrue,
strub





> On Wednesday, 28 January 2015, 18:27, Alan Cabrera  
> wrote:
> > Deleting committed changes is definitely bad. Deleting branches that 
> > ultimately 
> participate in the release is also bad.
> 
> However, deleting tags for "failed" releases is fine as is deleting a 
> branch that never transitively participated in a release should be fine as 
> well.
> 
> Do I misunderstand something?  Is there some infrastructure limitation?
> 
> Sent from my iPhone
> 
> 
>>  On Jan 28, 2015, at 6:07 AM, Mark Struberg  wrote:
>> 
>>  Hi folks!
>> 
>>  I've found another thing which is ugly
>> 
>>  release-tomee-1.7.2 and
>>  tomee-1.7.2 branches which are actually just leftovers it seems?
>> 
>> 
>>  Please be aware that we MUST NOT DELETE anything at ASF repos! We must not 
> do history rewrite!
>> 
>>  So think REALLY hard before creating branches which are just utter garbage. 
> In git you just cannot get rid of them that easily. They get mirrored 
> downstream 
> automatically and we have no whatever control about them anymore!
>> 
>>  Please read how we handle GIT over at DeltaSpike. 
>> 
>>  We e.g. release with localCheckout=true and pushChanges=false. 
>> 
>> 
>>  Just ping me if I need to go into details.
>> 
>>  LieGrue,
>>  strub
> 


Re: useless branches and branch deletes at asf git repos

2015-01-28 Thread Alan D. Cabrera
Ahh, ok, your warnings did seem overly broad to me.

How is that enforced on ASF infrastructure?  Is it by an “honor system” that we 
assume no history rewrites are taking place?


Regards,
Alan


> On Jan 28, 2015, at 10:12 AM, Mark Struberg  wrote:
> 
> Deleting those is fine. But we must make sure that no essential commit gets 
> lost. And this is only doable by totally forbidding history rewrite on the 
> repo.
> 
> LieGrue,
> strub
> 
> 
> 
> 
> 
>> On Wednesday, 28 January 2015, 18:27, Alan Cabrera  
>> wrote:
>>> Deleting committed changes is definitely bad. Deleting branches that 
>>> ultimately 
>> participate in the release is also bad.
>> 
>> However, deleting tags for "failed" releases is fine as is deleting a 
>> branch that never transitively participated in a release should be fine as 
>> well.
>> 
>> Do I misunderstand something?  Is there some infrastructure limitation?
>> 
>> Sent from my iPhone
>> 
>> 
>>> On Jan 28, 2015, at 6:07 AM, Mark Struberg  wrote:
>>> 
>>> Hi folks!
>>> 
>>> I've found another thing which is ugly
>>> 
>>> release-tomee-1.7.2 and
>>> tomee-1.7.2 branches which are actually just leftovers it seems?
>>> 
>>> 
>>> Please be aware that we MUST NOT DELETE anything at ASF repos! We must not 
>> do history rewrite!
>>> 
>>> So think REALLY hard before creating branches which are just utter garbage. 
>> In git you just cannot get rid of them that easily. They get mirrored 
>> downstream 
>> automatically and we have no whatever control about them anymore!
>>> 
>>> Please read how we handle GIT over at DeltaSpike. 
>>> 
>>> We e.g. release with localCheckout=true and pushChanges=false. 
>>> 
>>> 
>>> Just ping me if I need to go into details.
>>> 
>>> LieGrue,
>>> strub
>> 



Re: useless branches and branch deletes at asf git repos

2015-01-28 Thread Romain Manni-Bucau
Nothing forbids it so it is responsability of everyone.
 Le 28 janv. 2015 19:59, "Alan D. Cabrera"  a écrit :

> Ahh, ok, your warnings did seem overly broad to me.
>
> How is that enforced on ASF infrastructure?  Is it by an “honor system”
> that we assume no history rewrites are taking place?
>
>
> Regards,
> Alan
>
>
> > On Jan 28, 2015, at 10:12 AM, Mark Struberg  wrote:
> >
> > Deleting those is fine. But we must make sure that no essential commit
> gets lost. And this is only doable by totally forbidding history rewrite on
> the repo.
> >
> > LieGrue,
> > strub
> >
> >
> >
> >
> >
> >> On Wednesday, 28 January 2015, 18:27, Alan Cabrera <
> l...@toolazydogs.com> wrote:
> >>> Deleting committed changes is definitely bad. Deleting branches that
> ultimately
> >> participate in the release is also bad.
> >>
> >> However, deleting tags for "failed" releases is fine as is deleting a
> >> branch that never transitively participated in a release should be fine
> as well.
> >>
> >> Do I misunderstand something?  Is there some infrastructure limitation?
> >>
> >> Sent from my iPhone
> >>
> >>
> >>> On Jan 28, 2015, at 6:07 AM, Mark Struberg  wrote:
> >>>
> >>> Hi folks!
> >>>
> >>> I've found another thing which is ugly
> >>>
> >>> release-tomee-1.7.2 and
> >>> tomee-1.7.2 branches which are actually just leftovers it seems?
> >>>
> >>>
> >>> Please be aware that we MUST NOT DELETE anything at ASF repos! We must
> not
> >> do history rewrite!
> >>>
> >>> So think REALLY hard before creating branches which are just utter
> garbage.
> >> In git you just cannot get rid of them that easily. They get mirrored
> downstream
> >> automatically and we have no whatever control about them anymore!
> >>>
> >>> Please read how we handle GIT over at DeltaSpike.
> >>>
> >>> We e.g. release with localCheckout=true and pushChanges=false.
> >>>
> >>>
> >>> Just ping me if I need to go into details.
> >>>
> >>> LieGrue,
> >>> strub
> >>
>
>


Re: useless branches and branch deletes at asf git repos

2015-01-28 Thread Mark Struberg
I personally would suggest we disable history rewrite for our whole ASF repo. 
This is a single config line in the repo. 

History rewrite has a huge potential to crack the repo beyond repair anyway.



LieGrue,
strub





> On Wednesday, 28 January 2015, 20:12, Romain Manni-Bucau 
>  wrote:
> > Nothing forbids it so it is responsability of everyone.
> 
> Le 28 janv. 2015 19:59, "Alan D. Cabrera"  
> a écrit :
> 
>>  Ahh, ok, your warnings did seem overly broad to me.
>> 
>>  How is that enforced on ASF infrastructure?  Is it by an “honor system”
>>  that we assume no history rewrites are taking place?
>> 
>> 
>>  Regards,
>>  Alan
>> 
>> 
>>  > On Jan 28, 2015, at 10:12 AM, Mark Struberg  
> wrote:
>>  >
>>  > Deleting those is fine. But we must make sure that no essential commit
>>  gets lost. And this is only doable by totally forbidding history rewrite on
>>  the repo.
>>  >
>>  > LieGrue,
>>  > strub
>>  >
>>  >
>>  >
>>  >
>>  >
>>  >> On Wednesday, 28 January 2015, 18:27, Alan Cabrera <
>>  l...@toolazydogs.com> wrote:
>>  >>> Deleting committed changes is definitely bad. Deleting 
> branches that
>>  ultimately
>>  >> participate in the release is also bad.
>>  >>
>>  >> However, deleting tags for "failed" releases is fine as 
> is deleting a
>>  >> branch that never transitively participated in a release should be 
> fine
>>  as well.
>>  >>
>>  >> Do I misunderstand something?  Is there some infrastructure 
> limitation?
>>  >>
>>  >> Sent from my iPhone
>>  >>
>>  >>
>>  >>> On Jan 28, 2015, at 6:07 AM, Mark Struberg 
>  wrote:
>>  >>>
>>  >>> Hi folks!
>>  >>>
>>  >>> I've found another thing which is ugly
>>  >>>
>>  >>> release-tomee-1.7.2 and
>>  >>> tomee-1.7.2 branches which are actually just leftovers it 
> seems?
>>  >>>
>>  >>>
>>  >>> Please be aware that we MUST NOT DELETE anything at ASF repos! 
> We must
>>  not
>>  >> do history rewrite!
>>  >>>
>>  >>> So think REALLY hard before creating branches which are just 
> utter
>>  garbage.
>>  >> In git you just cannot get rid of them that easily. They get 
> mirrored
>>  downstream
>>  >> automatically and we have no whatever control about them anymore!
>>  >>>
>>  >>> Please read how we handle GIT over at DeltaSpike.
>>  >>>
>>  >>> We e.g. release with localCheckout=true and pushChanges=false.
>>  >>>
>>  >>>
>>  >>> Just ping me if I need to go into details.
>>  >>>
>>  >>> LieGrue,
>>  >>> strub
>>  >>
>> 
>> 
>


Re: what is which branch up for?

2015-01-28 Thread Thiago Veronezi
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 
wrote:

> answering inline
>
> 2015-01-28 18:13 GMT+01:00 Thiago Veronezi :
> > 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 :
> >> > 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 

Re: what is which branch up for?

2015-01-28 Thread Romain Manni-Bucau
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 :
> 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 
> wrote:
>
>> answering inline
>>
>> 2015-01-28 18:13 GMT+01:00 Thiago Veronezi :
>> > 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 :
>> >> > 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 bran

Re: what is which branch up for?

2015-01-28 Thread Thiago Veronezi
Please note that having "2.x.x" covers all the requirements:
* master is the bleeding edge - it doesn't need to be stable
* no code-freeze necessary
* stable and ready for production "2.x.x" branch
* quick bug fix release possible without interrupting development on master

[]s,
Thiago.

On Wed, Jan 28, 2015 at 3:34 PM, Romain Manni-Bucau 
wrote:

> 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
>


Re: what is which branch up for?

2015-01-28 Thread Romain Manni-Bucau
If I have a fix to do in 2.x, where do I code? 2.x.x or master? While
master = 2.x I'm not convinced we need it. Doesnt solve the need of a
release branch while mvn tools are not compliant with tomee setup.


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


2015-01-28 21:52 GMT+01:00 Thiago Veronezi :
> Please note that having "2.x.x" covers all the requirements:
> * master is the bleeding edge - it doesn't need to be stable
> * no code-freeze necessary
> * stable and ready for production "2.x.x" branch
> * quick bug fix release possible without interrupting development on master
>
> []s,
> Thiago.
>
> On Wed, Jan 28, 2015 at 3:34 PM, Romain Manni-Bucau 
> wrote:
>
>> 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
>>


Re: what is which branch up for?

2015-01-28 Thread Thiago Veronezi
Hi,
This is what I was thinking...

Quick bug fix in 2.x.x:
* You create a new auxiliary branch from 2.x.x. -> Let's call it "2.0.2" as
example
* You fix your issue in this new "2.0.2" branch
* Call a vote for "2.0.2".
* The vote passes. You merge "2.0.2" back to "2.x.x".
* You create a new tag in 2.x.x -> Let's call it "tag 2.0.2"
* You destroy the auxiliary branch "2.0.2"
* You merge "2.x.x"  back to master.

Normal 2.x.x release
* You rebase "2.x.x"
* You follow the same steps as the ones for "quick bug fixes in 2.x.x"

[]s,
Thiago.



On Wed, Jan 28, 2015 at 3:54 PM, Romain Manni-Bucau 
wrote:

> If I have a fix to do in 2.x, where do I code? 2.x.x or master? While
> master = 2.x I'm not convinced we need it. Doesnt solve the need of a
> release branch while mvn tools are not compliant with tomee setup.
>
>
> Romain Manni-Bucau
> @rmannibucau
> http://www.tomitribe.com
> http://rmannibucau.wordpress.com
> https://github.com/rmannibucau
>
>
> 2015-01-28 21:52 GMT+01:00 Thiago Veronezi :
> > Please note that having "2.x.x" covers all the requirements:
> > * master is the bleeding edge - it doesn't need to be stable
> > * no code-freeze necessary
> > * stable and ready for production "2.x.x" branch
> > * quick bug fix release possible without interrupting development on
> master
> >
> > []s,
> > Thiago.
> >
> > On Wed, Jan 28, 2015 at 3:34 PM, Romain Manni-Bucau <
> rmannibu...@gmail.com>
> > wrote:
> >
> >> 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
> >>
>


Re: what is which branch up for?

2015-01-28 Thread Thiago Veronezi
Maybe it can be something like...

Quick bug fix in 2.x.x:
* You fix your issue in "2.x.x"
* Call a vote for "2.x.x".
* The vote passes. You merge "2.x.x" back to "master".
* You create a new tag in 2.x.x -> Let's call it "tag 2.0.2"

Normal 2.x.x release
* You rebase "2.x.x"
* You follow the same steps as the ones for "quick bug fixes in 2.x.x"

This way we avoid the auxiliary branches. We just need to be sure that
"2.x.x" is not a development branch. It needs to be stable. So, once we
rebase it, we need to make it stable before merging it back to master.
"2.x.x" is the branch that contains the release tags.

[]s,
Thiago.


On Wed, Jan 28, 2015 at 4:07 PM, Thiago Veronezi 
wrote:

> Hi,
> This is what I was thinking...
>
> Quick bug fix in 2.x.x:
> * You create a new auxiliary branch from 2.x.x. -> Let's call it "2.0.2"
> as example
> * You fix your issue in this new "2.0.2" branch
> * Call a vote for "2.0.2".
> * The vote passes. You merge "2.0.2" back to "2.x.x".
> * You create a new tag in 2.x.x -> Let's call it "tag 2.0.2"
> * You destroy the auxiliary branch "2.0.2"
> * You merge "2.x.x"  back to master.
>
> Normal 2.x.x release
> * You rebase "2.x.x"
> * You follow the same steps as the ones for "quick bug fixes in 2.x.x"
>
> []s,
> Thiago.
>
>
>
> On Wed, Jan 28, 2015 at 3:54 PM, Romain Manni-Bucau  > wrote:
>
>> If I have a fix to do in 2.x, where do I code? 2.x.x or master? While
>> master = 2.x I'm not convinced we need it. Doesnt solve the need of a
>> release branch while mvn tools are not compliant with tomee setup.
>>
>>
>> Romain Manni-Bucau
>> @rmannibucau
>> http://www.tomitribe.com
>> http://rmannibucau.wordpress.com
>> https://github.com/rmannibucau
>>
>>
>> 2015-01-28 21:52 GMT+01:00 Thiago Veronezi :
>> > Please note that having "2.x.x" covers all the requirements:
>> > * master is the bleeding edge - it doesn't need to be stable
>> > * no code-freeze necessary
>> > * stable and ready for production "2.x.x" branch
>> > * quick bug fix release possible without interrupting development on
>> master
>> >
>> > []s,
>> > Thiago.
>> >
>> > On Wed, Jan 28, 2015 at 3:34 PM, Romain Manni-Bucau <
>> rmannibu...@gmail.com>
>> > wrote:
>> >
>> >> 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
>> >>
>>
>
>


Re: what is which branch up for?

2015-01-28 Thread Romain Manni-Bucau
well you shouldn't rebase/merge from a lower to upper branch IMO - ie
it is always fixed first on mainstream then backported if needed - or
just dev in the lower version if specific.

That said this doesn't justify 2.x while master = 2.x


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


2015-01-28 22:12 GMT+01:00 Thiago Veronezi :
> Maybe it can be something like...
>
> Quick bug fix in 2.x.x:
> * You fix your issue in "2.x.x"
> * Call a vote for "2.x.x".
> * The vote passes. You merge "2.x.x" back to "master".
> * You create a new tag in 2.x.x -> Let's call it "tag 2.0.2"
>
> Normal 2.x.x release
> * You rebase "2.x.x"
> * You follow the same steps as the ones for "quick bug fixes in 2.x.x"
>
> This way we avoid the auxiliary branches. We just need to be sure that
> "2.x.x" is not a development branch. It needs to be stable. So, once we
> rebase it, we need to make it stable before merging it back to master.
> "2.x.x" is the branch that contains the release tags.
>
> []s,
> Thiago.
>
>
> On Wed, Jan 28, 2015 at 4:07 PM, Thiago Veronezi 
> wrote:
>
>> Hi,
>> This is what I was thinking...
>>
>> Quick bug fix in 2.x.x:
>> * You create a new auxiliary branch from 2.x.x. -> Let's call it "2.0.2"
>> as example
>> * You fix your issue in this new "2.0.2" branch
>> * Call a vote for "2.0.2".
>> * The vote passes. You merge "2.0.2" back to "2.x.x".
>> * You create a new tag in 2.x.x -> Let's call it "tag 2.0.2"
>> * You destroy the auxiliary branch "2.0.2"
>> * You merge "2.x.x"  back to master.
>>
>> Normal 2.x.x release
>> * You rebase "2.x.x"
>> * You follow the same steps as the ones for "quick bug fixes in 2.x.x"
>>
>> []s,
>> Thiago.
>>
>>
>>
>> On Wed, Jan 28, 2015 at 3:54 PM, Romain Manni-Bucau > > wrote:
>>
>>> If I have a fix to do in 2.x, where do I code? 2.x.x or master? While
>>> master = 2.x I'm not convinced we need it. Doesnt solve the need of a
>>> release branch while mvn tools are not compliant with tomee setup.
>>>
>>>
>>> Romain Manni-Bucau
>>> @rmannibucau
>>> http://www.tomitribe.com
>>> http://rmannibucau.wordpress.com
>>> https://github.com/rmannibucau
>>>
>>>
>>> 2015-01-28 21:52 GMT+01:00 Thiago Veronezi :
>>> > Please note that having "2.x.x" covers all the requirements:
>>> > * master is the bleeding edge - it doesn't need to be stable
>>> > * no code-freeze necessary
>>> > * stable and ready for production "2.x.x" branch
>>> > * quick bug fix release possible without interrupting development on
>>> master
>>> >
>>> > []s,
>>> > Thiago.
>>> >
>>> > On Wed, Jan 28, 2015 at 3:34 PM, Romain Manni-Bucau <
>>> rmannibu...@gmail.com>
>>> > wrote:
>>> >
>>> >> 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
>>> >>
>>>
>>
>>


Re: what is which branch up for?

2015-01-28 Thread Thiago Veronezi
But if you only have master, any quick fix would bring unnecessary baggage,
right?
I mean, merging the fix changes from 2.x.x to master would be trivial
because it would only contain changes for that particular fix.

If the release tags are on master, for a quick fix, we would need to create
a new branch from the latest release tag, do the fix in the new branch and
release it again. Where would this new release tag live? Do we keep this
new branch just to hold a minor code change for a bug fix?

[]s,
Thiago


On Wed, Jan 28, 2015 at 4:17 PM, Romain Manni-Bucau 
wrote:

> well you shouldn't rebase/merge from a lower to upper branch IMO - ie
> it is always fixed first on mainstream then backported if needed - or
> just dev in the lower version if specific.
>
> That said this doesn't justify 2.x while master = 2.x
>
>
> Romain Manni-Bucau
> @rmannibucau
> http://www.tomitribe.com
> http://rmannibucau.wordpress.com
> https://github.com/rmannibucau
>
>
> 2015-01-28 22:12 GMT+01:00 Thiago Veronezi :
> > Maybe it can be something like...
> >
> > Quick bug fix in 2.x.x:
> > * You fix your issue in "2.x.x"
> > * Call a vote for "2.x.x".
> > * The vote passes. You merge "2.x.x" back to "master".
> > * You create a new tag in 2.x.x -> Let's call it "tag 2.0.2"
> >
> > Normal 2.x.x release
> > * You rebase "2.x.x"
> > * You follow the same steps as the ones for "quick bug fixes in 2.x.x"
> >
> > This way we avoid the auxiliary branches. We just need to be sure that
> > "2.x.x" is not a development branch. It needs to be stable. So, once we
> > rebase it, we need to make it stable before merging it back to master.
> > "2.x.x" is the branch that contains the release tags.
> >
> > []s,
> > Thiago.
> >
> >
> > On Wed, Jan 28, 2015 at 4:07 PM, Thiago Veronezi 
> > wrote:
> >
> >> Hi,
> >> This is what I was thinking...
> >>
> >> Quick bug fix in 2.x.x:
> >> * You create a new auxiliary branch from 2.x.x. -> Let's call it "2.0.2"
> >> as example
> >> * You fix your issue in this new "2.0.2" branch
> >> * Call a vote for "2.0.2".
> >> * The vote passes. You merge "2.0.2" back to "2.x.x".
> >> * You create a new tag in 2.x.x -> Let's call it "tag 2.0.2"
> >> * You destroy the auxiliary branch "2.0.2"
> >> * You merge "2.x.x"  back to master.
> >>
> >> Normal 2.x.x release
> >> * You rebase "2.x.x"
> >> * You follow the same steps as the ones for "quick bug fixes in 2.x.x"
> >>
> >> []s,
> >> Thiago.
> >>
> >>
> >>
> >> On Wed, Jan 28, 2015 at 3:54 PM, Romain Manni-Bucau <
> rmannibu...@gmail.com
> >> > wrote:
> >>
> >>> If I have a fix to do in 2.x, where do I code? 2.x.x or master? While
> >>> master = 2.x I'm not convinced we need it. Doesnt solve the need of a
> >>> release branch while mvn tools are not compliant with tomee setup.
> >>>
> >>>
> >>> Romain Manni-Bucau
> >>> @rmannibucau
> >>> http://www.tomitribe.com
> >>> http://rmannibucau.wordpress.com
> >>> https://github.com/rmannibucau
> >>>
> >>>
> >>> 2015-01-28 21:52 GMT+01:00 Thiago Veronezi :
> >>> > Please note that having "2.x.x" covers all the requirements:
> >>> > * master is the bleeding edge - it doesn't need to be stable
> >>> > * no code-freeze necessary
> >>> > * stable and ready for production "2.x.x" branch
> >>> > * quick bug fix release possible without interrupting development on
> >>> master
> >>> >
> >>> > []s,
> >>> > Thiago.
> >>> >
> >>> > On Wed, Jan 28, 2015 at 3:34 PM, Romain Manni-Bucau <
> >>> rmannibu...@gmail.com>
> >>> > wrote:
> >>> >
> >>> >> 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
> >>> >>
> >>>
> >>
> >>
>


Re: what is which branch up for?

2015-01-28 Thread Romain Manni-Bucau
2015-01-28 22:29 GMT+01:00 Thiago Veronezi :
> But if you only have master, any quick fix would bring unnecessary baggage,
> right?
> I mean, merging the fix changes from 2.x.x to master would be trivial
> because it would only contain changes for that particular fix.
>
> If the release tags are on master, for a quick fix, we would need to create
> a new branch from the latest release tag, do the fix in the new branch and
> release it again. Where would this new release tag live? Do we keep this
> new branch just to hold a minor code change for a bug fix?

If that's a fix for a recent release we just create a branch for the
release, release, tag, delete the release branch - like we'd have do
it just after the release ignoring all commit in between.

Otherwise you are back to current status = you merge all commit done
on 2.x on master which is:
1) useless
2) makes a lot of noise when done
3) makes getting started not obvious (need doc)


>
> []s,
> Thiago
>
>
> On Wed, Jan 28, 2015 at 4:17 PM, Romain Manni-Bucau 
> wrote:
>
>> well you shouldn't rebase/merge from a lower to upper branch IMO - ie
>> it is always fixed first on mainstream then backported if needed - or
>> just dev in the lower version if specific.
>>
>> That said this doesn't justify 2.x while master = 2.x
>>
>>
>> Romain Manni-Bucau
>> @rmannibucau
>> http://www.tomitribe.com
>> http://rmannibucau.wordpress.com
>> https://github.com/rmannibucau
>>
>>
>> 2015-01-28 22:12 GMT+01:00 Thiago Veronezi :
>> > Maybe it can be something like...
>> >
>> > Quick bug fix in 2.x.x:
>> > * You fix your issue in "2.x.x"
>> > * Call a vote for "2.x.x".
>> > * The vote passes. You merge "2.x.x" back to "master".
>> > * You create a new tag in 2.x.x -> Let's call it "tag 2.0.2"
>> >
>> > Normal 2.x.x release
>> > * You rebase "2.x.x"
>> > * You follow the same steps as the ones for "quick bug fixes in 2.x.x"
>> >
>> > This way we avoid the auxiliary branches. We just need to be sure that
>> > "2.x.x" is not a development branch. It needs to be stable. So, once we
>> > rebase it, we need to make it stable before merging it back to master.
>> > "2.x.x" is the branch that contains the release tags.
>> >
>> > []s,
>> > Thiago.
>> >
>> >
>> > On Wed, Jan 28, 2015 at 4:07 PM, Thiago Veronezi 
>> > wrote:
>> >
>> >> Hi,
>> >> This is what I was thinking...
>> >>
>> >> Quick bug fix in 2.x.x:
>> >> * You create a new auxiliary branch from 2.x.x. -> Let's call it "2.0.2"
>> >> as example
>> >> * You fix your issue in this new "2.0.2" branch
>> >> * Call a vote for "2.0.2".
>> >> * The vote passes. You merge "2.0.2" back to "2.x.x".
>> >> * You create a new tag in 2.x.x -> Let's call it "tag 2.0.2"
>> >> * You destroy the auxiliary branch "2.0.2"
>> >> * You merge "2.x.x"  back to master.
>> >>
>> >> Normal 2.x.x release
>> >> * You rebase "2.x.x"
>> >> * You follow the same steps as the ones for "quick bug fixes in 2.x.x"
>> >>
>> >> []s,
>> >> Thiago.
>> >>
>> >>
>> >>
>> >> On Wed, Jan 28, 2015 at 3:54 PM, Romain Manni-Bucau <
>> rmannibu...@gmail.com
>> >> > wrote:
>> >>
>> >>> If I have a fix to do in 2.x, where do I code? 2.x.x or master? While
>> >>> master = 2.x I'm not convinced we need it. Doesnt solve the need of a
>> >>> release branch while mvn tools are not compliant with tomee setup.
>> >>>
>> >>>
>> >>> Romain Manni-Bucau
>> >>> @rmannibucau
>> >>> http://www.tomitribe.com
>> >>> http://rmannibucau.wordpress.com
>> >>> https://github.com/rmannibucau
>> >>>
>> >>>
>> >>> 2015-01-28 21:52 GMT+01:00 Thiago Veronezi :
>> >>> > Please note that having "2.x.x" covers all the requirements:
>> >>> > * master is the bleeding edge - it doesn't need to be stable
>> >>> > * no code-freeze necessary
>> >>> > * stable and ready for production "2.x.x" branch
>> >>> > * quick bug fix release possible without interrupting development on
>> >>> master
>> >>> >
>> >>> > []s,
>> >>> > Thiago.
>> >>> >
>> >>> > On Wed, Jan 28, 2015 at 3:34 PM, Romain Manni-Bucau <
>> >>> rmannibu...@gmail.com>
>> >>> > wrote:
>> >>> >
>> >>> >> 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
>> >>> >>
>> >>>
>> >>
>> >>
>>


Re: what is which branch up for?

2015-01-28 Thread Thiago Veronezi
Hmmm... I think I see how it works now. It starts to make more sense. :)
Something doesn't feel right though. Why Gitflow is so popular? How would
it protect the companies from having bad commits? I need to think about it.
Just wanted to let you know that I see your point.

[]s,
Thiago.


On Wed, Jan 28, 2015 at 4:32 PM, Romain Manni-Bucau 
wrote:

> 2015-01-28 22:29 GMT+01:00 Thiago Veronezi :
> > But if you only have master, any quick fix would bring unnecessary
> baggage,
> > right?
> > I mean, merging the fix changes from 2.x.x to master would be trivial
> > because it would only contain changes for that particular fix.
> >
> > If the release tags are on master, for a quick fix, we would need to
> create
> > a new branch from the latest release tag, do the fix in the new branch
> and
> > release it again. Where would this new release tag live? Do we keep this
> > new branch just to hold a minor code change for a bug fix?
>
> If that's a fix for a recent release we just create a branch for the
> release, release, tag, delete the release branch - like we'd have do
> it just after the release ignoring all commit in between.
>
> Otherwise you are back to current status = you merge all commit done
> on 2.x on master which is:
> 1) useless
> 2) makes a lot of noise when done
> 3) makes getting started not obvious (need doc)
>
>
> >
> > []s,
> > Thiago
> >
> >
> > On Wed, Jan 28, 2015 at 4:17 PM, Romain Manni-Bucau <
> rmannibu...@gmail.com>
> > wrote:
> >
> >> well you shouldn't rebase/merge from a lower to upper branch IMO - ie
> >> it is always fixed first on mainstream then backported if needed - or
> >> just dev in the lower version if specific.
> >>
> >> That said this doesn't justify 2.x while master = 2.x
> >>
> >>
> >> Romain Manni-Bucau
> >> @rmannibucau
> >> http://www.tomitribe.com
> >> http://rmannibucau.wordpress.com
> >> https://github.com/rmannibucau
> >>
> >>
> >> 2015-01-28 22:12 GMT+01:00 Thiago Veronezi :
> >> > Maybe it can be something like...
> >> >
> >> > Quick bug fix in 2.x.x:
> >> > * You fix your issue in "2.x.x"
> >> > * Call a vote for "2.x.x".
> >> > * The vote passes. You merge "2.x.x" back to "master".
> >> > * You create a new tag in 2.x.x -> Let's call it "tag 2.0.2"
> >> >
> >> > Normal 2.x.x release
> >> > * You rebase "2.x.x"
> >> > * You follow the same steps as the ones for "quick bug fixes in 2.x.x"
> >> >
> >> > This way we avoid the auxiliary branches. We just need to be sure that
> >> > "2.x.x" is not a development branch. It needs to be stable. So, once
> we
> >> > rebase it, we need to make it stable before merging it back to master.
> >> > "2.x.x" is the branch that contains the release tags.
> >> >
> >> > []s,
> >> > Thiago.
> >> >
> >> >
> >> > On Wed, Jan 28, 2015 at 4:07 PM, Thiago Veronezi  >
> >> > wrote:
> >> >
> >> >> Hi,
> >> >> This is what I was thinking...
> >> >>
> >> >> Quick bug fix in 2.x.x:
> >> >> * You create a new auxiliary branch from 2.x.x. -> Let's call it
> "2.0.2"
> >> >> as example
> >> >> * You fix your issue in this new "2.0.2" branch
> >> >> * Call a vote for "2.0.2".
> >> >> * The vote passes. You merge "2.0.2" back to "2.x.x".
> >> >> * You create a new tag in 2.x.x -> Let's call it "tag 2.0.2"
> >> >> * You destroy the auxiliary branch "2.0.2"
> >> >> * You merge "2.x.x"  back to master.
> >> >>
> >> >> Normal 2.x.x release
> >> >> * You rebase "2.x.x"
> >> >> * You follow the same steps as the ones for "quick bug fixes in
> 2.x.x"
> >> >>
> >> >> []s,
> >> >> Thiago.
> >> >>
> >> >>
> >> >>
> >> >> On Wed, Jan 28, 2015 at 3:54 PM, Romain Manni-Bucau <
> >> rmannibu...@gmail.com
> >> >> > wrote:
> >> >>
> >> >>> If I have a fix to do in 2.x, where do I code? 2.x.x or master?
> While
> >> >>> master = 2.x I'm not convinced we need it. Doesnt solve the need of
> a
> >> >>> release branch while mvn tools are not compliant with tomee setup.
> >> >>>
> >> >>>
> >> >>> Romain Manni-Bucau
> >> >>> @rmannibucau
> >> >>> http://www.tomitribe.com
> >> >>> http://rmannibucau.wordpress.com
> >> >>> https://github.com/rmannibucau
> >> >>>
> >> >>>
> >> >>> 2015-01-28 21:52 GMT+01:00 Thiago Veronezi :
> >> >>> > Please note that having "2.x.x" covers all the requirements:
> >> >>> > * master is the bleeding edge - it doesn't need to be stable
> >> >>> > * no code-freeze necessary
> >> >>> > * stable and ready for production "2.x.x" branch
> >> >>> > * quick bug fix release possible without interrupting development
> on
> >> >>> master
> >> >>> >
> >> >>> > []s,
> >> >>> > Thiago.
> >> >>> >
> >> >>> > On Wed, Jan 28, 2015 at 3:34 PM, Romain Manni-Bucau <
> >> >>> rmannibu...@gmail.com>
> >> >>> > wrote:
> >> >>> >
> >> >>> >> 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://rmannib

Re: what is which branch up for?

2015-01-28 Thread Romain Manni-Bucau
it is great when you really need to work on release and often squash
commits, we dont do it @asf.

+ dont forget theory != practise and most of the time overhead to get
a nice theory is useless (why we still use newton law even if we know
they are wrong ;))


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


2015-01-28 22:59 GMT+01:00 Thiago Veronezi :
> Hmmm... I think I see how it works now. It starts to make more sense. :)
> Something doesn't feel right though. Why Gitflow is so popular? How would
> it protect the companies from having bad commits? I need to think about it.
> Just wanted to let you know that I see your point.
>
> []s,
> Thiago.
>
>
> On Wed, Jan 28, 2015 at 4:32 PM, Romain Manni-Bucau 
> wrote:
>
>> 2015-01-28 22:29 GMT+01:00 Thiago Veronezi :
>> > But if you only have master, any quick fix would bring unnecessary
>> baggage,
>> > right?
>> > I mean, merging the fix changes from 2.x.x to master would be trivial
>> > because it would only contain changes for that particular fix.
>> >
>> > If the release tags are on master, for a quick fix, we would need to
>> create
>> > a new branch from the latest release tag, do the fix in the new branch
>> and
>> > release it again. Where would this new release tag live? Do we keep this
>> > new branch just to hold a minor code change for a bug fix?
>>
>> If that's a fix for a recent release we just create a branch for the
>> release, release, tag, delete the release branch - like we'd have do
>> it just after the release ignoring all commit in between.
>>
>> Otherwise you are back to current status = you merge all commit done
>> on 2.x on master which is:
>> 1) useless
>> 2) makes a lot of noise when done
>> 3) makes getting started not obvious (need doc)
>>
>>
>> >
>> > []s,
>> > Thiago
>> >
>> >
>> > On Wed, Jan 28, 2015 at 4:17 PM, Romain Manni-Bucau <
>> rmannibu...@gmail.com>
>> > wrote:
>> >
>> >> well you shouldn't rebase/merge from a lower to upper branch IMO - ie
>> >> it is always fixed first on mainstream then backported if needed - or
>> >> just dev in the lower version if specific.
>> >>
>> >> That said this doesn't justify 2.x while master = 2.x
>> >>
>> >>
>> >> Romain Manni-Bucau
>> >> @rmannibucau
>> >> http://www.tomitribe.com
>> >> http://rmannibucau.wordpress.com
>> >> https://github.com/rmannibucau
>> >>
>> >>
>> >> 2015-01-28 22:12 GMT+01:00 Thiago Veronezi :
>> >> > Maybe it can be something like...
>> >> >
>> >> > Quick bug fix in 2.x.x:
>> >> > * You fix your issue in "2.x.x"
>> >> > * Call a vote for "2.x.x".
>> >> > * The vote passes. You merge "2.x.x" back to "master".
>> >> > * You create a new tag in 2.x.x -> Let's call it "tag 2.0.2"
>> >> >
>> >> > Normal 2.x.x release
>> >> > * You rebase "2.x.x"
>> >> > * You follow the same steps as the ones for "quick bug fixes in 2.x.x"
>> >> >
>> >> > This way we avoid the auxiliary branches. We just need to be sure that
>> >> > "2.x.x" is not a development branch. It needs to be stable. So, once
>> we
>> >> > rebase it, we need to make it stable before merging it back to master.
>> >> > "2.x.x" is the branch that contains the release tags.
>> >> >
>> >> > []s,
>> >> > Thiago.
>> >> >
>> >> >
>> >> > On Wed, Jan 28, 2015 at 4:07 PM, Thiago Veronezi > >
>> >> > wrote:
>> >> >
>> >> >> Hi,
>> >> >> This is what I was thinking...
>> >> >>
>> >> >> Quick bug fix in 2.x.x:
>> >> >> * You create a new auxiliary branch from 2.x.x. -> Let's call it
>> "2.0.2"
>> >> >> as example
>> >> >> * You fix your issue in this new "2.0.2" branch
>> >> >> * Call a vote for "2.0.2".
>> >> >> * The vote passes. You merge "2.0.2" back to "2.x.x".
>> >> >> * You create a new tag in 2.x.x -> Let's call it "tag 2.0.2"
>> >> >> * You destroy the auxiliary branch "2.0.2"
>> >> >> * You merge "2.x.x"  back to master.
>> >> >>
>> >> >> Normal 2.x.x release
>> >> >> * You rebase "2.x.x"
>> >> >> * You follow the same steps as the ones for "quick bug fixes in
>> 2.x.x"
>> >> >>
>> >> >> []s,
>> >> >> Thiago.
>> >> >>
>> >> >>
>> >> >>
>> >> >> On Wed, Jan 28, 2015 at 3:54 PM, Romain Manni-Bucau <
>> >> rmannibu...@gmail.com
>> >> >> > wrote:
>> >> >>
>> >> >>> If I have a fix to do in 2.x, where do I code? 2.x.x or master?
>> While
>> >> >>> master = 2.x I'm not convinced we need it. Doesnt solve the need of
>> a
>> >> >>> release branch while mvn tools are not compliant with tomee setup.
>> >> >>>
>> >> >>>
>> >> >>> Romain Manni-Bucau
>> >> >>> @rmannibucau
>> >> >>> http://www.tomitribe.com
>> >> >>> http://rmannibucau.wordpress.com
>> >> >>> https://github.com/rmannibucau
>> >> >>>
>> >> >>>
>> >> >>> 2015-01-28 21:52 GMT+01:00 Thiago Veronezi :
>> >> >>> > Please note that having "2.x.x" covers all the requirements:
>> >> >>> > * master is the bleeding edge - it doesn't need to be stable
>> >> >>> > * no code-freeze necessary
>> >> >>> > * stable and ready for production "2.x.x" branch
>> >> >>> > * quick bug fix release possible wit

Re: what is which branch up for?

2015-01-28 Thread Alan D. Cabrera

> On Jan 28, 2015, at 1:59 AM, Romain Manni-Bucau  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.

I’m sure that I’m being dense but how is this form of branch management not the 
apache way?


Regards,
Alan



Re: what is which branch up for?

2015-01-28 Thread Romain Manni-Bucau
Cause it implies history rewrite by design
Le 29 janv. 2015 07:51, "Alan D. Cabrera"  a écrit :

>
> > On Jan 28, 2015, at 1:59 AM, Romain Manni-Bucau 
> 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.
>
> I’m sure that I’m being dense but how is this form of branch management
> not the apache way?
>
>
> Regards,
> Alan
>
>


Re: what is which branch up for?

2015-01-28 Thread Alan D. Cabrera
I am dense.  :)

Can you provide an explicit example?  

> On Jan 28, 2015, at 11:09 PM, Romain Manni-Bucau  
> wrote:
> 
> Cause it implies history rewrite by design
> Le 29 janv. 2015 07:51, "Alan D. Cabrera"  a écrit :
> 
>> 
>>> On Jan 28, 2015, at 1:59 AM, Romain Manni-Bucau 
>> 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.
>> 
>> I’m sure that I’m being dense but how is this form of branch management
>> not the apache way?
>> 
>> 
>> Regards,
>> Alan
>> 
>> 



Re: what is which branch up for?

2015-01-28 Thread Romain Manni-Bucau
Well it basically forces you to move commits to master once you released
and since that is git you can rewrite the history (caricatirally you ll
just add 1 commit to master saying release-x).

If you dont want to use it what is the point having another dev dead branch
- ie master? Seeing last stable release? That is a tag. Seeing last stable
state - ie you update it regularly? No way to have it without the release
process - we failed at it for each releases and it would be worse than
using current snapshots.
 Le 29 janv. 2015 08:13, "Alan D. Cabrera"  a écrit :

> I am dense.  :)
>
> Can you provide an explicit example?
>
> > On Jan 28, 2015, at 11:09 PM, Romain Manni-Bucau 
> wrote:
> >
> > Cause it implies history rewrite by design
> > Le 29 janv. 2015 07:51, "Alan D. Cabrera"  a
> écrit :
> >
> >>
> >>> On Jan 28, 2015, at 1:59 AM, Romain Manni-Bucau  >
> >> 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.
> >>
> >> I’m sure that I’m being dense but how is this form of branch management
> >> not the apache way?
> >>
> >>
> >> Regards,
> >> Alan
> >>
> >>
>
>


Re: what is which branch up for?

2015-01-28 Thread Mark Struberg
+1

We don't even need upfront maintenance branches for 1.7.1 vs 1.7.2 etc.

IF we need to ship a 1.7.1.1 version, then we can easily create such a branch 
from the 1.7.1 tag at any time anyway.

Of course if it takes us longer to stabilize a version then we can roll a 
maintenance-1.7.1 branch even before we cut the release. But I'd only do this 
if we don't get this managed in other ways. Usually it is enough to just shout 
to the list that a release will be cut soon and people should abstain from 
committing experimental stuff but only fix important bugs on that branch.

LieGrue,
strub





> On Wednesday, 28 January 2015, 21:35, Romain Manni-Bucau 
>  wrote:
> > 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).
> 
> 


Re: what is which branch up for?

2015-01-28 Thread Mark Struberg
Again, gitflow IS nice if you have a bunch of juniors who don't know much what 
they do. And they keep trashing your project every single day... But for such 
projects I'd rather use Gerrit and enforce a tight review chain.


If you have a mature team then you don't need all this stuff. 

If someone mails to the list that he is working towards 1.7.2 then I hope that 
everybody will simply not commit any experimental stuff to this branch.

LieGrue,
strub





> On Wednesday, 28 January 2015, 23:00, Thiago Veronezi  
> wrote:
> > Hmmm... I think I see how it works now. It starts to make more sense. :)
> Something doesn't feel right though. Why Gitflow is so popular? How would
> it protect the companies from having bad commits? I need to think about it.
> Just wanted to let you know that I see your point.
> 
> []s,
> Thiago.
> 
> 
> 
> On Wed, Jan 28, 2015 at 4:32 PM, Romain Manni-Bucau 
> 
> wrote:
> 
>>  2015-01-28 22:29 GMT+01:00 Thiago Veronezi :
>>  > But if you only have master, any quick fix would bring unnecessary
>>  baggage,
>>  > right?
>>  > I mean, merging the fix changes from 2.x.x to master would be trivial
>>  > because it would only contain changes for that particular fix.
>>  >
>>  > If the release tags are on master, for a quick fix, we would need to
>>  create
>>  > a new branch from the latest release tag, do the fix in the new branch
>>  and
>>  > release it again. Where would this new release tag live? Do we keep 
> this
>>  > new branch just to hold a minor code change for a bug fix?
>> 
>>  If that's a fix for a recent release we just create a branch for the
>>  release, release, tag, delete the release branch - like we'd have do
>>  it just after the release ignoring all commit in between.
>> 
>>  Otherwise you are back to current status = you merge all commit done
>>  on 2.x on master which is:
>>  1) useless
>>  2) makes a lot of noise when done
>>  3) makes getting started not obvious (need doc)
>> 
>> 
>>  >
>>  > []s,
>>  > Thiago
>>  >
>>  >
>>  > On Wed, Jan 28, 2015 at 4:17 PM, Romain Manni-Bucau <
>>  rmannibu...@gmail.com>
>>  > wrote:
>>  >
>>  >> well you shouldn't rebase/merge from a lower to upper branch 
> IMO - ie
>>  >> it is always fixed first on mainstream then backported if needed - 
> or
>>  >> just dev in the lower version if specific.
>>  >>
>>  >> That said this doesn't justify 2.x while master = 2.x
>>  >>
>>  >>
>>  >> Romain Manni-Bucau
>>  >> @rmannibucau
>>  >> http://www.tomitribe.com
>>  >> http://rmannibucau.wordpress.com
>>  >> https://github.com/rmannibucau
>>  >>
>>  >>
>>  >> 2015-01-28 22:12 GMT+01:00 Thiago Veronezi 
> :
>>  >> > Maybe it can be something like...
>>  >> >
>>  >> > Quick bug fix in 2.x.x:
>>  >> > * You fix your issue in "2.x.x"
>>  >> > * Call a vote for "2.x.x".
>>  >> > * The vote passes. You merge "2.x.x" back to 
> "master".
>>  >> > * You create a new tag in 2.x.x -> Let's call it 
> "tag 2.0.2"
>>  >> >
>>  >> > Normal 2.x.x release
>>  >> > * You rebase "2.x.x"
>>  >> > * You follow the same steps as the ones for "quick bug 
> fixes in 2.x.x"
>>  >> >
>>  >> > This way we avoid the auxiliary branches. We just need to be 
> sure that
>>  >> > "2.x.x" is not a development branch. It needs to be 
> stable. So, once
>>  we
>>  >> > rebase it, we need to make it stable before merging it back 
> to master.
>>  >> > "2.x.x" is the branch that contains the release 
> tags.
>>  >> >
>>  >> > []s,
>>  >> > Thiago.
>>  >> >
>>  >> >
>>  >> > On Wed, Jan 28, 2015 at 4:07 PM, Thiago Veronezi 
> >  >
>>  >> > wrote:
>>  >> >
>>  >> >> Hi,
>>  >> >> This is what I was thinking...
>>  >> >>
>>  >> >> Quick bug fix in 2.x.x:
>>  >> >> * You create a new auxiliary branch from 2.x.x. -> 
> Let's call it
>>  "2.0.2"
>>  >> >> as example
>>  >> >> * You fix your issue in this new "2.0.2" branch
>>  >> >> * Call a vote for "2.0.2".
>>  >> >> * The vote passes. You merge "2.0.2" back to 
> "2.x.x".
>>  >> >> * You create a new tag in 2.x.x -> Let's call it 
> "tag 2.0.2"
>>  >> >> * You destroy the auxiliary branch "2.0.2"
>>  >> >> * You merge "2.x.x"  back to master.
>>  >> >>
>>  >> >> Normal 2.x.x release
>>  >> >> * You rebase "2.x.x"
>>  >> >> * You follow the same steps as the ones for "quick 
> bug fixes in
>>  2.x.x"
>>  >> >>
>>  >> >> []s,
>>  >> >> Thiago.
>>  >> >>
>>  >> >>
>>  >> >>
>>  >> >> On Wed, Jan 28, 2015 at 3:54 PM, Romain Manni-Bucau <
>>  >> rmannibu...@gmail.com
>>  >> >> > wrote:
>>  >> >>
>>  >> >>> If I have a fix to do in 2.x, where do I code? 2.x.x 
> or master?
>>  While
>>  >> >>> master = 2.x I'm not convinced we need it. Doesnt 
> solve the need of
>>  a
>>  >> >>> release branch while mvn tools are not compliant with 
> tomee setup.
>>  >> >>>
>>  >> >>>
>>  >> >>> Romain Manni-Bucau
>>  >> >>> @rmannibucau
>>  >> >>> http://www.tomitribe.com
>>  >> >>> http://rmannibucau.wordpress.com
>>  >> >>> https://github.com/rmannibucau
>>  >> >>>
>>  >> >>>
>>  >> >>> 2015-01-28 21:52 GMT+01:00 Thiago Veronezi 
> :
>>

Re: what is which branch up for?

2015-01-28 Thread Mark Struberg
Alan, the gitflow way is basically review then commit. Because the 'Release 
Manager' (of whom we lack...) needs to review and choose (cherry-pick) EACH AND 
EVERY SINGLE COMMIT. And even worse - by deleting the 'temp' branch afterwards 
we also loose all the other work later.

And once again: 

We must not delete anything from our repos! 

We must not squash commits!

We must not loose any history!
We must guarantee a verifyable code provenance!

Those are no 'should' those are MUST!


LieGrue,
strub





> On Thursday, 29 January 2015, 7:51, Alan D. Cabrera  
> wrote:
> > 
>>  On Jan 28, 2015, at 1:59 AM, Romain Manni-Bucau 
>  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.
> 
> I’m sure that I’m being dense but how is this form of branch management not 
> the 
> apache way?
> 
> 
> Regards,
> Alan
>