{"thread":{"id":"19504","subject":"tracking committer vs. author","startedAt":"2009-05-25T21:20:02Z","lastAt":"2009-05-26T05:10:11Z","messageCount":4,"participants":["Jeff Brown","Julian Phillips","Andreas Ericsson"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"114701","messageId":"bbd12f0f0905251420l1ab63ca5y32589a4451064b9a@mail.gmail.com","threadId":"19504","inReplyTo":null,"subject":"tracking committer vs. author","fromName":"Jeff Brown","fromEmail":"jeff@jeffandbetsy.net","sentAt":"2009-05-25T21:20:02Z","receivedAt":"2009-05-25T21:20:02Z","isPatch":false,"sender":{"key":"jeff@jeffandbetsy.net","avatar":"https://gravatar.com/avatar/cd26dfda40a1d0ab3331ff6fce1ef5b0b0d652ee6b65d91001e68d154588f1b8?d=mp&s=160"},"body":"I have noticed that when we pull changes from non-committers into our\nrepo, sometimes meta information about who committed the change to the\nrepo is included along side info about who actually wrote the changes.\n For example, see\nhttp://github.com/grails/grails/commit/8ac450c37d16b0468ba0f92d3008968fd6a41a75\nand note that graemerocher has commit privileges to the repo but\nihotary does not.  ihatory's commit was pulled in by graemerocher.\n\nThe commit at http://github.com/grails/grails/commit/ff770359d152683d5794887cd743a10ce7d04501\nwas also authored by a non committer.  I pulled that change in myself\nthis evening.  Notice that there is no info displayed there to\nindicate that I (jeffbrown) am the person who pushed that change into\nthe repo.\n\nI don't know what was done differently for those 2 scenarios but both\nof those commits were authored by folks who do not have commit\nprivileges to the repo at\nhttp://github.com/grails/grails/commits/master.\n\nI don't think this is a github issue.  If I am wrong, please let me know.\n\nIf I want to track not only who authored the commit but also who\npushed it into the repo (like you see at\nhttp://github.com/grails/grails/commit/8ac450c37d16b0468ba0f92d3008968fd6a41a75),\nwhat is the procedure for making that happen?\n\n\n\njb\n\n-- \nJeff Brown\nSpringSource\nhttp://www.springsource.com/\n\nAutism Strikes 1 in 166\nFind The Cause ~ Find The Cure\nhttp://www.autismspeaks.org/\n"},{"id":"114718","messageId":"alpine.LNX.2.00.0905260015430.32620@reaper.quantumfyre.co.uk","threadId":"19504","inReplyTo":"bbd12f0f0905251420l1ab63ca5y32589a4451064b9a@mail.gmail.com","subject":"Re: tracking committer vs. author","fromName":"Julian Phillips","fromEmail":"julian@quantumfyre.co.uk","sentAt":"2009-05-25T23:28:46Z","receivedAt":"2009-05-25T23:28:46Z","isPatch":false,"sender":{"key":"julian@quantumfyre.co.uk","avatar":"https://avatars.githubusercontent.com/u/948888?v=4"},"body":"On Mon, 25 May 2009, Jeff Brown wrote:\n\n> I have noticed that when we pull changes from non-committers into our\n> repo, sometimes meta information about who committed the change to the\n> repo is included along side info about who actually wrote the changes.\n> For example, see\n> http://github.com/grails/grails/commit/8ac450c37d16b0468ba0f92d3008968fd6a41a75\n> and note that graemerocher has commit privileges to the repo but\n> ihotary does not.  ihatory's commit was pulled in by graemerocher.\n>\n> The commit at http://github.com/grails/grails/commit/ff770359d152683d5794887cd743a10ce7d04501\n> was also authored by a non committer.  I pulled that change in myself\n> this evening.  Notice that there is no info displayed there to\n> indicate that I (jeffbrown) am the person who pushed that change into\n> the repo.\n>\n> I don't know what was done differently for those 2 scenarios but both\n> of those commits were authored by folks who do not have commit\n> privileges to the repo at\n> http://github.com/grails/grails/commits/master.\n\nYou say \"pulled\" for both commits, but do you mean that in an exact git \nsense (i.e. 'git pull ...' command was used)?  I assume not ...\n\nIf you pull from someone, then you get their commits, so they are the \ncommitter - on the other hand if you apply patches they have sent, then \nyou become committer (though they remain the author of course) as you \ncreate new commits (containing basically the same changes and message).\n\nIf you compare the git repository \n(http://git.kernel.org/?p=git/git.git;a=summary) where all changes are \nmade by Junio applying patches, to the Linux kernel \n(http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=summary) \nwhere Linus pulls from many (trusted) people you can see that while the \ncommits in git are all committed by Junio, the kernel commits are made by \na wide variety of people.\n\n> I don't think this is a github issue.  If I am wrong, please let me know.\n>\n> If I want to track not only who authored the commit but also who\n> pushed it into the repo (like you see at\n> http://github.com/grails/grails/commit/8ac450c37d16b0468ba0f92d3008968fd6a41a75),\n> what is the procedure for making that happen?\n\nThis easiest way is to not pull from people who \"don't have commit \nrights\" but to apply a patch series instead, as by pulling you are \nbasically trusting them - possibly more that you intend/want?\n\nHTH,\n-- \nJulian\n\n  ---\nWhen in doubt, do what the President does -- guess.\n"},{"id":"114719","messageId":"bbd12f0f0905251640p16727ea9pedbbc99796def340@mail.gmail.com","threadId":"19504","inReplyTo":"alpine.LNX.2.00.0905260015430.32620@reaper.quantumfyre.co.uk","subject":"Re: tracking committer vs. author","fromName":"Jeff Brown","fromEmail":"jeff@jeffandbetsy.net","sentAt":"2009-05-25T23:40:02Z","receivedAt":"2009-05-25T23:40:02Z","isPatch":false,"sender":{"key":"jeff@jeffandbetsy.net","avatar":"https://gravatar.com/avatar/cd26dfda40a1d0ab3331ff6fce1ef5b0b0d652ee6b65d91001e68d154588f1b8?d=mp&s=160"},"body":"On Mon, May 25, 2009 at 6:28 PM, Julian Phillips\n<julian@quantumfyre.co.uk> wrote:\n> On Mon, 25 May 2009, Jeff Brown wrote:\n>\n>> I have noticed that when we pull changes from non-committers into our\n>> repo, sometimes meta information about who committed the change to the\n>> repo is included along side info about who actually wrote the changes.\n>> For example, see\n>>\n>> http://github.com/grails/grails/commit/8ac450c37d16b0468ba0f92d3008968fd6a41a75\n>> and note that graemerocher has commit privileges to the repo but\n>> ihotary does not.  ihatory's commit was pulled in by graemerocher.\n>>\n>> The commit at\n>> http://github.com/grails/grails/commit/ff770359d152683d5794887cd743a10ce7d04501\n>> was also authored by a non committer.  I pulled that change in myself\n>> this evening.  Notice that there is no info displayed there to\n>> indicate that I (jeffbrown) am the person who pushed that change into\n>> the repo.\n>>\n>> I don't know what was done differently for those 2 scenarios but both\n>> of those commits were authored by folks who do not have commit\n>> privileges to the repo at\n>> http://github.com/grails/grails/commits/master.\n>\n> You say \"pulled\" for both commits, but do you mean that in an exact git\n> sense (i.e. 'git pull ...' command was used)?  I assume not ...\n>\n> If you pull from someone, then you get their commits, so they are the\n> committer - on the other hand if you apply patches they have sent, then you\n> become committer (though they remain the author of course) as you create new\n> commits (containing basically the same changes and message).\n>\n> If you compare the git repository\n> (http://git.kernel.org/?p=git/git.git;a=summary) where all changes are made\n> by Junio applying patches, to the Linux kernel\n> (http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=summary)\n> where Linus pulls from many (trusted) people you can see that while the\n> commits in git are all committed by Junio, the kernel commits are made by a\n> wide variety of people.\n>\n>> I don't think this is a github issue.  If I am wrong, please let me know.\n>>\n>> If I want to track not only who authored the commit but also who\n>> pushed it into the repo (like you see at\n>>\n>> http://github.com/grails/grails/commit/8ac450c37d16b0468ba0f92d3008968fd6a41a75),\n>> what is the procedure for making that happen?\n>\n> This easiest way is to not pull from people who \"don't have commit rights\"\n> but to apply a patch series instead, as by pulling you are basically\n> trusting them - possibly more that you intend/want?\n>\n> HTH,\n> --\n> Julian\n>\n\nI understand all of that but now I am not sure what the best procedure\nis.  This is what I have been doing.\n\n- create an integration branch\n- pull changes from someones repo into my integration branch\n- do whatever testing/reviewing/etc. necessary and if I want their\nchanges, continue...\n- merge integration branch (which contains their changes) into my\nmaster branch (test etc...)\n- push my master to my origin\n\nI expect there is a simple way to do what I want without having to\ncreate patch files, but I don't know what that is.\n\nThanks for any suggestions.\n\n\n\njb\n-- \nJeff Brown\nSpringSource\nhttp://www.springsource.com/\n\nAutism Strikes 1 in 166\nFind The Cause ~ Find The Cure\nhttp://www.autismspeaks.org/\n"},{"id":"114729","messageId":"4A1B79B3.6090002@op5.se","threadId":"19504","inReplyTo":"bbd12f0f0905251640p16727ea9pedbbc99796def340@mail.gmail.com","subject":"Re: tracking committer vs. author","fromName":"Andreas Ericsson","fromEmail":"ae@op5.se","sentAt":"2009-05-26T05:10:11Z","receivedAt":"2009-05-26T05:10:11Z","isPatch":false,"sender":{"key":"ae@op5.se","avatar":"https://gravatar.com/avatar/426e89595c75a8f5252dd0c989e5fabe5bcac616e68557427ad9aef6b0ca342a?d=mp&s=160"},"body":"Jeff Brown wrote:\n> On Mon, May 25, 2009 at 6:28 PM, Julian Phillips\n> <julian@quantumfyre.co.uk> wrote:\n>> On Mon, 25 May 2009, Jeff Brown wrote:\n>>\n>>> I have noticed that when we pull changes from non-committers into our\n>>> repo, sometimes meta information about who committed the change to the\n>>> repo is included along side info about who actually wrote the changes.\n>>> For example, see\n>>>\n>>> http://github.com/grails/grails/commit/8ac450c37d16b0468ba0f92d3008968fd6a41a75\n>>> and note that graemerocher has commit privileges to the repo but\n>>> ihotary does not.  ihatory's commit was pulled in by graemerocher.\n>>>\n>>> The commit at\n>>> http://github.com/grails/grails/commit/ff770359d152683d5794887cd743a10ce7d04501\n>>> was also authored by a non committer.  I pulled that change in myself\n>>> this evening.  Notice that there is no info displayed there to\n>>> indicate that I (jeffbrown) am the person who pushed that change into\n>>> the repo.\n>>>\n>>> I don't know what was done differently for those 2 scenarios but both\n>>> of those commits were authored by folks who do not have commit\n>>> privileges to the repo at\n>>> http://github.com/grails/grails/commits/master.\n>> You say \"pulled\" for both commits, but do you mean that in an exact git\n>> sense (i.e. 'git pull ...' command was used)?  I assume not ...\n>>\n>> If you pull from someone, then you get their commits, so they are the\n>> committer - on the other hand if you apply patches they have sent, then you\n>> become committer (though they remain the author of course) as you create new\n>> commits (containing basically the same changes and message).\n>>\n>> If you compare the git repository\n>> (http://git.kernel.org/?p=git/git.git;a=summary) where all changes are made\n>> by Junio applying patches, to the Linux kernel\n>> (http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=summary)\n>> where Linus pulls from many (trusted) people you can see that while the\n>> commits in git are all committed by Junio, the kernel commits are made by a\n>> wide variety of people.\n>>\n>>> I don't think this is a github issue.  If I am wrong, please let me know.\n>>>\n>>> If I want to track not only who authored the commit but also who\n>>> pushed it into the repo (like you see at\n>>>\n>>> http://github.com/grails/grails/commit/8ac450c37d16b0468ba0f92d3008968fd6a41a75),\n>>> what is the procedure for making that happen?\n>> This easiest way is to not pull from people who \"don't have commit rights\"\n>> but to apply a patch series instead, as by pulling you are basically\n>> trusting them - possibly more that you intend/want?\n>>\n>> HTH,\n>> --\n>> Julian\n>>\n> \n> I understand all of that but now I am not sure what the best procedure\n> is.  This is what I have been doing.\n> \n> - create an integration branch\n> - pull changes from someones repo into my integration branch\n> - do whatever testing/reviewing/etc. necessary and if I want their\n> changes, continue...\n> - merge integration branch (which contains their changes) into my\n> master branch (test etc...)\n> - push my master to my origin\n> \n> I expect there is a simple way to do what I want without having to\n> create patch files, but I don't know what that is.\n> \n> Thanks for any suggestions.\n> \n\nRebase instead of merging, or rebase interactively onto the mergebase\nof your integration branch and master if you want to preserve the\nmerge commits. Since rebase is basically implemented as either\nformat-patch + am, or cherry-pick (depending on the invocation used),\nit will create new commits where you become the committer.\n\nTo preserve the merge-commits when integrating you should use a\ncommand such as this. I'm assuming assuming your integration branch\nis named 'integrate' and your primary release branch is called\nmaster:\nGIT_EDITOR=: git rebase -i --onto $(git merge-base integrate master) \\\n   integrate\n\nMind the continued line, please.\n\n-- \nAndreas Ericsson                   andreas.ericsson@op5.se\nOP5 AB                             www.op5.se\nTel: +46 8-230225                  Fax: +46 8-230231\n\nRegister now for Nordic Meet on Nagios, June 3-4 in Stockholm\n http://nordicmeetonnagios.op5.org/\n\nConsidering the successes of the wars on alcohol, poverty, drugs and\nterror, I think we should give some serious thought to declaring war\non peace.\n"}]}