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 <rmannibu...@gmail.com>
wrote:

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

Reply via email to