{"thread":{"id":"20957","subject":"Pair Programming Workflow Suggestions","startedAt":"2009-09-15T17:43:17Z","lastAt":"2009-09-20T15:37:34Z","messageCount":7,"participants":["Tim Visher","Sean Estabrooks","Jakub Narebski","Nicolas Sebrecht"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"123270","messageId":"c115fd3c0909151043v3216a147v35e18710fbead515@mail.gmail.com","threadId":"20957","inReplyTo":null,"subject":"Pair Programming Workflow Suggestions","fromName":"Tim Visher","fromEmail":"tim.visher@gmail.com","sentAt":"2009-09-15T17:43:17Z","receivedAt":"2009-09-15T17:43:17Z","isPatch":false,"sender":{"key":"tim.visher@gmail.com","avatar":"https://gravatar.com/avatar/98307ce54bcac1a46b5d845827d5386e2a27895ff08790cdd3877ad527760575?d=mp&s=160"},"body":"Hello Everyone,\n\nI'm interested in hearing how people use Git for pair programming.\nSpecifically, how do you document that you are programming in pairs.\nTypically, of course, you have a driver and a navigator.  It seems\nnatural to have a commit's author be the driver at the time, but that\ndoesn't seem to do justice to what pair programming is.  Really, both\npeople are normally coding, but one person is doing the typing and\nmost of the thinking while the other is acting as an in place code\nreviewer.  There are even cases where there's a third person involved.\n\nI did find [Brian Helmkamp's\nscript](http://www.brynary.com/2008/9/1/setting-the-git-commit-author-to-pair-programmers-names)\nbut that's not really what I'm looking for.  For instance, that would\nbreak the nice integration we have with Hudson at this point for\ndisplaying when a developer was last active.  It would be nicer to\nhave an arbitrary number of authors that can all exist separately, but\nI'm fairly certain that git does not support that.\n\nThoughts?\n\n\n-- \n\nIn Christ,\n\nTimmy V.\n\nhttp://burningones.com/\nhttp://five.sentenc.es/ - Spend less time on e-mail\n"},{"id":"123271","messageId":"BLU0-SMTP195165E447A0C42386D083AEE30@phx.gbl","threadId":"20957","inReplyTo":"c115fd3c0909151043v3216a147v35e18710fbead515@mail.gmail.com","subject":"Re: Pair Programming Workflow Suggestions","fromName":"Sean Estabrooks","fromEmail":"seanlkml@sympatico.ca","sentAt":"2009-09-15T18:14:13Z","receivedAt":"2009-09-15T18:14:13Z","isPatch":false,"sender":{"key":"seanlkml@sympatico.ca","avatar":"https://gravatar.com/avatar/f92923f54fc08c401fc59b71829d4b89e9b8087fbba45ff87c82e6a83aee02ae?d=mp&s=160"},"body":"On Tue, 15 Sep 2009 13:43:17 -0400\nTim Visher <tim.visher@gmail.com> wrote:\n\n[...]\n> It would be nicer to\n> have an arbitrary number of authors that can all exist separately, but\n> I'm fairly certain that git does not support that.\n\nTim,\n\nIf you're just looking for a way to quickly switch the author information\nquickly between individual commits.  You could create a shell alias for\neach of the programmers that does:\n\n   export GIT_AUTHOR_NAME=\"some name\" GIT_AUTHOR_EMAIL=\"name@where.com\"\n\nThis will override the global and per repo configured author information\nfor all subsequent commits.\n\nHTH,\nSean\n"},{"id":"123272","messageId":"m3zl8w2hpf.fsf@localhost.localdomain","threadId":"20957","inReplyTo":"c115fd3c0909151043v3216a147v35e18710fbead515@mail.gmail.com","subject":"Re: Pair Programming Workflow Suggestions","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2009-09-15T18:20:15Z","receivedAt":"2009-09-15T18:20:15Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Tim Visher <tim.visher@gmail.com> writes:\n\n> I'm interested in hearing how people use Git for pair programming.\n> Specifically, how do you document that you are programming in pairs.\n\n[...]\n\n> I did find Brian Helmkamp's script\n> http://www.brynary.com/2008/9/1/setting-the-git-commit-author-to-pair-programmers-names\n> but that's not really what I'm looking for. [...]\n\nI'm not sure if this would help you, but take a look at \"Pair\nProgramming & git & github & Gravatar & You & You\" blog post by Jon\n\"Lark\" Larkowski from May 30, 2009:\n\n  http://blog.l4rk.com/2009/05/pair-programming-git-github-gravatar.html\n\n-- \nJakub Narebski\nPoland\nShadeHawk on #git\n"},{"id":"123348","messageId":"c115fd3c0909160635x4d7368aeg4370668d765fd242@mail.gmail.com","threadId":"20957","inReplyTo":"BLU0-SMTP195165E447A0C42386D083AEE30@phx.gbl","subject":"Re: Pair Programming Workflow Suggestions","fromName":"Tim Visher","fromEmail":"tim.visher@gmail.com","sentAt":"2009-09-16T13:35:09Z","receivedAt":"2009-09-16T13:35:09Z","isPatch":false,"sender":{"key":"tim.visher@gmail.com","avatar":"https://gravatar.com/avatar/98307ce54bcac1a46b5d845827d5386e2a27895ff08790cdd3877ad527760575?d=mp&s=160"},"body":"On Tue, Sep 15, 2009 at 2:14 PM, Sean Estabrooks <seanlkml@sympatico.ca> wrote:\n> On Tue, 15 Sep 2009 13:43:17 -0400\n> Tim Visher <tim.visher@gmail.com> wrote:\n>\n> [...]\n>> It would be nicer to\n>> have an arbitrary number of authors that can all exist separately, but\n>> I'm fairly certain that git does not support that.\n>\n> Tim,\n>\n> If you're just looking for a way to quickly switch the author information\n> quickly between individual commits.  You could create a shell alias for\n> each of the programmers that does:\n>\n>   export GIT_AUTHOR_NAME=\"some name\" GIT_AUTHOR_EMAIL=\"name@where.com\"\n>\n> This will override the global and per repo configured author information\n> for all subsequent commits.\n\nThat is an interesting idea.  My point is really that having a\ncommitter and an author is something that makes sense in terms of\nnon-pairing.  Especially in the OS world where developers may never\neven get to meet, let alone code together, one developer writes a\nfeature somewhere and then submits it to the maintainer and the\nmaintainer puts it in.  Pairing, on the other hand, is much more\ntightly integrated than that.  Just like in Brian's post, it's really\na situation of Dev1 _&_ Dev2 wrote this feature, but one of them\nhappened to be typing and doing most of the nitty-gritty developing.\nChanging the authors between committs almost seems to introduce an\narbitrary level of distinction where it's no longer _both_ but _one\nthen the other_.  Does that make my question any clearer?\n\n-- \n\nIn Christ,\n\nTimmy V.\n\nhttp://burningones.com/\nhttp://five.sentenc.es/ - Spend less time on e-mail\n"},{"id":"123349","messageId":"c115fd3c0909160636k6ce7441m70ecf23247e4d7d0@mail.gmail.com","threadId":"20957","inReplyTo":"m3zl8w2hpf.fsf@localhost.localdomain","subject":"Re: Pair Programming Workflow Suggestions","fromName":"Tim Visher","fromEmail":"tim.visher@gmail.com","sentAt":"2009-09-16T13:36:12Z","receivedAt":"2009-09-16T13:36:12Z","isPatch":false,"sender":{"key":"tim.visher@gmail.com","avatar":"https://gravatar.com/avatar/98307ce54bcac1a46b5d845827d5386e2a27895ff08790cdd3877ad527760575?d=mp&s=160"},"body":"On Tue, Sep 15, 2009 at 2:20 PM, Jakub Narebski <jnareb@gmail.com> wrote:\n> Tim Visher <tim.visher@gmail.com> writes:\n>\n>> I'm interested in hearing how people use Git for pair programming.\n>> Specifically, how do you document that you are programming in pairs.\n>\n> [...]\n>\n>> I did find Brian Helmkamp's script\n>> http://www.brynary.com/2008/9/1/setting-the-git-commit-author-to-pair-programmers-names\n>> but that's not really what I'm looking for. [...]\n>\n> I'm not sure if this would help you, but take a look at \"Pair\n> Programming & git & github & Gravatar & You & You\" blog post by Jon\n> \"Lark\" Larkowski from May 30, 2009:\n>\n>  http://blog.l4rk.com/2009/05/pair-programming-git-github-gravatar.html\n\nUnfortunately my company firewall is blocking that post.  I'll have to\nread it later.  Thanks for the pointer though!\n\n-- \n\nIn Christ,\n\nTimmy V.\n\nhttp://burningones.com/\nhttp://five.sentenc.es/ - Spend less time on e-mail\n"},{"id":"123351","messageId":"20090916141730.GA24893@vidovic","threadId":"20957","inReplyTo":"c115fd3c0909160635x4d7368aeg4370668d765fd242@mail.gmail.com","subject":"Re: Pair Programming Workflow Suggestions","fromName":"Nicolas Sebrecht","fromEmail":"nicolas.s.dev@gmx.fr","sentAt":"2009-09-16T14:17:30Z","receivedAt":"2009-09-16T14:17:30Z","isPatch":false,"sender":{"key":"nicolas.s.dev@gmx.fr","avatar":null},"body":"The 16/09/09, Tim Visher wrote:\n> \n>                         Pairing, on the other hand, is much more\n> tightly integrated than that.  Just like in Brian's post, it's really\n> a situation of Dev1 _&_ Dev2 wrote this feature, but one of them\n> happened to be typing and doing most of the nitty-gritty developing.\n> Changing the authors between committs almost seems to introduce an\n> arbitrary level of distinction where it's no longer _both_ but _one\n> then the other_.  Does that make my question any clearer?\n\nFMPOV (and to follow the Pair Programming purpose), there isn't an \"I\"\nin \"Pair\".  So having the same author name and sign-off for each pair is\nwhat makes most sense. IMHO, \"dev1_and_dev2\" is actually the best\noption.\n\n-- \nNicolas Sebrecht\n"},{"id":"123542","messageId":"c115fd3c0909200837r2b987bdcw2d360d172611ad3d@mail.gmail.com","threadId":"20957","inReplyTo":"20090916141730.GA24893@vidovic","subject":"Re: Pair Programming Workflow Suggestions","fromName":"Tim Visher","fromEmail":"tim.visher@gmail.com","sentAt":"2009-09-20T15:37:34Z","receivedAt":"2009-09-20T15:37:34Z","isPatch":false,"sender":{"key":"tim.visher@gmail.com","avatar":"https://gravatar.com/avatar/98307ce54bcac1a46b5d845827d5386e2a27895ff08790cdd3877ad527760575?d=mp&s=160"},"body":"On Wed, Sep 16, 2009 at 10:17 AM, Nicolas Sebrecht <nicolas.s.dev@gmx.fr> wrote:\n> The 16/09/09, Tim Visher wrote:\n>>\n>>                         Pairing, on the other hand, is much more\n>> tightly integrated than that.  Just like in Brian's post, it's really\n>> a situation of Dev1 _&_ Dev2 wrote this feature, but one of them\n>> happened to be typing and doing most of the nitty-gritty developing.\n>> Changing the authors between committs almost seems to introduce an\n>> arbitrary level of distinction where it's no longer _both_ but _one\n>> then the other_.  Does that make my question any clearer?\n>\n> FMPOV (and to follow the Pair Programming purpose), there isn't an \"I\"\n> in \"Pair\".  So having the same author name and sign-off for each pair is\n> what makes most sense. IMHO, \"dev1_and_dev2\" is actually the best\n> option.\n\nThat's certainly interesting.  I guess I just assumed, not having too\nmuch practical experience with actually pairing, that the driver would\nbe doing most of the coding for a given commit…  It's true that that's\nnot really the case.\n\nDo you guys use Hudson or something similar when you're pairing?\nHow's your experience regarding how it interoperates with the\ndev_1_and_dev_2 naming convention?\n\n-- \n\nIn Christ,\n\nTimmy V.\n\nhttp://burningones.com/\nhttp://five.sentenc.es/ - Spend less time on e-mail\n"}]}