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:
10
rev-parse.c
10
rev-parse.c
@ -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;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user