{"thread":{"id":"11460","subject":"wherefore art thou, git-applymbox? - Adding non-self signoffs","startedAt":"2008-01-04T01:50:28Z","lastAt":"2008-01-04T03:32:17Z","messageCount":2,"participants":["Joel Becker","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"64405","messageId":"20080104015028.GC3989@mail.oracle.com","threadId":"11460","inReplyTo":null,"subject":"wherefore art thou, git-applymbox? - Adding non-self signoffs","fromName":"Joel Becker","fromEmail":"joel.becker@oracle.com","sentAt":"2008-01-04T01:50:28Z","receivedAt":"2008-01-04T01:50:28Z","isPatch":false,"sender":{"key":"joel.becker@oracle.com","avatar":null},"body":"Junio, et al,\n\tWhen git-applymbox disappeared, I didn't pay much attention.  I\njust learned git-am and went along.  Little did I know, there was a\ntrap laid.\n\tThe ocfs2-tools.git repository is maintained by the entire ocfs2\nteam.  It's a \"shared\" style repo.  A proposed change is posted to\nocfs2-tools-devel, and when a teammate approves, they respond with a\nsignoff.  The author then adds the signoff to the patch and pushes to\nthe shared repo.\n\tWe used to do this very easily with git-applymbox:\n(from http://oss.oracle.com/osswiki/GitRepositories/ForMaintainers)\n\n$ echo \"Julie Hacker <julieh@my.site.com>\" > /tmp/signoff\n$ git branch to-push master\n$ git checkout to-push\n$ git format-patch -C -k --stdout master..workingbranch > /tmp/changes-to-push\n$ git applymbox -k /tmp/changes-to-push /tmp/signoff\n$ git push ssh://my.server.com/path/project.git to-push:master\n\n\tThe <signoff> file argument to applymbox allowed us to add the\napprovers signoff to an entire series in one go.  git-am does not have\nthis feature.  As far as I can tell, I have to edit each patch by hand\nto add the new signoff.  Is there a better way?\n\nJoel\n\n-- \n\nLife's Little Instruction Book #356\n\n\t\"Be there when people need you.\"\n\nJoel Becker\nPrincipal Software Developer\nOracle\nE-mail: joel.becker@oracle.com\nPhone: (650) 506-8127\n"},{"id":"64407","messageId":"7vr6gymfjy.fsf@gitster.siamese.dyndns.org","threadId":"11460","inReplyTo":"20080104015028.GC3989@mail.oracle.com","subject":"Re: wherefore art thou, git-applymbox? - Adding non-self signoffs","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-01-04T03:32:17Z","receivedAt":"2008-01-04T03:32:17Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Joel Becker <Joel.Becker@oracle.com> writes:\n\n> We used to do this very easily with git-applymbox:\n> (from http://oss.oracle.com/osswiki/GitRepositories/ForMaintainers)\n>\n> $ echo \"Julie Hacker <julieh@my.site.com>\" > /tmp/signoff\n> $ git branch to-push master\n> $ git checkout to-push\n> $ git format-patch -C -k --stdout master..workingbranch > /tmp/changes-to-push\n> $ git applymbox -k /tmp/changes-to-push /tmp/signoff\n> $ git push ssh://my.server.com/path/project.git to-push:master\n>\n> \tThe <signoff> file argument to applymbox allowed us to add the\n> approvers signoff to an entire series in one go.  git-am does not have\n> this feature.  As far as I can tell, I have to edit each patch by hand\n> to add the new signoff.  Is there a better way?\n\nHeh, applymbox's removal is an ancient news.  May 20 2007?\n\nMy reading of an old copy of git-applypatch seems to suggest\nthat the above example you quoted is probably wrong anyway;\nshouldn't the first one be like this instead?\n\n $ echo \"Signed-off-by: Julie Hacker <julieh@my.site.com>\" >/tmp/signoff\n\nIt was actually a bug that applymbox allowed only a single\ne-mail address to be added without doing any sanity checking of\nthe address with the author nor committer information.\n\nIf it were designed to allow adding sign-offs from other people,\nthe command would have allowed more than one lines in the file.\nIt did not.  It was not designed for that purpose.\n\nIt was designed to allow one's own sign-off; it should have\nverified that it matched the committer identity.  It did not.\nThat was not strictly a bug for people who used the mechanism to\nsign their own patches anyway, but not checking meant a misuse\nlike yours went unnoticed.  Not quite ideal.\n\nI guess you can run filter-branch to munge the commit messages\nafter you run the\n\n\tgit format-patch ... | git am\n\npipeline to build the to-push branch.\n\nI do not mind a patch to enhance \"git am\", but not before 1.5.4.\nMost likely the change would take a form of an extra parameter\nthat names a script (or command) that gets the commit log\nmessage as its argument and edits it in any way it wants (in\nyour case you would add the S-o-b: lines in that script).\n"}]}