From: Sebastian K. <se...@hi...> - 2013-06-30 03:57:36
|
On 06/29/2013 09:06 PM, Matt Shaver wrote: > On Sat, 29 Jun 2013 21:34:43 -0500 > Charles Steinkuehler <ch...@st...> wrote: > >> Anyway, what I really want is a way for Joe Average New User to be >> able to tweak a HAL component, configuration, kinematics module, or >> similar, share the results with the community, and (should the code >> prove good enough) get it merged with the experimental (Sid) branch of >> LinuxCNC. > > The simplest way to deal with this is to give anyone who wants it, > commit access to their own branch on git.linuxcnc.org. Somebody could > have multiple branches for different ideas, including a 'Sid' branch if > they are interested in being its maintainer. Commit access to master, > v2.4_branch, and v2.5_branch are restricted to their respective release > managers. Maybe there's even some add-on program you can get for a git > server that facilitates collaboration and implements a "pull request" > type system for the local developers. > > Does anyone know if that's possible? I think it's possible. Check out the githooks(5) manpage, the "pre-receive" section. It runs on the server (in the git repo you're pushing to), and it gets to decide whether to accept or reject the push. We'd need to figure out the policy (on the Monthly IRC Meeting!) but one could easily write a script that accepts pushes to any branch whose name begins with "$USERNAME/" (ie the name of the user doing the push), and rejects other pushes (with exceptions for release branch managers etc). That would give each committer their own branch namespace to play in (including full buildbot testing), while preventing accidental or malicious pushes to the sacred stable branches. (Actually, I see now that the hook script does not get the username of the person doing the push on the command line or on stdin, but maybe it's available in the environment? $USER?) This does not provide the kind of shared development space that we occasionally use (for example the rtos branch that Michael and Zultron and Charles worked on, or the halui jog test fix branch that cradek and I worked on), but one can imagine ever more baroque epicycles that extend the basic functionality. If, you know, that's what the People's Steering Committe decides we want. ;-) -- Sebastian Kuzminsky |