{"thread":{"id":"22389","subject":"Re: [Mesa3d-dev] mesa_7_7_branch -> master merges","startedAt":"2010-01-25T19:14:33Z","lastAt":"2010-01-25T19:14:33Z","messageCount":1,"participants":["tom fogal"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"132623","messageId":"auto-000021766326@sci.utah.edu","threadId":"22389","inReplyTo":null,"subject":"Re: [Mesa3d-dev] mesa_7_7_branch -> master merges","fromName":"tom fogal","fromEmail":"tfogal@sci.utah.edu","sentAt":"2010-01-25T19:14:33Z","receivedAt":"2010-01-25T19:14:33Z","isPatch":false,"sender":{"key":"tfogal@sci.utah.edu","avatar":null},"body":"This bounced, it seems because Jose's [1] name is not representable in\n8bit ASCII (some header wasn't, at least).\n\nI'm not cc'ing Mesa to avoid spamming everyone.  I'm not sure\nnon-subscribers can post there anyway.  Jose or myself will forward\nalong any relevant discussion...\n\n[1] sorry for misspelling it there..\n\n------- Forwarded Message\n\nFrom: tom fogal <tfogal@alumni.unh.edu>\nTo: José Fonseca <jfonseca@vmware.com>\ncc: mesa3d-dev <mesa3d-dev@lists.sourceforge.net>, git@vger.kernel.org\nSubject: Re: [Mesa3d-dev] mesa_7_7_branch -> master merges \nIn-Reply-To: Your message of \"Mon, 25 Jan 2010 18:14:24 GMT.\"\n             <1264443264.3029.255.camel@jfonseca-laptop> \nReferences: <1264424650.3029.155.camel@jfonseca-laptop> <auto-000021765525@sci.utah.edu>  <1264443264.3029.255.camel@jfonseca-laptop> \nDate: Mon, 25 Jan 2010 12:04:00 -0700\n\nI think we've touched on a core git workflow issue here, and its likely\nothers have hit this && have a solution, so I've added the git ML to\nthe CC list.\n\nGit: the situation in this repo is a fast-moving master that is\nincluding many changes to internal interfaces.  Stable branches just\nget bugfixes, and are periodically merged to master.  However, the more\nthe heads diverge, the more difficult it is for a bugfix to merge into\nthe head.  The major issue is that more experienced developers should\nreally weigh in on these merges, because they tend to automagically\nundo some of the interface changes.  Yet during such a delay, master\ninevitably moves, and the bugfixer has to do even more work to \"redo\"\nthe merge (and potentially get more review!).\n\nOf course, if there are two bugfixers trying to make separate changes\nin the same time period, this gets worse.\n\nIs there a workflow that can solve this issue?\n\n writes:\n> On Mon, 2010-01-25 at 09:52 -0800, tom fogal wrote:\n> > writes:\n> > [snip]\n> > > The ideal would be to peer-review the merges before committing,\n> > > but it seems difficult to do that with git, while preserving merge\n> > > history and not redoing merges.\n> > \n> > Google has developed an infrastructure to do peer review using git.\n> > `Gerrit':\n[snip]\n> Review infrastructures are nice. I'd have some bias towards\n> http://www.reviewboard.org/  by the similar reasons ;)\n\nHeh, yeah I can understand the bias ;)\n\nPersonally, I'm not keen on a review tool I can't use from the command\nline, or at least not-the-web.  Then again, my reviews wouldn't really\nbe important in Mesa, so my opinion is irrelevant here ;)\n\n> But automated infrastructures aside, my worry with reviewing merges is\n> the actual constraints that git has. For example, let's suppose the\n> following scenario:\n> \n> 1) Developer A merges a stable branch into master.\n> 2) After spending a bunch of time fixing conflicts the best he can, he\n> emails the patch to mesa3d-dev for peer review.\n> 3) Developer B checks in a change into master.\n> 4) Developer A takes feedback from list, updates the code, and commits.\n> 5) Developer A cannot push because remote head has moved.\n> \n> So what can Developer A do now?\n>\n> a) Redo the merge, using the new master head.\n> b) Rebase the merge on top of the new head (I'm not sure it works, or\n> that it preserves branch history)\n> c) Double merge, i.e., merge its local head with the new master head.\n\nHrm, I was thinking of some sort of staging branch, but I can't think\nof a good way to make it work.  The crux of the issue seems to be that\na developer needs to somehow give a version control promise that they\nwill do the merge, even if the merge isn't done yet, because otherwise\nanyone else coming afterwards will duplicate the work (potentially\nincorrectly).  That would mean some kind of lock though, which sounds\nlike a terrible idea...\n\n- -tom\n\n------- End of Forwarded Message\n"}]}