Re: Staging Branches

2015-05-07 Thread Ariel Weisberg
ith the developers > > total/committers ratio that we have now, it helps the process scale > better. > > > > -- > > AY > > > > On May 7, 2015 at 19:02:36, Benedict Elliott Smith ( > > belliottsm...@datastax.com) wrote: > > > > > > > > I wou

Re: Staging Branches

2015-05-07 Thread Aleksey Yeschenko
process scale better. > > -- > AY > > On May 7, 2015 at 19:02:36, Benedict Elliott Smith ( > belliottsm...@datastax.com) wrote: > > > > > I would argue that we must *at least* do the following for now. > > > If we get this right, t

Re: Staging Branches

2015-05-07 Thread Ryan McGuire
tio that we have now, it helps the process scale better. > > -- > AY > > On May 7, 2015 at 19:02:36, Benedict Elliott Smith ( > belliottsm...@datastax.com) wrote: > > > > > I would argue that we must *at least* do the following for now. > > > If we get this right

Re: Staging Branches

2015-05-07 Thread Aleksey Yeschenko
> > I would argue that we must *at least* do the following for now. If we get this right, the extra staging branches can certainly wait to be assessed until later. IMO, any patch should have a branch in CI for each affected mainline branch, and should have the commit comp

Re: Staging Branches

2015-05-07 Thread Benedict Elliott Smith
> > I would argue that we must *at least* do the following for now. If we get this right, the extra staging branches can certainly wait to be assessed until later. IMO, any patch should have a branch in CI for each affected mainline branch, and should have the commit completely wi

Re: Staging Branches

2015-05-07 Thread Ariel Weisberg
the new merge > > did > > > > not > > > > >> >> > conflict or mess up the other people's C2 to C4 commits, and > > they > > > > >> have to > > > > >> >> > now merge on top. But what if another merge comes in, C6

Re: Staging Branches

2015-05-07 Thread Jonathan Ellis
On Thu, May 7, 2015 at 7:13 AM, Aleksey Yeschenko wrote: > > That said, perhaps it’s too much change at once. We still have missing > pieces of infrastructure, and TE is busy with what’s already back-logged. > So let’s revisit this proposal in a few months, closer to 3.1 or 3.2, maybe? > Agreed.

Re: Staging Branches

2015-05-07 Thread Josh McKenzie
meantime; > > > >> >> > and C2 really did also break the tests in some way; how do we > > > >> determine > > > >> >> C2 > > > >> >> > was to blame, and not C6, or C3 or C4? What do the commit

Re: Staging Branches

2015-05-07 Thread Ariel Weisberg
lved. Really we > > have > > >> to > > >> >> > prevent any merges to the staging repository until the mistakes > are > > >> >> fixed. > > >> >> > Since our races in these scenario are the length of time taken > for &

Re: Staging Branches

2015-05-07 Thread Aleksey Yeschenko
a link to cassci for both of those branches passing doesn’t qualify as done to me. That alone will be enough to catch most merge-related regressions. Going with staging branches would also prevent any issues from concurrent pushes, but given the opposition, I’m fine with dropping that

Re: Staging Branches

2015-05-07 Thread Benedict Elliott Smith
cassci > >> >> > to vet them, these problems are much more likely than current race > to > >> >> > commit. > >> >> > > >> >> > In the scheme I propose, in this scenario, the person who broke the > >> build > >&g

Re: Staging Branches

2015-05-07 Thread Josh McKenzie
re > trying to do. > > So the phrase "Trunk is always releasable" definitely has some wiggle room > because you have to define what your release process is. > > If your requirement is that at any time you be able to tag trunk and ship > it within minutes then yes staging

Re: Staging Branches

2015-05-07 Thread Jake Luciani
build >> >> > rebases everyone's branches to his now fixed commit, and the next >> broken >> >> > commit gets blamed, and all other commits being merged in on top can >> go >> >> in >> >> > smoothly. The only pain point I can think

Re: Staging Branches

2015-05-07 Thread Ariel Weisberg
quot; definitely has some wiggle room because you have to define what your release process is. If your requirement is that at any time you be able to tag trunk and ship it within minutes then yes staging branches help solve that problem. The reality is that the release process always takes low singl

Re: Staging Branches

2015-05-07 Thread Benedict Elliott Smith
> > but this is solved by git rerere. > >> > > >> > I agree running tests is painful, but at least for the build, this > should > >> >> be the responsibility of the committer to build before merging > >> > > >> > > >> &

Re: Staging Branches

2015-05-07 Thread Jake Luciani
l-clean && ant tasks, and >> increases >> > the race window for merging (which is painful whether or not involves a >> > rebase), and it is not a *typical* occurrence ("alarming" is subjective) >> > >> > On Thu, May 7, 2015 at 2:12 PM, Sylvai

Re: Staging Branches

2015-05-07 Thread Benedict Elliott Smith
> > > > Ariel > > > > On Thu, May 7, 2015 at 5:05 AM, Benedict Elliott Smith < > > belliottsm...@datastax.com> wrote: > > > > > A good practice as a committer applying a patch is to build and run the > > > unit tests before updating the main r

Re: Staging Branches

2015-05-07 Thread Benedict Elliott Smith
typical* occurrence ("alarming" is subjective) > > > > On Thu, May 7, 2015 at 2:12 PM, Sylvain Lebresne > > wrote: > > > >> > If one of them breaks, we go and edit the _staging branch in place to > >> correct > >> > the problem, and let CI

Re: Staging Branches

2015-05-07 Thread Jeremiah D Jordan
gt;> unit tests before updating the main repository, but to do this for every >>> branch is infeasible and impacts local productivity. Alternatively, >>> uploading the result to your development tree and waiting a few hours for >>> CI to validate it is likely to result

Re: Staging Branches

2015-05-07 Thread Ariel Weisberg
ranch is infeasible and impacts local productivity. Alternatively, > > uploading the result to your development tree and waiting a few hours for > > CI to validate it is likely to result in a painful cycle of race-to-merge > > conflicts, rebasing and waiting again for the

Re: Staging Branches

2015-05-07 Thread Ryan McGuire
roductivity. Alternatively, > > uploading the result to your development tree and waiting a few hours for > > CI to validate it is likely to result in a painful cycle of race-to-merge > > conflicts, rebasing and waiting again for the tests to run. > > > > So I would like

Re: Staging Branches

2015-05-07 Thread Aleksey Yeschenko
it is likely to result in a painful cycle of race-to-merge > conflicts, rebasing and waiting again for the tests to run. > > So I would like to propose a new strategy: staging branches. > > Every major branch would have a parallel branch: > > cassandra-2.0 <- cassandr

Re: Staging Branches

2015-05-07 Thread Ariel Weisberg
painful cycle of race-to-merge > conflicts, rebasing and waiting again for the tests to run. > > So I would like to propose a new strategy: staging branches. > > Every major branch would have a parallel branch: > > cassandra-2.0 <- cassandra-2.0_staging > cassandra-2.1 &l

Re: Staging Branches

2015-05-07 Thread Josh McKenzie
; > wrote: > > > >> > If one of them breaks, we go and edit the _staging branch in place to > >> correct > >> > the problem, and let CI run again. > >> > >> I would strongly advise against *in place* edits. If we do it, we'll > end u

Re: Staging Branches

2015-05-07 Thread Jake Luciani
nch in place to >> correct >> > the problem, and let CI run again. >> >> I would strongly advise against *in place* edits. If we do it, we'll end up >> in >> weird situations which will be annoying for everyone. Editing commits that >> have >> been

Re: Staging Branches

2015-05-07 Thread Benedict Elliott Smith
up > in > weird situations which will be annoying for everyone. Editing commits that > have > been shared is almost always a bad idea and that's especially true for > branch > that will have some amount of concurrency like those staging branches. > > Even if such problems

Re: Staging Branches

2015-05-07 Thread Jake Luciani
r >> CI to validate it is likely to result in a painful cycle of race-to-merge >> conflicts, rebasing and waiting again for the tests to run. >> >> So I would like to propose a new strategy: staging branches. >> >> Every major branch would have a parallel branch:

Re: Staging Branches

2015-05-07 Thread Aleksey Yeschenko
g a few hours for > CI to validate it is likely to result in a painful cycle of race-to-merge > conflicts, rebasing and waiting again for the tests to run. > > So I would like to propose a new strategy: staging branches. > > Every major branch would have a parall

Re: Staging Branches

2015-05-07 Thread Jake Luciani
the tests to run. > > So I would like to propose a new strategy: staging branches. > > Every major branch would have a parallel branch: > > cassandra-2.0 <- cassandra-2.0_staging > cassandra-2.1 <- cassandra-2.1_staging > trunk <- trunk_staging > > On commit,

Re: Staging Branches

2015-05-07 Thread Aleksey Yeschenko
> Agreed as far as having staging branches vetoed by CI goes. Less sure about  > the edit-commit-in-place part as said above. Right. That’s just an implementation detail (in place vs. extra fix up commits). The latter is less annoying for the team in general, let’s do that instead. >

Re: Staging Branches

2015-05-07 Thread Sylvain Lebresne
d is almost always a bad idea and that's especially true for branch that will have some amount of concurrency like those staging branches. Even if such problems are rare, better to avoid them in the first place by simply commit new "fixup" commits as we currently do. Granted thi

Re: Staging Branches

2015-05-07 Thread Gary Dusbabek
ng and waiting again for the tests to run. > > So I would like to propose a new strategy: staging branches. > > Every major branch would have a parallel branch: > > cassandra-2.0 <- cassandra-2.0_staging > cassandra-2.1 <- cassandra-2.1_staging > trunk <- trunk_stagi

Re: Staging Branches

2015-05-07 Thread Aleksey Yeschenko
. Alternatively, uploading the result to your development tree and waiting a few hours for CI to validate it is likely to result in a painful cycle of race-to-merge conflicts, rebasing and waiting again for the tests to run. So I would like to propose a new strategy: staging branches. Every

Staging Branches

2015-05-07 Thread Benedict Elliott Smith
validate it is likely to result in a painful cycle of race-to-merge conflicts, rebasing and waiting again for the tests to run. So I would like to propose a new strategy: staging branches. Every major branch would have a parallel branch: cassandra-2.0 <- cassandra-2.0_staging cassandra-