Add test case for $Id$ expanded in the repository
authorAndy Parkins <andyparkins@gmail.com>
Sun, 27 May 2007 10:52:11 +0000 (11:52 +0100)
committerJunio C Hamano <junkio@cox.net>
Tue, 29 May 2007 06:54:35 +0000 (23:54 -0700)
This test case would have caught the bug fixed by revision
c23290d5.

It puts various forms of $Id$ into a file in the repository,
without allowing git to collapse them to uniformity. Then enables the
$Id$ expansion on checkout, and checks that what is checked out has
coped with the various forms.

Signed-off-by: Andy Parkins <andyparkins@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
t/t0021-conversion.sh
index 6c26fd829d8d9a08cb6cadfa013e0beae9b08dff..a839f4e0744cd9344a3d71a48fe2224a99750729 100755 (executable)
@@ -45,4 +45,40 @@ test_expect_success check '
        test "z$id" = "z$embedded"
 '
 
+# If an expanded ident ever gets into the repository, we want to make sure that
+# it is collapsed before being expanded again on checkout
+test_expect_success expanded_in_repo '
+       {
+               echo "File with expanded keywords"
+               echo "\$Id\$"
+               echo "\$Id:\$"
+               echo "\$Id: 0000000000000000000000000000000000000000 \$"
+               echo "\$Id: NoSpaceAtEnd\$"
+               echo "\$Id:NoSpaceAtFront \$"
+               echo "\$Id:NoSpaceAtEitherEnd\$"
+               echo "\$Id: NoTerminatingSymbol"
+       } > expanded-keywords &&
+
+       {
+               echo "File with expanded keywords"
+               echo "\$Id: 4f21723e7b15065df7de95bd46c8ba6fb1818f4c \$"
+               echo "\$Id: 4f21723e7b15065df7de95bd46c8ba6fb1818f4c \$"
+               echo "\$Id: 4f21723e7b15065df7de95bd46c8ba6fb1818f4c \$"
+               echo "\$Id: 4f21723e7b15065df7de95bd46c8ba6fb1818f4c \$"
+               echo "\$Id: 4f21723e7b15065df7de95bd46c8ba6fb1818f4c \$"
+               echo "\$Id: 4f21723e7b15065df7de95bd46c8ba6fb1818f4c \$"
+               echo "\$Id: NoTerminatingSymbol"
+       } > expected-output &&
+
+       git add expanded-keywords &&
+       git commit -m "File with keywords expanded" &&
+
+       echo "expanded-keywords ident" >> .gitattributes &&
+
+       rm -f expanded-keywords &&
+       git checkout -- expanded-keywords &&
+       cat expanded-keywords &&
+       cmp expanded-keywords expected-output
+'
+
 test_done