git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Coping with the pull-before-you-push model

From
Theodore Tso <tytso@mit.edu>
Date
Sep 14, 2010, 12:12 UTC
Message-ID
<D4360EBB-7891-457E-A6AC-7159CADCAC6C@mit.edu>
In-Reply-To
<4C8EFE62.7080908@workspacewhiz.com>
On Sep 14, 2010, at 12:47 AM, Joshua Jensen wrote:
Show 11 quoted lines
>>> management, this looks like a step-backwards.
>> Bear in mind that you can still shift to a maintainer model, but keep
>> the maintainer automated. That is, you can queue up "to-pull" heads, and
>> then have an automated process pull them one by one and do some basic QA
>> (does it merge, does it build, does it pass automated tests, etc). Which
>> is not that different from what many shops do in the non-maintainer
>> model, except that when you break the build, the maintainer process
>> notices _before_ publishing the merged tip, so everybody won't try to
>> build on your broken crap.
>> 
> Do you know of any existing software that does this?  This may be ideal in the short term.
Our workflow at $WORK involves pushing changes to gerrit to various "effort branches", and then once they are approved, we have a "Mergitator" script that will attempt to merge the effort branch with the merged master branch, and then attempt to do a build.  If the build succeeds, then the changes will get pushed back to the publically visible merged master branch, and then the Mergitator will move on to the next effort branch that requires merging.   If there is a merge conflict, the Mergitator will refuse the merge, and then give instructions on how to fix up the tree to avoid merge conflicts.
The Mergitator code hasn't been released, and I suspect the main reason is that there's relatively little code that could be used outside of our environment, and a large amount of code which contains lots of details about our internal build system that would have to be stripped out and generalized before it could be released --- and no one has time to do it.
So this probably doesn't help you since I suspect you meant to ask the question, "do you know of any existing publically available software", but I can tell you that it certainly can be done, and that software exists.  Making it be software which is useful and usable to you would definitely take more work...
-- Ted
Previous: David BrownNext: Joshua Jensen
Message 10 of 14 in “Coping with the pull-before-you-push model”
  1. Joshua JensenSep 9, 2010
  2. Ævar Arnfjörð BjarmasonSep 9, 2010
  3. Joshua JensenSep 9, 2010
  4. Jon SeymourSep 10, 2010
  5. Jeff KingSep 10, 2010
  6. Joshua JensenSep 14, 2010
  7. Jeff KingSep 14, 2010
  8. Avery PennarunSep 14, 2010
  9. David BrownSep 15, 2010
  10. Theodore TsoSep 14, 2010
  11. Joshua JensenSep 14, 2010
  12. Eugene SajineSep 14, 2010
  13. Ted Ts'oSep 14, 2010
  14. Joshua JensenSep 14, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.