[oi-dev] Lets talk about Git

Bayard Bell buffer.g.overflow at gmail.com
Sun Feb 12 23:31:12 UTC 2012


Thanks for the write-up and diagram, Jeppe.

I don't think the idea is that "trusted" means that a commit goes right to
the repo: I think trusted means if it clears CI, it's good to go. Everyone
else has to have eyeballs and peer review. Maybe core people can do manual
pushes straight to the repo, but I think that must be a separate level of
trust from a developer whose put forward some clean commits. Some areas may
not be verifiable through CI (e.g. changes to the userland tools
themselves), and I'd suggest those should always require peer review.

One other thing we need is a set of ground rules about what people should
change. In particular, I don't think we want to have a lot of volatility in
terms of what functionality is or isn't enabled in a component. We need to
set a clear expectation that changing those build characteristics must be
done with a dedicated issue and changeset, and I'd suggest that such
changes are an area where we might want to maintain some kind of peer
review just to check consensus. We may not be able to check that
programmatically, but the norm should be that doing an end-run around that
means losing developer status and having eyeballs on everything you do.

On Sun, Feb 12, 2012 at 9:56 PM, Jeppe Toustrup <openindiana at tenzer.dk>wrote:

> To quickly talk through it - new developers first of need to have a
> user on GitHub. That way they can create a fork of the
> illumos-userland repository on the site. They should create a new
> branch on their own fork for each change/package they want to add,
> since they then can put in a pull request to get the changes from one
> branch merged into the illumos-userland main repository.
>
> When a pull request gets in, it will trigger a build in Jenkins.
> Jenkins will then write a comment on the pull request with the results
> of the build. In case it failed, the contributor can work further on
> the code, and when new commits are added to the branch, it will start
> a new Jenkins build.
>
> When the build gets successful, the pull request will be tagged with
> "needs review", which then requires a moderator/trusted developer to
> look through the patch and accept it, or let the contributor know of
> any changes which may be required before we can accept it.
>
>
> For trusted developers, they can choose one of two things (this should
> probably be up for discussion).
> 1. Commit directly into the illumos-userland repository, the most
> direct way of putting stuff in.
> 2. Create the commits as they normally would, but instead of pushing
> them directly to illumos-userland, they make a pull request in order
> to get the commit checked by Jenkins. If the build is successful, we
> can make Jenkins accept the pull request by checking the user who made
> the pull request against the list of users with commit access to
> illumos-userland.
>
> Ideally everything should go through a pull request in order to get
> built by Jenkins so we make sure the code in illumos-userland can be
> build at all times. It only requires one extra step - to go and create
> a pull request, which basically just is a matter of clicking a button,
> and shortly describe what the pull request does. It is however up to
> the developers if they think this is reasonable or not.
>
> --
> Venlig hilsen / Kind regards
> Jeppe Toustrup (aka. Tenzer)
>
> _______________________________________________
> oi-dev mailing list
> oi-dev at openindiana.org
> http://openindiana.org/mailman/listinfo/oi-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openindiana.org/pipermail/oi-dev/attachments/20120212/85fafbbe/attachment-0005.html>


More information about the oi-dev mailing list