Change parent syntax to "xyz^" instead of "xyz.p"

The ".pN" thing might be a common ending of a tag, and in
contrast, ^ already is a special character for revisions
so use that instead.
This commit is contained in:
Linus Torvalds
2005-06-20 21:06:47 -07:00
parent a8be83fe00
commit 218e441daf

View File

@ -62,7 +62,7 @@ static int get_parent(char *name, unsigned char *result, int idx)
/* /*
* This is like "get_sha1()", except it allows "sha1 expressions", * This is like "get_sha1()", except it allows "sha1 expressions",
* notably "xyz.p" for "parent of xyz" * notably "xyz^" for "parent of xyz"
*/ */
static int get_extended_sha1(char *name, unsigned char *sha1) static int get_extended_sha1(char *name, unsigned char *sha1)
{ {
@ -70,15 +70,15 @@ static int get_extended_sha1(char *name, unsigned char *sha1)
int len = strlen(name); int len = strlen(name);
parent = 1; parent = 1;
if (len > 3 && name[len-1] >= '1' && name[len-1] <= '9') { if (len > 2 && name[len-1] >= '1' && name[len-1] <= '9') {
parent = name[len-1] - '0'; parent = name[len-1] - '0';
len--; len--;
} }
if (len > 2 && !memcmp(name + len - 2, ".p", 2)) { if (len > 1 && name[len-1] == '^') {
int ret; int ret;
name[len-2] = 0; name[len-1] = 0;
ret = get_parent(name, sha1, parent); ret = get_parent(name, sha1, parent);
name[len-2] = '.'; name[len-1] = '^';
if (!ret) if (!ret)
return 0; return 0;
} }