Andy Parkins <andyparkins@xxxxxxxxx> writes: > On Monday 2007, May 14, Junio C Hamano wrote: > >> Obviously I do not care much about this feature and I have not >> look at Andy's patch too deeply yet, but in any case I think the >> inverse conversion needs to be modified to match it, if it >> hasn't been done so. > > I believe I did the inverse conversion as well. I think this on top of your patch would be the minimum necessary for v1.5.2. Documentation/RelNotes-1.5.2.txt | 2 +- Documentation/gitattributes.txt | 6 +++--- convert.c | 14 +++++++------- t/t0021-conversion.sh | 4 ++-- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Documentation/RelNotes-1.5.2.txt b/Documentation/RelNotes-1.5.2.txt index d1c2cac..7dbdb26 100644 --- a/Documentation/RelNotes-1.5.2.txt +++ b/Documentation/RelNotes-1.5.2.txt @@ -26,7 +26,7 @@ Updates since v1.5.1 considered a binary or text (the former would be treated by 'git diff' not to produce textual output; the latter can go through the line endings conversion process in repositories - with core.autocrlf set), expand and unexpand '$ident$' keyword + with core.autocrlf set), expand and unexpand '$Id$' keyword with blob object name, specify a custom 3-way merge driver, and specify a custom diff driver. You can also apply arbitrary filter to contents on check-in/check-out codepath diff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.txt index 8772310..d3ac9c7 100644 --- a/Documentation/gitattributes.txt +++ b/Documentation/gitattributes.txt @@ -138,11 +138,11 @@ upon checkout. ^^^^^^^ When the attribute `ident` is set to a path, git replaces -`$ident$` in the blob object with `$ident:`, followed by +`$Id$` in the blob object with `$Id:`, followed by 40-character hexadecimal blob object name, followed by a dollar sign `$` upon checkout. Any byte sequence that begins with -`$ident:` and ends with `$` in the worktree file is replaced -with `$ident$` upon check-in. +`$Id:` and ends with `$` in the worktree file is replaced +with `$Id$` upon check-in. Interaction between checkin/checkout attributes diff --git a/convert.c b/convert.c index c46ab1b..12abdaf 100644 --- a/convert.c +++ b/convert.c @@ -422,20 +422,20 @@ static int count_ident(const char *cp, unsigned long size) size--; if (ch != '$') continue; - if (size < 6) + if (size < 3) break; - if (memcmp("ident", cp, 5)) + if (memcmp("Id", cp, 2)) continue; - ch = cp[5]; - cp += 6; - size -= 6; + ch = cp[2]; + cp += 3; + size -= 3; if (ch == '$') - cnt++; /* $ident$ */ + cnt++; /* $Id$ */ if (ch != ':') continue; /* - * "$ident: ... "; scan up to the closing dollar sign and discard. + * "$Id: ... "; scan up to the closing dollar sign and discard. */ while (size) { ch = *cp++; diff --git a/t/t0021-conversion.sh b/t/t0021-conversion.sh index bab9ecc..6c26fd8 100755 --- a/t/t0021-conversion.sh +++ b/t/t0021-conversion.sh @@ -21,7 +21,7 @@ test_expect_success setup ' { echo a b c d e f g h i j k l m echo n o p q r s t u v w x y z - echo '\''$ident$'\'' + echo '\''$Id$'\'' } >test && cat test >test.t && cat test >test.o && @@ -31,7 +31,7 @@ test_expect_success setup ' git checkout -- test test.t test.i ' -script='s/^\$ident: \([0-9a-f]*\) \$/\1/p' +script='s/^\$Id: \([0-9a-f]*\) \$/\1/p' test_expect_success check ' - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html