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

> If we do this, we should really automate that last part (have the CI 
> environment merge the staging branch to the non-staging ones on success).

This would be nice, but would require a bot with commit access, wouldn’t it?

-- 
AY

On May 7, 2015 at 16:12:31, Sylvain Lebresne (sylv...@datastax.com) 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 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 are rare, better to avoid them in the first place by  
simply  
commit new "fixup" commits as we currently do. Granted this give you a  
slightly  
less clean history but to the best of my knowledge, this hasn't been a pain  
point so far.  

> wait for CI; all clear  
>  
> git checkout cassandra-2.0; git merge cassandra-2.0_staging  
> git checkout cassandra-2.1; git merge cassandra-2.1_staging  
> git checkout trunk; git merge trunk_staging  
>  
> This does introduce some extra steps to the merge process  

If we do this, we should really automate that last part (have the CI  
environment merge the staging branch to the non-staging ones on success).  

> It seems if we want an "always releasable" set of branches, we need  
something  
> along these lines.  

Agreed as far as having staging branches vetoed by CI goes. Less sure about  
the edit-commit-in-place part as said above.  

> I certainly break tests by mistake, or the build itself, with alarming  
regularity.  

I agree running tests is painful, but at least for the build, this should be  
the responsibility of the committer to build before merging. We all forget  
it from  
times to times and that's ok, but it's not ok if it's "alarmingly regular".  

--  
Sylvain  

Reply via email to