{"thread":{"id":"8145","subject":"[PATCH] Allow the ident attribute to include a length specifier","startedAt":"2007-05-14T13:05:29Z","lastAt":"2007-05-17T19:55:25Z","messageCount":14,"participants":["Andy Parkins","Johannes Sixt","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"42112","messageId":"200705141405.29550.andyparkins@gmail.com","threadId":"8145","inReplyTo":null,"subject":"[PATCH] Allow the ident attribute to include a length specifier","fromName":"Andy Parkins","fromEmail":"andyparkins@gmail.com","sentAt":"2007-05-14T13:05:29Z","receivedAt":"2007-05-14T13:05:29Z","isPatch":true,"sender":{"key":"andyparkins@gmail.com","avatar":null},"body":"When the ident attribute is found for a path, then git replaces $ident$\nwith:\n\n  $ident: df2a1fd3ebce86876721bd7e12ce02ac89c885db $\n\nWith this patch, you can put the following in your attribute file:\n\n  somepath ident=10\n\nAnd get expansions like this:\n\n  $ident: df2a1fd3eb $\n\nThere is no change to existing behaviour.  With no parameter, the\nexpansion is all 40 hex digits.\n\nSigned-off-by: Andy Parkins <andyparkins@gmail.com>\n---\n convert.c |   12 +++++++++---\n 1 files changed, 9 insertions(+), 3 deletions(-)\n\ndiff --git a/convert.c b/convert.c\nindex 9ee31b0..79dfbcf 100644\n--- a/convert.c\n+++ b/convert.c\n@@ -534,8 +534,8 @@ static char *ident_to_worktree(const char *path, const char *src, unsigned long\n \n \t\tmemcpy(dst, \"ident: \", 7);\n \t\tdst += 7;\n-\t\tmemcpy(dst, sha1_to_hex(sha1), 40);\n-\t\tdst += 40;\n+\t\tmemcpy(dst, sha1_to_hex(sha1), ident);\n+\t\tdst += ident;\n \t\t*dst++ = ' ';\n \t\tsize -= (cp - src);\n \t\tsrc = cp;\n@@ -580,7 +580,13 @@ static int git_path_check_ident(const char *path, struct git_attr_check *check)\n {\n \tconst char *value = check->value;\n \n-\treturn !!ATTR_TRUE(value);\n+\tif( ATTR_UNSET(value) || ATTR_FALSE(value) )\n+\t\treturn 0;\n+\n+\tif( ATTR_TRUE(value) )\n+\t\treturn 40;\n+\n+\treturn atoi(value);\n }\n \n char *convert_to_git(const char *path, const char *src, unsigned long *sizep)\n-- \n1.5.2.rc3.27.g43d151-dirty\n"},{"id":"42114","messageId":"200705141429.58412.andyparkins@gmail.com","threadId":"8145","inReplyTo":"200705141405.29550.andyparkins@gmail.com","subject":"Re: [PATCH] Allow the ident attribute to include a length specifier","fromName":"Andy Parkins","fromEmail":"andyparkins@gmail.com","sentAt":"2007-05-14T13:29:54Z","receivedAt":"2007-05-14T13:29:54Z","isPatch":true,"sender":{"key":"andyparkins@gmail.com","avatar":null},"body":"On Monday 2007 May 14, Andy Parkins wrote:\n> When the ident attribute is found for a path, then git replaces $ident$\n> with:\n>\n>   $ident: df2a1fd3ebce86876721bd7e12ce02ac89c885db $\n\nIs it too late to request a change to this?  Make the field $Id$.  $Id$ is \npresent already in SVN and CVS; it would mean that people converting their \nexisting repositories won't have to make any changes to the source files \nshould they want to make use of the ident attribute.\n\nGiven that it's a feature that's meant to calm those very people, it seems \nobtuse to make them edit every file just to make use of it.\n\nI think that bzr uses $Id$; Mercurial has examples for $Id$; monotone has $Id$ \non its wishlist.  I can't think of a good reason not to stick with the \nde-facto standard and call ours $Id$ instead of $ident$.\n\n(I accept that this doesn't help those using $Author$, $Rev$, etc, but it's \nbetter than nothing)\n\n\nAndy\n-- \nDr Andy Parkins, M Eng (hons), MIET\nandyparkins@gmail.com\n"},{"id":"42116","messageId":"200705141437.25528.andyparkins@gmail.com","threadId":"8145","inReplyTo":"200705141429.58412.andyparkins@gmail.com","subject":"[PATCH] Use $Id$ as the ident attribute keyword rather than $ident$ to be consistent with other VCSs","fromName":"Andy Parkins","fromEmail":"andyparkins@gmail.com","sentAt":"2007-05-14T13:37:25Z","receivedAt":"2007-05-14T13:37:25Z","isPatch":true,"sender":{"key":"andyparkins@gmail.com","avatar":null},"body":"$Id$ is present already in SVN and CVS; it would mean that people\nconverting their existing repositories won't have to make any changes to\nthe source files should they want to make use of the ident attribute.\n\nGiven that it's a feature that's meant to calm those very people, it\nseems obtuse to make them edit every file just to make use of it.\n\nI think that bzr uses $Id$; Mercurial has examples hooks for $Id$;\nmonotone has $Id$ on its wishlist.  I can't think of a good reason not\nto stick with the de-facto standard and call ours $Id$ instead of\n$ident$.\n\nSigned-off-by: Andy Parkins <andyparkins@gmail.com>\n---\n\nPatch, should anyone agree with the idea.\n\n convert.c |   30 +++++++++++++++---------------\n 1 files changed, 15 insertions(+), 15 deletions(-)\n\ndiff --git a/convert.c b/convert.c\nindex 79dfbcf..23257aa 100644\n--- a/convert.c\n+++ b/convert.c\n@@ -412,7 +412,7 @@ static void setup_convert_check(struct git_attr_check *check)\n static int count_ident(const char *cp, unsigned long size)\n {\n \t/*\n-\t * \"$ident: 0000000000000000000000000000000000000000 $\" <=> \"$ident$\"\n+\t * \"$Id: 0000000000000000000000000000000000000000 $\" <=> \"$Id$\"\n \t */\n \tint cnt = 0;\n \tchar ch;\n@@ -466,10 +466,10 @@ static char *ident_to_git(const char *path, const char *src, unsigned long *size\n \tfor (dst = buf; size; size--) {\n \t\tchar ch = *src++;\n \t\t*dst++ = ch;\n-\t\tif ((ch == '$') && (6 <= size) &&\n-\t\t    !memcmp(\"ident:\", src, 6)) {\n-\t\t\tunsigned long rem = size - 6;\n-\t\t\tconst char *cp = src + 6;\n+\t\tif ((ch == '$') && (3 <= size) &&\n+\t\t    !memcmp(\"Id:\", src, 3)) {\n+\t\t\tunsigned long rem = size - 3;\n+\t\t\tconst char *cp = src + 3;\n \t\t\tdo {\n \t\t\t\tch = *cp++;\n \t\t\t\tif (ch == '$')\n@@ -478,8 +478,8 @@ static char *ident_to_git(const char *path, const char *src, unsigned long *size\n \t\t\t} while (rem);\n \t\t\tif (!rem)\n \t\t\t\tcontinue;\n-\t\t\tmemcpy(dst, \"ident$\", 6);\n-\t\t\tdst += 6;\n+\t\t\tmemcpy(dst, \"Id$\", 3);\n+\t\t\tdst += 3;\n \t\t\tsize -= (cp - src);\n \t\t\tsrc = cp;\n \t\t}\n@@ -511,13 +511,13 @@ static char *ident_to_worktree(const char *path, const char *src, unsigned long\n \t\tconst char *cp;\n \t\tchar ch = *src++;\n \t\t*dst++ = ch;\n-\t\tif ((ch != '$') || (size < 6) || memcmp(\"ident\", src, 5))\n+\t\tif ((ch != '$') || (size < 3) || memcmp(\"Id\", src, 2))\n \t\t\tcontinue;\n \n-\t\tif (src[5] == ':') {\n+\t\tif (src[2] == ':') {\n \t\t\t/* discard up to but not including the closing $ */\n-\t\t\tunsigned long rem = size - 6;\n-\t\t\tcp = src + 6;\n+\t\t\tunsigned long rem = size - 3;\n+\t\t\tcp = src + 3;\n \t\t\tdo {\n \t\t\t\tch = *cp++;\n \t\t\t\tif (ch == '$')\n@@ -527,13 +527,13 @@ static char *ident_to_worktree(const char *path, const char *src, unsigned long\n \t\t\tif (!rem)\n \t\t\t\tcontinue;\n \t\t\tsize -= (cp - src);\n-\t\t} else if (src[5] == '$')\n-\t\t\tcp = src + 5;\n+\t\t} else if (src[2] == '$')\n+\t\t\tcp = src + 2;\n \t\telse\n \t\t\tcontinue;\n \n-\t\tmemcpy(dst, \"ident: \", 7);\n-\t\tdst += 7;\n+\t\tmemcpy(dst, \"Id: \", 4);\n+\t\tdst += 4;\n \t\tmemcpy(dst, sha1_to_hex(sha1), ident);\n \t\tdst += ident;\n \t\t*dst++ = ' ';\n-- \n1.5.2.rc3.27.g43d151-dirty\n"},{"id":"42117","messageId":"46486FE6.16A82D9A@eudaptics.com","threadId":"8145","inReplyTo":"200705141437.25528.andyparkins@gmail.com","subject":"Re: [PATCH] Use $Id$ as the ident attribute keyword rather than $ident$ to be consistent with other VCSs","fromName":"Johannes Sixt","fromEmail":"j.sixt@eudaptics.com","sentAt":"2007-05-14T14:19:18Z","receivedAt":"2007-05-14T14:19:18Z","isPatch":true,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Andy Parkins wrote:\n> I think that bzr uses $Id$; Mercurial has examples hooks for $Id$;\n> monotone has $Id$ on its wishlist.  I can't think of a good reason not\n> to stick with the de-facto standard and call ours $Id$ instead of\n> $ident$.\n\nI very much agree. I wondered why it was named $ident$ in the first\nplace. Now that I'm not alone, I thought I'd throw my 2 cents in...\n\n-- Hannes\n"},{"id":"42118","messageId":"200705141539.08641.andyparkins@gmail.com","threadId":"8145","inReplyTo":"46486FE6.16A82D9A@eudaptics.com","subject":"Re: [PATCH] Use $Id$ as the ident attribute keyword rather than $ident$ to be consistent with other VCSs","fromName":"Andy Parkins","fromEmail":"andyparkins@gmail.com","sentAt":"2007-05-14T14:39:06Z","receivedAt":"2007-05-14T14:39:06Z","isPatch":true,"sender":{"key":"andyparkins@gmail.com","avatar":null},"body":"On Monday 2007 May 14, Johannes Sixt wrote:\n\nOops: response via private email, obviously intended for git mailing list.\n\n> Andy Parkins wrote:\n> > I think that bzr uses $Id$; Mercurial has examples hooks for $Id$;\n> > monotone has $Id$ on its wishlist.  I can't think of a good reason not\n> > to stick with the de-facto standard and call ours $Id$ instead of\n> > $ident$.\n>\n> I very much agree. I wondered why it was named $ident$ in the first\n> place. Now that I'm not alone, I thought I'd throw my 2 cents in...\n\n-- \nDr Andy Parkins, M Eng (hons), MIET\nandyparkins@gmail.com\n"},{"id":"42123","messageId":"7v646vo3pn.fsf@assigned-by-dhcp.cox.net","threadId":"8145","inReplyTo":"46486FE6.16A82D9A@eudaptics.com","subject":"Re: [PATCH] Use $Id$ as the ident attribute keyword rather than $ident$ to be consistent with other VCSs","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2007-05-14T14:54:44Z","receivedAt":"2007-05-14T14:54:44Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Sixt <J.Sixt@eudaptics.com> writes:\n\n> Andy Parkins wrote:\n>> I think that bzr uses $Id$; Mercurial has examples hooks for $Id$;\n>> monotone has $Id$ on its wishlist.  I can't think of a good reason not\n>> to stick with the de-facto standard and call ours $Id$ instead of\n>> $ident$.\n>\n> I very much agree. I wondered why it was named $ident$ in the first\n> place. Now that I'm not alone, I thought I'd throw my 2 cents in...\n\nMy take when I did the $ident$ stuff on this issue was quite the\nopposite.  CVS \"$Id$\" means quite a different thing (pathname,\nper-file revision number, date, and status) and it would not be\nright to overwrite it with $ident$ which does not record any of\nthose \"context sensitive\" information.\n\nI did not think other systems making that mistake was not an\nexcuse for us to do so, but on the other hand, if the users of\nthose other systems are happy to lose the information from CVS\nthen perhaps the users do want $Id$.\n\nObviously I do not care much about this feature and I have not\nlook at Andy's patch too deeply yet, but in any case I think the\ninverse conversion needs to be modified to match it, if it\nhasn't been done so.\n"},{"id":"42171","messageId":"200705142324.02929.andyparkins@gmail.com","threadId":"8145","inReplyTo":"7v646vo3pn.fsf@assigned-by-dhcp.cox.net","subject":"Re: [PATCH] Use $Id$ as the ident attribute keyword rather than $ident$ to be consistent with other VCSs","fromName":"Andy Parkins","fromEmail":"andyparkins@gmail.com","sentAt":"2007-05-14T22:24:01Z","receivedAt":"2007-05-14T22:24:01Z","isPatch":true,"sender":{"key":"andyparkins@gmail.com","avatar":null},"body":"On Monday 2007, May 14, Junio C Hamano wrote:\n\n> My take when I did the $ident$ stuff on this issue was quite the\n> opposite.  CVS \"$Id$\" means quite a different thing (pathname,\n\nYou're right, but I think it's intended as a unique identifier rather \nthan that specific information.  If that were wanted by a CVS/SVN user \nthey would have used $Author$, $Rev$, $Date$, etc.  $Id$ to me was just \nsome way of identifying the file its in uniquely - the fact that git \nhas a much better way of doing that is a bonus, and is exactly right \nfor $Id$ IMHO.\n\n> per-file revision number, date, and status) and it would not be\n> right to overwrite it with $ident$ which does not record any of\n> those \"context sensitive\" information.\n\nIt would be perfectly correct to overwrite it, as in the repository \nversion none of that information is present, and even if it wasn't, as \nwe've discussed at length, it's all meaningless in a git context \nanyway - the best thing that you could do for it _is_ overwrite it.\n\n> I did not think other systems making that mistake was not an\n> excuse for us to do so, but on the other hand, if the users of\n> those other systems are happy to lose the information from CVS\n> then perhaps the users do want $Id$.\n\nAs I said, there is no information in that field when we import from \nCVS/SVN - the repository versions are stored with the fields \ncollapsed - so you are not overwriting anything, and therefore not \nlosing information.\n\n> Obviously I do not care much about this feature and I have not\n> look at Andy's patch too deeply yet, but in any case I think the\n> inverse conversion needs to be modified to match it, if it\n> hasn't been done so.\n\nI believe I did the inverse conversion as well.  It's only rough, in the  \nend I don't care much either way - I've already converted everything of \nmine to git so it affects me not at all.  I offer it only as a \nsuggestion for imports from other repositories.\n\n\n\nAndy\n-- \nDr Andy Parkins, M Eng (hons), MIET\nandyparkins@gmail.com\n"},{"id":"42179","messageId":"7vzm47kkj3.fsf@assigned-by-dhcp.cox.net","threadId":"8145","inReplyTo":"200705142324.02929.andyparkins@gmail.com","subject":"Re: [PATCH] Use $Id$ as the ident attribute keyword rather than $ident$ to be consistent with other VCSs","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2007-05-15T00:17:20Z","receivedAt":"2007-05-15T00:17:20Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Andy Parkins <andyparkins@gmail.com> writes:\n\n> It would be perfectly correct to overwrite it, as in the repository \n> version none of that information is present, and even if it wasn't, as \n> we've discussed at length, it's all meaningless in a git context \n> anyway - the best thing that you could do for it _is_ overwrite it.\n\nOk, you are right, and we should obviously do this before v1.5.2\nfinal.\n"},{"id":"42182","messageId":"7vmz06lu7d.fsf@assigned-by-dhcp.cox.net","threadId":"8145","inReplyTo":"200705142324.02929.andyparkins@gmail.com","subject":"Re: [PATCH] Use $Id$ as the ident attribute keyword rather than $ident$ to be consistent with other VCSs","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2007-05-15T02:03:02Z","receivedAt":"2007-05-15T02:03:02Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Andy Parkins <andyparkins@gmail.com> writes:\n\n> On Monday 2007, May 14, Junio C Hamano wrote:\n>\n>> Obviously I do not care much about this feature and I have not\n>> look at Andy's patch too deeply yet, but in any case I think the\n>> inverse conversion needs to be modified to match it, if it\n>> hasn't been done so.\n>\n> I believe I did the inverse conversion as well.\n\nI think this on top of your patch would be the minimum necessary\nfor v1.5.2.\n\n Documentation/RelNotes-1.5.2.txt |    2 +-\n Documentation/gitattributes.txt  |    6 +++---\n convert.c                        |   14 +++++++-------\n t/t0021-conversion.sh            |    4 ++--\n 4 files changed, 13 insertions(+), 13 deletions(-)\n\ndiff --git a/Documentation/RelNotes-1.5.2.txt b/Documentation/RelNotes-1.5.2.txt\nindex d1c2cac..7dbdb26 100644\n--- a/Documentation/RelNotes-1.5.2.txt\n+++ b/Documentation/RelNotes-1.5.2.txt\n@@ -26,7 +26,7 @@ Updates since v1.5.1\n   considered a binary or text (the former would be treated by\n   'git diff' not to produce textual output; the latter can go\n   through the line endings conversion process in repositories\n-  with core.autocrlf set), expand and unexpand '$ident$' keyword\n+  with core.autocrlf set), expand and unexpand '$Id$' keyword\n   with blob object name, specify a custom 3-way merge driver,\n   and specify a custom diff driver.  You can also apply\n   arbitrary filter to contents on check-in/check-out codepath\ndiff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.txt\nindex 8772310..d3ac9c7 100644\n--- a/Documentation/gitattributes.txt\n+++ b/Documentation/gitattributes.txt\n@@ -138,11 +138,11 @@ upon checkout.\n ^^^^^^^\n \n When the attribute `ident` is set to a path, git replaces\n-`$ident$` in the blob object with `$ident:`, followed by\n+`$Id$` in the blob object with `$Id:`, followed by\n 40-character hexadecimal blob object name, followed by a dollar\n sign `$` upon checkout.  Any byte sequence that begins with\n-`$ident:` and ends with `$` in the worktree file is replaced\n-with `$ident$` upon check-in.\n+`$Id:` and ends with `$` in the worktree file is replaced\n+with `$Id$` upon check-in.\n \n \n Interaction between checkin/checkout attributes\ndiff --git a/convert.c b/convert.c\nindex c46ab1b..12abdaf 100644\n--- a/convert.c\n+++ b/convert.c\n@@ -422,20 +422,20 @@ static int count_ident(const char *cp, unsigned long size)\n \t\tsize--;\n \t\tif (ch != '$')\n \t\t\tcontinue;\n-\t\tif (size < 6)\n+\t\tif (size < 3)\n \t\t\tbreak;\n-\t\tif (memcmp(\"ident\", cp, 5))\n+\t\tif (memcmp(\"Id\", cp, 2))\n \t\t\tcontinue;\n-\t\tch = cp[5];\n-\t\tcp += 6;\n-\t\tsize -= 6;\n+\t\tch = cp[2];\n+\t\tcp += 3;\n+\t\tsize -= 3;\n \t\tif (ch == '$')\n-\t\t\tcnt++; /* $ident$ */\n+\t\t\tcnt++; /* $Id$ */\n \t\tif (ch != ':')\n \t\t\tcontinue;\n \n \t\t/*\n-\t\t * \"$ident: ... \"; scan up to the closing dollar sign and discard.\n+\t\t * \"$Id: ... \"; scan up to the closing dollar sign and discard.\n \t\t */\n \t\twhile (size) {\n \t\t\tch = *cp++;\ndiff --git a/t/t0021-conversion.sh b/t/t0021-conversion.sh\nindex bab9ecc..6c26fd8 100755\n--- a/t/t0021-conversion.sh\n+++ b/t/t0021-conversion.sh\n@@ -21,7 +21,7 @@ test_expect_success setup '\n \t{\n \t    echo a b c d e f g h i j k l m\n \t    echo n o p q r s t u v w x y z\n-\t    echo '\\''$ident$'\\''\n+\t    echo '\\''$Id$'\\''\n \t} >test &&\n \tcat test >test.t &&\n \tcat test >test.o &&\n@@ -31,7 +31,7 @@ test_expect_success setup '\n \tgit checkout -- test test.t test.i\n '\n \n-script='s/^\\$ident: \\([0-9a-f]*\\) \\$/\\1/p'\n+script='s/^\\$Id: \\([0-9a-f]*\\) \\$/\\1/p'\n \n test_expect_success check '\n \n"},{"id":"42198","messageId":"200705150914.44641.andyparkins@gmail.com","threadId":"8145","inReplyTo":"7vmz06lu7d.fsf@assigned-by-dhcp.cox.net","subject":"Re: [PATCH] Use $Id$ as the ident attribute keyword rather than $ident$ to be consistent with other VCSs","fromName":"Andy Parkins","fromEmail":"andyparkins@gmail.com","sentAt":"2007-05-15T08:14:43Z","receivedAt":"2007-05-15T08:14:43Z","isPatch":true,"sender":{"key":"andyparkins@gmail.com","avatar":null},"body":"On Tuesday 2007 May 15, Junio C Hamano wrote:\n\n> I think this on top of your patch would be the minimum necessary\n> for v1.5.2.\n\nOops.  I think I'm going to mail you a big bat with \"Documentation\" carved \ninto it that you can use for smacking us (me), for submitting patches without \ndocumentation.\n\nSorry.\n\n\n\nAndy\n-- \nDr Andy Parkins, M Eng (hons), MIET\nandyparkins@gmail.com\n"},{"id":"42204","messageId":"7v8xbqlb68.fsf@assigned-by-dhcp.cox.net","threadId":"8145","inReplyTo":"200705150914.44641.andyparkins@gmail.com","subject":"Re: [PATCH] Use $Id$ as the ident attribute keyword rather than $ident$ to be consistent with other VCSs","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2007-05-15T08:54:07Z","receivedAt":"2007-05-15T08:54:07Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Andy Parkins <andyparkins@gmail.com> writes:\n\n> On Tuesday 2007 May 15, Junio C Hamano wrote:\n>\n>> I think this on top of your patch would be the minimum necessary\n>> for v1.5.2.\n>\n> Oops.  I think I'm going to mail you a big bat with\n> \"Documentation\" carved into it that you can use for smacking\n> us (me), for submitting patches without documentation.\n\nActually, Documentation is the least offence.  I wanted to have\nsomebody sanity-check the change to count_ident().\n"},{"id":"42212","messageId":"200705151134.10229.andyparkins@gmail.com","threadId":"8145","inReplyTo":"7v8xbqlb68.fsf@assigned-by-dhcp.cox.net","subject":"Re: [PATCH] Use $Id$ as the ident attribute keyword rather than $ident$ to be consistent with other VCSs","fromName":"Andy Parkins","fromEmail":"andyparkins@gmail.com","sentAt":"2007-05-15T10:34:09Z","receivedAt":"2007-05-15T10:34:09Z","isPatch":true,"sender":{"key":"andyparkins@gmail.com","avatar":null},"body":"On Tuesday 2007 May 15, Junio C Hamano wrote:\n\n> Actually, Documentation is the least offence.  I wanted to have\n> somebody sanity-check the change to count_ident().\n\nBlimey.  It's a good job you're awake.  I'm ashamed of myself for missing \nthat.  Apologies again.  You should have just prodded me - I'm always happy \nto fix my mistakes; I certainly don't expect you to have to apply patches and \nfix them as well.\n\n\nAndy\n-- \nDr Andy Parkins, M Eng (hons), MIET\nandyparkins@gmail.com\n"},{"id":"42398","messageId":"200705171453.32093.andyparkins@gmail.com","threadId":"8145","inReplyTo":"200705141405.29550.andyparkins@gmail.com","subject":"Re: [PATCH] Allow the ident attribute to include a length specifier","fromName":"Andy Parkins","fromEmail":"andyparkins@gmail.com","sentAt":"2007-05-17T13:53:29Z","receivedAt":"2007-05-17T13:53:29Z","isPatch":true,"sender":{"key":"andyparkins@gmail.com","avatar":null},"body":"On Monday 2007 May 14, Andy Parkins wrote:\n> When the ident attribute is found for a path, then git replaces $ident$\n> with:\n>\n>   $ident: df2a1fd3ebce86876721bd7e12ce02ac89c885db $\n>\n> With this patch, you can put the following in your attribute file:\n>\n>   somepath ident=10\n>\n> And get expansions like this:\n>\n>   $ident: df2a1fd3eb $\n>\n> There is no change to existing behaviour.  With no parameter, the\n> expansion is all 40 hex digits.\n\nWere there any thoughts on this patch?  I think it might have got drowned in \nthe noise I made about $ident$ -> $Id$.\n\n\nAndy\n-- \nDr Andy Parkins, M Eng (hons), MIET\nandyparkins@gmail.com\n"},{"id":"42426","messageId":"7vr6pf8bte.fsf@assigned-by-dhcp.cox.net","threadId":"8145","inReplyTo":"200705171453.32093.andyparkins@gmail.com","subject":"Re: [PATCH] Allow the ident attribute to include a length specifier","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2007-05-17T19:55:25Z","receivedAt":"2007-05-17T19:55:25Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Andy Parkins <andyparkins@gmail.com> writes:\n\n>> There is no change to existing behaviour.  With no parameter, the\n>> expansion is all 40 hex digits.\n>\n> Were there any thoughts on this patch?  I think it might have got drowned in \n> the noise I made about $ident$ -> $Id$.\n\nI was kind of hoping that I can avoid the decision and also I\ncan avoid having to remember it, by waiting long enough and\neither seeing nobody on the list bring it up again, in which\ncase we can safely forget it, or somebody asks \"what happened to\nthis, I want it too!\", in which case the original submitter\nwould resubmit after the dust settles after 1.5.2, possibly with\na necessary rebase and clean-up.  I'll see which one is the case\nin the coming few weeks ;-).\n"}]}