{"thread":{"id":"23216","subject":"[PATCH v7 1/2] Documentation/remote-helpers: Rewrite description","startedAt":"2010-03-28T18:03:50Z","lastAt":"2010-04-06T02:47:50Z","messageCount":14,"participants":["Ramkumar Ramachandra","Gabriel Filion","Sverre Rabbelier","Tay Ray Chuan","Daniel Barkalow","Jonathan Nieder","Junio C Hamano"],"isPatch":true,"patchVersion":7,"patchTotal":2},"messages":[{"id":"138027","messageId":"f3271551003281103x68812b3cj806d6235965f0a32@mail.gmail.com","threadId":"23216","inReplyTo":null,"subject":"[PATCH v7 1/2] Documentation/remote-helpers: Rewrite description","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2010-03-28T18:03:50Z","receivedAt":"2010-03-28T18:03:50Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Rewrite the description section to describe what exactly remote\nhelpers are and the need for them. Also mention the curl family of\nremote helpers as an example.\n---\n The previous version got corrupted and didn't apply cleanly for some reason.\n Additionally split it into two parts now.\n\n Documentation/git-remote-helpers.txt |   32 ++++++++++++++++++++++++++------\n 1 files changed, 26 insertions(+), 6 deletions(-)\n\ndiff --git a/Documentation/git-remote-helpers.txt\nb/Documentation/git-remote-helpers.txt\nindex 1b5f61a..1304813 100644\n--- a/Documentation/git-remote-helpers.txt\n+++ b/Documentation/git-remote-helpers.txt\n@@ -3,7 +3,7 @@ git-remote-helpers(1)\n\n NAME\n ----\n-git-remote-helpers - Helper programs for interoperation with remote git\n+git-remote-helpers - Helper programs to interact with remote repositories\n\n SYNOPSIS\n --------\n@@ -12,11 +12,31 @@ SYNOPSIS\n DESCRIPTION\n -----------\n\n-These programs are normally not used directly by end users, but are\n-invoked by various git programs that interact with remote repositories\n-when the repository they would operate on will be accessed using\n-transport code not linked into the main git binary. Various particular\n-helper programs will behave as documented here.\n+Remote helper programs are normally not used directly by end users,\n+but are invoked by git when it needs to interact with remote\n+repositories. They implement a subset of the capabilities documented\n+here, and conform to the \"remote helper protocol\". When git needs\n+needs to interact with a repository served by a remote helper, it\n+spawns the helper as an independent process and interacts with it over\n+the specified protocol. Essentially, git sends commands to the helper\n+over standard input, and receives the result written to standard\n+output by the helper over a pipe. Also, since remote helpers often\n+need to link to the libraries required to interact with the remote\n+repository, they avoid linking to the main git programs to evade\n+licensing issues.\n+\n+All the capabilities of remote helpers have to do with discovering and\n+updating remote refs, transporting objects between local and remote,\n+and updating the local object store. Using the 'fetch' capability,\n+they can discover refs on the remote, transfer objects from the remote\n+reachable via those refs to local, and update the local object\n+store. Using the 'push' capability, they can transfer objects from\n+local to remote, and update the corresponding refs as necessary.\n+\n+Git comes with a \"curl\" family of remote helpers, specifically\n+'git-remote-http', 'git-remote-https', 'git-remote-ftp' and\n+'git-remote-ftps'. They implement the capabilities 'fetch', 'option',\n+and 'push'.\n\n COMMANDS\n --------\n-- \n1.7.0.3\n"},{"id":"138039","messageId":"4BAFFFAB.4080808@gmail.com","threadId":"23216","inReplyTo":"f3271551003281103x68812b3cj806d6235965f0a32@mail.gmail.com","subject":"Re: [PATCH v7 1/2] Documentation/remote-helpers: Rewrite description","fromName":"Gabriel Filion","fromEmail":"lelutin@gmail.com","sentAt":"2010-03-29T01:17:31Z","receivedAt":"2010-03-29T01:17:31Z","isPatch":true,"sender":{"key":"lelutin@gmail.com","avatar":"https://avatars.githubusercontent.com/u/108728?v=4"},"body":"Hello,\n\nOn 2010-03-28 14:03, Ramkumar Ramachandra wrote:\n[...]\n> diff --git a/Documentation/git-remote-helpers.txt\n> b/Documentation/git-remote-helpers.txt\n> index 1b5f61a..1304813 100644\n> --- a/Documentation/git-remote-helpers.txt\n> +++ b/Documentation/git-remote-helpers.txt\n[...]\n> @@ -12,11 +12,31 @@ SYNOPSIS\n[...]\n> +repositories. They implement a subset of the capabilities documented\n> +here, and conform to the \"remote helper protocol\". When git needs\n> +needs to interact with a repository served by a remote helper, it\n\nOops, \"needs\" is repeated twice here...\n\nApart from that, it seems nice and helps to better understand what they\nshould be used for.\n\nIt doesn't really concern this patch but If I'm not wrong, there still\nis no documentation written on how exactly git invokes the remote\nhelpers. A good description was given previously by Ilari Liusvaara (so\nI've added you, Ilari in the cc list). The description can be seen here:\n\nhttp://lists.zerezo.com/git/msg712892.html\n\nShould we add this information on this man page?\n\n-- \nGabriel Filion\n"},{"id":"138042","messageId":"f3271551003282004h39ae8d95ma2bf6517e7d77d7b@mail.gmail.com","threadId":"23216","inReplyTo":"4BAFFFAB.4080808@gmail.com","subject":"Re: [PATCH v7 1/2] Documentation/remote-helpers: Rewrite description","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2010-03-29T03:04:48Z","receivedAt":"2010-03-29T03:04:48Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Hi,\n\n> Oops, \"needs\" is repeated twice here...\n\nOops. Sorry about the silly mistake.\nJunio: Could you please make this correction and apply the patch? I'm\nwriting another patch documenting invocation which depends on this\npatch.\n\n--- a/Documentation/git-remote-helpers.txt\n+++ b/Documentation/git-remote-helpers.txt\n@@ -15,7 +15,7 @@ DESCRIPTION\n Remote helper programs are normally not used directly by end users,\n but are invoked by git when it needs to interact with remote\n repositories. They implement a subset of the capabilities documented\n-here, and conform to the \"remote helper protocol\". When git needs\n+here, and conform to the \"remote helper protocol\". When git\n needs to interact with a repository served by a remote helper, it\n spawns the helper as an independent process and interacts with it over\n the specified protocol. Essentially, git sends commands to the helper\n@@ -38,6 +38,51 @@ Git comes with a \"curl\" family of remote helpers,\nspecifically\n 'git-remote-ftps'. They implement the capabilities 'fetch', 'option',\n and 'push'.\n\n> http://lists.zerezo.com/git/msg712892.html\n>\n> Should we add this information on this man page?\n\nDefinitely. Thanks for pointing this out- I've already started\npreparing a patch for this.\n\n-- Ram\n"},{"id":"138043","messageId":"fabb9a1e1003282008x59f64389k95716867a1e7daa5@mail.gmail.com","threadId":"23216","inReplyTo":"4BAFFFAB.4080808@gmail.com","subject":"Re: [PATCH v7 1/2] Documentation/remote-helpers: Rewrite description","fromName":"Sverre Rabbelier","fromEmail":"srabbelier@gmail.com","sentAt":"2010-03-29T03:08:45Z","receivedAt":"2010-03-29T03:08:45Z","isPatch":true,"sender":{"key":"srabbelier@gmail.com","avatar":"https://avatars.githubusercontent.com/u/3098?v=4"},"body":"Heya,\n\nOn Sun, Mar 28, 2010 at 19:17, Gabriel Filion <lelutin@gmail.com> wrote:\n> Should we add this information on this man page?\n\nYes we should. Also, I have almost finished a 'testgit' helper, which\nsimply invokes git-fast-import and git-fast-export behind the scenes.\nSo it's really a clumsy way to communicate with another git repository\nbut using the remote-helper import/export API. I've also written tests\nfor it, so it should be pretty clear from the tests and the simple\nhelper how to implement your own.\n\n-- \nCheers,\n\nSverre Rabbelier\n"},{"id":"138044","messageId":"be6fef0d1003282025p4a472b79hb02959fea7481065@mail.gmail.com","threadId":"23216","inReplyTo":"f3271551003281103x68812b3cj806d6235965f0a32@mail.gmail.com","subject":"Re: [PATCH v7 1/2] Documentation/remote-helpers: Rewrite description","fromName":"Tay Ray Chuan","fromEmail":"rctay89@gmail.com","sentAt":"2010-03-29T03:25:35Z","receivedAt":"2010-03-29T03:25:35Z","isPatch":true,"sender":{"key":"rctay89@gmail.com","avatar":"https://avatars.githubusercontent.com/u/61553?v=4"},"body":"Hi,\n\nregarding...\n\nOn Mon, Mar 29, 2010 at 2:03 AM, Ramkumar Ramachandra\n<artagnon@gmail.com> wrote:\n> [snip] Also mention the curl family of\n> remote helpers as an example.\n\nand...\n\n> +Git comes with a \"curl\" family of remote helpers, specifically\n> +'git-remote-http', 'git-remote-https', 'git-remote-ftp' and\n> +'git-remote-ftps'. They implement the capabilities 'fetch', 'option',\n> +and 'push'.\n\nI think \"family\" is confusing. They're all symlinks of\ngit-remote-curl, if I remember correctly.\n\nBut then, I suspect you'll be rewriting this portion, since Ilari's\nnotes has a thing or two why helper names have the protocol in them.\n\n-- \nCheers,\nRay Chuan\n"},{"id":"138045","messageId":"f3271551003282045q1aea17dbm336ce2db8a11453f@mail.gmail.com","threadId":"23216","inReplyTo":"be6fef0d1003282025p4a472b79hb02959fea7481065@mail.gmail.com","subject":"Re: [PATCH v7 1/2] Documentation/remote-helpers: Rewrite description","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2010-03-29T03:45:43Z","receivedAt":"2010-03-29T03:45:43Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Hi,\n\n> I think \"family\" is confusing. They're all symlinks of\n> git-remote-curl, if I remember correctly.\n\nActually, there's no Makefile target called git-remote-curl. See\nMakefile:1122 to Makefile:1126. They're copies in my build.\n\n\tREMOTE_CURL_PRIMARY = git-remote-http$X\n\tREMOTE_CURL_ALIASES = git-remote-https$X git-remote-ftp$X git-remote-ftps$X\n\tREMOTE_CURL_NAMES = $(REMOTE_CURL_PRIMARY) $(REMOTE_CURL_ALIASES)\n\tPROGRAM_OBJS += http-fetch.o\n\tPROGRAMS += $(REMOTE_CURL_NAMES)\n\n> But then, I suspect you'll be rewriting this portion, since Ilari's\n> notes has a thing or two why helper names have the protocol in them.\n\nRight. Thanks for pointing this out.\n\n-- Ram\n"},{"id":"138052","messageId":"alpine.LNX.2.00.1003290055000.14365@iabervon.org","threadId":"23216","inReplyTo":"4BAFFFAB.4080808@gmail.com","subject":"Re: [PATCH v7 1/2] Documentation/remote-helpers: Rewrite description","fromName":"Daniel Barkalow","fromEmail":"barkalow@iabervon.org","sentAt":"2010-03-29T05:09:15Z","receivedAt":"2010-03-29T05:09:15Z","isPatch":true,"sender":{"key":"barkalow@iabervon.org","avatar":"https://avatars.githubusercontent.com/u/55364219?v=4"},"body":"On Sun, 28 Mar 2010, Gabriel Filion wrote:\n\n> Hello,\n> \n> On 2010-03-28 14:03, Ramkumar Ramachandra wrote:\n> [...]\n> > diff --git a/Documentation/git-remote-helpers.txt\n> > b/Documentation/git-remote-helpers.txt\n> > index 1b5f61a..1304813 100644\n> > --- a/Documentation/git-remote-helpers.txt\n> > +++ b/Documentation/git-remote-helpers.txt\n> [...]\n> > @@ -12,11 +12,31 @@ SYNOPSIS\n> [...]\n> > +repositories. They implement a subset of the capabilities documented\n> > +here, and conform to the \"remote helper protocol\". When git needs\n> > +needs to interact with a repository served by a remote helper, it\n> \n> Oops, \"needs\" is repeated twice here...\n> \n> Apart from that, it seems nice and helps to better understand what they\n> should be used for.\n> \n> It doesn't really concern this patch but If I'm not wrong, there still\n> is no documentation written on how exactly git invokes the remote\n> helpers. A good description was given previously by Ilari Liusvaara (so\n> I've added you, Ilari in the cc list). The description can be seen here:\n> \n> http://lists.zerezo.com/git/msg712892.html\n> \n> Should we add this information on this man page?\n\nThat information ought to be in the documentation, but possibly not on \nthis man page in particular. I think it would be better to document that \npart in the documentation of the code and programs that call the helper, \nnot in the helper documentation. In general, I'd like the helpers to make \nas few assumptions about their caller as possible, and similarly keep the \ninformation about the caller out of their documentation.\n\nAlso, I think it would be more helpful in general to get that information \ninto documentation of the transport and remote code and configuration of \nthese things, because users are going to come at this from that side (\"I \nwant to access an SVN repository, how does that work?\") rather than from \nthe helper documentation side (\"I want to exercise git-remote-svn's export \nsupport, just to run that code\").\n\n\t-Daniel\n*This .sig left intentionally blank*\n"},{"id":"138055","messageId":"f3271551003282318vc256d20j90bb83170b0a983@mail.gmail.com","threadId":"23216","inReplyTo":"alpine.LNX.2.00.1003290055000.14365@iabervon.org","subject":"Re: [PATCH v7 1/2] Documentation/remote-helpers: Rewrite description","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2010-03-29T06:18:18Z","receivedAt":"2010-03-29T06:18:18Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Hi,\n\n> That information ought to be in the documentation, but possibly not on\n> this man page in particular. I think it would be better to document that\n> part in the documentation of the code and programs that call the helper,\n> not in the helper documentation.\n\nI agree that the callers need to document the subset of the\ninvocations they make to remote helpers. I think we can defer this\nuntil we have a real remote helper in `git.git` that actually\ninterfaces with a foreign versioning system.\n\nI've thought about documenting the full set of invocations in the code\nfor the developer, but there's a problem. Here's an excerpt from\nremote-curl.c, showing how it parses its command line arguments:\n\n\tremote = remote_get(argv[1]);\n\n\tif (argc > 2) {\n\t\turl = argv[2];\n\t} else {\n\t\turl = remote->url[0];\n\t}\n\nUnfortunately, I don't see where else this documentation can fit in:\nif it were to go into a specific remote helper's code, then it'll have\nto be duplicated for all the remote helpers, since all of them parse\noptions similarly. It certainly cannot go into remote.c or\ntransport-helper.c, because they have little/ nothing to do with the\nactual argument parsing.\n\nI could try modifying the documentation I've written to serve more to\nspecify \"how remote helpers are invoked\" and less about \"how callers\ninvoke remote helpers\", and try to fit it in this manpage. It's more\nof a developer manpage and less of an end-user manpage as it is. Or we\ncould create another page about remote helpers intended to be read\nexclusively by developers. What are your thoughts on this?\n\n-- Ram\n"},{"id":"138058","messageId":"20100329063952.GA20360@progeny.tock","threadId":"23216","inReplyTo":"f3271551003282318vc256d20j90bb83170b0a983@mail.gmail.com","subject":"Re: [PATCH v7 1/2] Documentation/remote-helpers: Rewrite description","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-03-29T06:39:53Z","receivedAt":"2010-03-29T06:39:53Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Ramkumar Ramachandra wrote:\n\n>> I think it would be better to document that\n>> part in the documentation of the code and programs that call the helper,\n>> not in the helper documentation.\n[...]\n> Unfortunately, I don't see where else this documentation can fit in:\n> if it were to go into a specific remote helper's code, then it'll have\n> to be duplicated for all the remote helpers, since all of them parse\n> options similarly.\n\nOne possibility: new manpage, called giturl(7) or something, with:\n\n - the information from your patch, reformatted a little to be from\n   the caller’s perspective;\n\n - the information currently in the GIT URLS and REMOTES sections \n   of git-pull(1) and and other urls-remotes.txt includers;\n\n - pointers to appropriate high-level and low-level documentation\n   for more information.\n\nThis would at least avoid some duplication of text in explaining how\nthe [remote \"<name>\"] setups work.\n\n> It certainly cannot go into remote.c or\n> transport-helper.c, because they have little/ nothing to do with the\n> actual argument parsing.\n\nOne possibility would be to put it in Documentation/technical/transport.txt\nor some similarly named new file.  Later that file could expand to an\noverview of the transport layer, which would be nice to have.\n\nFiles in Documentation/technical do not get installed as manpages,\nwhich would make this less convenient when writing a new helper\nwithout a full documentation tree available.\n\nMore importantly, the “how to configure access to a foreign\nrepository” aspect of what you are writing is really more pertinent to\nusers than remote helper developers.  Remote helper developers only\nneed to know “first argument is a remote nickname or some nonsense\nwith a colon; second argument is a transport-native address\nidentifying the remote repository; second argument can be omitted only\nif a remote nickname was used”.\n\nHTH,\nJonathan\n"},{"id":"138097","messageId":"alpine.LNX.2.00.1003291124211.14365@iabervon.org","threadId":"23216","inReplyTo":"f3271551003282318vc256d20j90bb83170b0a983@mail.gmail.com","subject":"Re: [PATCH v7 1/2] Documentation/remote-helpers: Rewrite description","fromName":"Daniel Barkalow","fromEmail":"barkalow@iabervon.org","sentAt":"2010-03-29T15:39:42Z","receivedAt":"2010-03-29T15:39:42Z","isPatch":true,"sender":{"key":"barkalow@iabervon.org","avatar":"https://avatars.githubusercontent.com/u/55364219?v=4"},"body":"On Mon, 29 Mar 2010, Ramkumar Ramachandra wrote:\n\n> Hi,\n> \n> > That information ought to be in the documentation, but possibly not on\n> > this man page in particular. I think it would be better to document that\n> > part in the documentation of the code and programs that call the helper,\n> > not in the helper documentation.\n> \n> I agree that the callers need to document the subset of the\n> invocations they make to remote helpers. I think we can defer this\n> until we have a real remote helper in `git.git` that actually\n> interfaces with a foreign versioning system.\n> \n> I've thought about documenting the full set of invocations in the code\n> for the developer, but there's a problem. Here's an excerpt from\n> remote-curl.c, showing how it parses its command line arguments:\n> \n> \tremote = remote_get(argv[1]);\n> \n> \tif (argc > 2) {\n> \t\turl = argv[2];\n> \t} else {\n> \t\turl = remote->url[0];\n> \t}\n> \n> Unfortunately, I don't see where else this documentation can fit in:\n> if it were to go into a specific remote helper's code, then it'll have\n> to be duplicated for all the remote helpers, since all of them parse\n> options similarly. It certainly cannot go into remote.c or\n> transport-helper.c, because they have little/ nothing to do with the\n> actual argument parsing.\n> \n> I could try modifying the documentation I've written to serve more to\n> specify \"how remote helpers are invoked\" and less about \"how callers\n> invoke remote helpers\", and try to fit it in this manpage. It's more\n> of a developer manpage and less of an end-user manpage as it is. Or we\n> could create another page about remote helpers intended to be read\n> exclusively by developers. What are your thoughts on this?\n\nI think getting information on what the helper is supposed to do with its \ncommand-line arguments into this man page would be good, and the \nappropriate focus for the man page.\n\nThe current answer is this:\n argv[1] is the name of a remote, which may be a nickname or some more \n  direct name; in any case, remote_get() will produce the available data \n  for it.\n argv[2] is the URL, if there is one. Since a remote could have more than \n  one URL, the helper gets the URL it should be handling. Some systems \n  don't use URLs, and these will just look at the remote or something like \n  that.\n\nThe rest of what you wrote is true, but it's really more information on \nhow the attributes of remotes are determined than what the helper should \nbe worrying about.\n\n\t-Daniel\n*This .sig left intentionally blank*\n"},{"id":"138154","messageId":"f3271551003292023v296f8d7q32ccc151ee246207@mail.gmail.com","threadId":"23216","inReplyTo":"alpine.LNX.2.00.1003291124211.14365@iabervon.org","subject":"Re: [PATCH v7 1/2] Documentation/remote-helpers: Rewrite description","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2010-03-30T03:23:57Z","receivedAt":"2010-03-30T03:23:57Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"On Mon, Mar 29, 2010 at 9:09 PM, Daniel Barkalow <barkalow@iabervon.org> wrote:\n> The current answer is this:\n>  argv[1] is the name of a remote, which may be a nickname or some more\n>  direct name; in any case, remote_get() will produce the available data\n>  for it.\n>  argv[2] is the URL, if there is one. Since a remote could have more than\n>  one URL, the helper gets the URL it should be handling. Some systems\n>  don't use URLs, and these will just look at the remote or something like\n>  that.\n\nGot it. I'll prepare a patch in the evening.\n\n-- Ram\n"},{"id":"138593","messageId":"l2pf3271551004050705o20379311j9862bd9ab46cbb11@mail.gmail.com","threadId":"23216","inReplyTo":"f3271551003281103x68812b3cj806d6235965f0a32@mail.gmail.com","subject":"Re: [PATCH v7 1/2] Documentation/remote-helpers: Rewrite description","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2010-04-05T14:05:42Z","receivedAt":"2010-04-05T14:05:42Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Hi,\n\nOn Sun, Mar 28, 2010 at 11:33 PM, Ramkumar Ramachandra\n<artagnon@gmail.com> wrote:\n> Rewrite the description section to describe what exactly remote\n> helpers are and the need for them. Also mention the curl family of\n> remote helpers as an example.\n\nIn accordance with Junio's 4th April \"What's Cooking\" report, could\nsome remote helper experts kindly Ack this patch?\n\nSigned-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n\nThanks!\n-- Ram\n"},{"id":"138676","messageId":"7vtyrpmun7.fsf@alter.siamese.dyndns.org","threadId":"23216","inReplyTo":"l2pf3271551004050705o20379311j9862bd9ab46cbb11@mail.gmail.com","subject":"Re: [PATCH v7 1/2] Documentation/remote-helpers: Rewrite description","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2010-04-05T21:55:40Z","receivedAt":"2010-04-05T21:55:40Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Ramkumar Ramachandra <artagnon@gmail.com> writes:\n\n> On Sun, Mar 28, 2010 at 11:33 PM, Ramkumar Ramachandra\n> <artagnon@gmail.com> wrote:\n>> Rewrite the description section to describe what exactly remote\n>> helpers are and the need for them. Also mention the curl family of\n>> remote helpers as an example.\n>\n> In accordance with Junio's 4th April \"What's Cooking\" report, could\n> some remote helper experts kindly Ack this patch?\n>\n> Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n\nI'll copy and paste this, but please make it a habit to sign off your\npatch when committing if you plan to be a regular contributor to the\nproject.\n\nI've re-read all the discussions that led to v7 patch and then re-read\nthe patch [1/2].  I'll queue it with a minor tweak.\n\nThanks.\n"},{"id":"138697","messageId":"k2mf3271551004051947h724aab5ai6da2e53336e1713@mail.gmail.com","threadId":"23216","inReplyTo":"7vtyrpmun7.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH v7 1/2] Documentation/remote-helpers: Rewrite description","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2010-04-06T02:47:50Z","receivedAt":"2010-04-06T02:47:50Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"> I'll copy and paste this, but please make it a habit to sign off your\n> patch when committing if you plan to be a regular contributor to the\n> project.\n\nSorry about that. I'll auto sign-off and pay extra attention next time.\n\n-- Ram\n"}]}