Hi,
Yesterday mozilla's staff rust developers agreed to alter the git
workflow for the mozilla/rust repository, to help ensure master always
remains green (and cut down on the amount of anxious tree-watching and
panicked scrambles to unblock others).
Until further notice, the policy is outlined here:
https://github.com/mozilla/rust/wiki/Note-git-workflow
Please ask questions if you have any. We've switched to working this way
and ask that anyone else developing against the mozilla/rust repo do the
same.
Briefly:
- Develop against 'master' if you want an always-green baseline.
- Develop against 'incoming' if you want a current-during-the-day
baseline. It might not work though.
- In _both_ cases, rebase and target pull requests against 'incoming'
when you are ready for integration.
In more detail:
- Pushes to 'incoming' are ok even if it's on fire. Check back to
see how your work fared. Be prepared to be backed out.
- There is a new role, sheriff, who is the only person authorized to
push to 'master' during the day. This is informally enforced.
- Sheriff's job is to help 'incoming' achieve green-ness regularly
(once a day at least) then integrate to 'master'. Current sheriff
for the tree will be written in the IRC channel topic.
- Pushes to 'master' are only done by the sheriff, when/if there's an
all-green checkpoint on 'incoming'.
- The sheriff will back out any unaddressed burning on 'incoming'
if it sits there for "too long". That is a judgment call.
- If you're curious about why the tree is on fire and can't figure it
out, ask the sheriff. There may be some other breakage in progress
of being fixed-or-backed-out, that will make sense.
- The sheriff will inform anyone whose change was backed out, via
email. Make sure the email address you commit under goes to you.
- At some point we might make the sheriff into a robot, but we don't
quite have the logic worked out for that yet.
Thanks,
-Graydon
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev