Resolve ~ with no trailing number as the first parent commit
This would previously throw a RevisionSyntaxException Change-Id: I42b4988c7f6c6454e2ebda13914260e25ac1a889
This commit is contained in:
parent
d5c890e0fd
commit
c963e7aacf
|
@ -111,6 +111,11 @@ public void testDistance() throws IOException {
|
||||||
assertEquals("1203b03dc816ccbb67773f28b3c19318654b0bc8",db.resolve("49322bb17d3acc9146f98c97d078513228bbf3c0~2").name());
|
assertEquals("1203b03dc816ccbb67773f28b3c19318654b0bc8",db.resolve("49322bb17d3acc9146f98c97d078513228bbf3c0~2").name());
|
||||||
assertEquals("bab66b48f836ed950c99134ef666436fb07a09a0",db.resolve("49322bb17d3acc9146f98c97d078513228bbf3c0~3").name());
|
assertEquals("bab66b48f836ed950c99134ef666436fb07a09a0",db.resolve("49322bb17d3acc9146f98c97d078513228bbf3c0~3").name());
|
||||||
assertEquals("bab66b48f836ed950c99134ef666436fb07a09a0",db.resolve("49322bb17d3acc9146f98c97d078513228bbf3c0~03").name());
|
assertEquals("bab66b48f836ed950c99134ef666436fb07a09a0",db.resolve("49322bb17d3acc9146f98c97d078513228bbf3c0~03").name());
|
||||||
|
assertEquals("6e1475206e57110fcef4b92320436c1e9872a322",db.resolve("49322bb17d3acc9146f98c97d078513228bbf3c0~").name());
|
||||||
|
assertEquals("1203b03dc816ccbb67773f28b3c19318654b0bc8",db.resolve("49322bb17d3acc9146f98c97d078513228bbf3c0~~").name());
|
||||||
|
assertEquals("bab66b48f836ed950c99134ef666436fb07a09a0",db.resolve("49322bb17d3acc9146f98c97d078513228bbf3c0~~~").name());
|
||||||
|
assertEquals("1203b03dc816ccbb67773f28b3c19318654b0bc8",db.resolve("49322bb17d3acc9146f98c97d078513228bbf3c0~~1").name());
|
||||||
|
assertEquals("1203b03dc816ccbb67773f28b3c19318654b0bc8",db.resolve("49322bb17d3acc9146f98c97d078513228bbf3c0~~~0").name());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
@ -496,14 +496,17 @@ private ObjectId resolve(final RevWalk rw, final String revstr) throws IOExcepti
|
||||||
if (!Character.isDigit(rev[l]))
|
if (!Character.isDigit(rev[l]))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
String distnum = new String(rev, i + 1, l - i - 1);
|
|
||||||
int dist;
|
int dist;
|
||||||
try {
|
if (l - i > 1) {
|
||||||
dist = Integer.parseInt(distnum);
|
String distnum = new String(rev, i + 1, l - i - 1);
|
||||||
} catch (NumberFormatException e) {
|
try {
|
||||||
throw new RevisionSyntaxException(
|
dist = Integer.parseInt(distnum);
|
||||||
JGitText.get().invalidAncestryLength, revstr);
|
} catch (NumberFormatException e) {
|
||||||
}
|
throw new RevisionSyntaxException(
|
||||||
|
JGitText.get().invalidAncestryLength, revstr);
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
dist = 1;
|
||||||
while (dist > 0) {
|
while (dist > 0) {
|
||||||
RevCommit commit = (RevCommit) ref;
|
RevCommit commit = (RevCommit) ref;
|
||||||
if (commit.getParentCount() == 0) {
|
if (commit.getParentCount() == 0) {
|
||||||
|
|
Loading…
Reference in New Issue