Rename local variables in Repository.resolve

This is to prepare for extension. The new names better reflect
the content of the variables.

Change-Id: Ic2b4741ab33223aa7f239915d9138b254890bf7b
This commit is contained in:
Robin Rosenberg 2012-07-11 00:56:42 +02:00
parent 130925b879
commit 981720d150
1 changed files with 63 additions and 61 deletions

View File

@ -383,18 +383,18 @@ public ObjectId resolve(final String revstr)
} }
private ObjectId resolve(final RevWalk rw, final String revstr) throws IOException { private ObjectId resolve(final RevWalk rw, final String revstr) throws IOException {
char[] rev = revstr.toCharArray(); char[] revChars = revstr.toCharArray();
RevObject ref = null; RevObject rev = null;
for (int i = 0; i < rev.length; ++i) { for (int i = 0; i < revChars.length; ++i) {
switch (rev[i]) { switch (revChars[i]) {
case '^': case '^':
if (ref == null) { if (rev == null) {
ref = parseSimple(rw, new String(rev, 0, i)); rev = parseSimple(rw, new String(revChars, 0, i));
if (ref == null) if (rev == null)
return null; return null;
} }
if (i + 1 < rev.length) { if (i + 1 < revChars.length) {
switch (rev[i + 1]) { switch (revChars[i + 1]) {
case '0': case '0':
case '1': case '1':
case '2': case '2':
@ -406,12 +406,13 @@ private ObjectId resolve(final RevWalk rw, final String revstr) throws IOExcepti
case '8': case '8':
case '9': case '9':
int j; int j;
ref = rw.parseCommit(ref); rev = rw.parseCommit(rev);
for (j = i + 1; j < rev.length; ++j) { for (j = i + 1; j < revChars.length; ++j) {
if (!Character.isDigit(rev[j])) if (!Character.isDigit(revChars[j]))
break; break;
} }
String parentnum = new String(rev, i + 1, j - i - 1); String parentnum = new String(revChars, i + 1, j - i
- 1);
int pnum; int pnum;
try { try {
pnum = Integer.parseInt(parentnum); pnum = Integer.parseInt(parentnum);
@ -421,85 +422,85 @@ private ObjectId resolve(final RevWalk rw, final String revstr) throws IOExcepti
revstr); revstr);
} }
if (pnum != 0) { if (pnum != 0) {
RevCommit commit = (RevCommit) ref; RevCommit commit = (RevCommit) rev;
if (pnum > commit.getParentCount()) if (pnum > commit.getParentCount())
ref = null; rev = null;
else else
ref = commit.getParent(pnum - 1); rev = commit.getParent(pnum - 1);
} }
i = j - 1; i = j - 1;
break; break;
case '{': case '{':
int k; int k;
String item = null; String item = null;
for (k = i + 2; k < rev.length; ++k) { for (k = i + 2; k < revChars.length; ++k) {
if (rev[k] == '}') { if (revChars[k] == '}') {
item = new String(rev, i + 2, k - i - 2); item = new String(revChars, i + 2, k - i - 2);
break; break;
} }
} }
i = k; i = k;
if (item != null) if (item != null)
if (item.equals("tree")) { if (item.equals("tree")) {
ref = rw.parseTree(ref); rev = rw.parseTree(rev);
} else if (item.equals("commit")) { } else if (item.equals("commit")) {
ref = rw.parseCommit(ref); rev = rw.parseCommit(rev);
} else if (item.equals("blob")) { } else if (item.equals("blob")) {
ref = rw.peel(ref); rev = rw.peel(rev);
if (!(ref instanceof RevBlob)) if (!(rev instanceof RevBlob))
throw new IncorrectObjectTypeException(ref, throw new IncorrectObjectTypeException(rev,
Constants.TYPE_BLOB); Constants.TYPE_BLOB);
} else if (item.equals("")) { } else if (item.equals("")) {
ref = rw.peel(ref); rev = rw.peel(rev);
} else } else
throw new RevisionSyntaxException(revstr); throw new RevisionSyntaxException(revstr);
else else
throw new RevisionSyntaxException(revstr); throw new RevisionSyntaxException(revstr);
break; break;
default: default:
ref = rw.parseAny(ref); rev = rw.parseAny(rev);
if (ref instanceof RevCommit) { if (rev instanceof RevCommit) {
RevCommit commit = ((RevCommit) ref); RevCommit commit = ((RevCommit) rev);
if (commit.getParentCount() == 0) if (commit.getParentCount() == 0)
ref = null; rev = null;
else else
ref = commit.getParent(0); rev = commit.getParent(0);
} else } else
throw new IncorrectObjectTypeException(ref, throw new IncorrectObjectTypeException(rev,
Constants.TYPE_COMMIT); Constants.TYPE_COMMIT);
} }
} else { } else {
ref = rw.peel(ref); rev = rw.peel(rev);
if (ref instanceof RevCommit) { if (rev instanceof RevCommit) {
RevCommit commit = ((RevCommit) ref); RevCommit commit = ((RevCommit) rev);
if (commit.getParentCount() == 0) if (commit.getParentCount() == 0)
ref = null; rev = null;
else else
ref = commit.getParent(0); rev = commit.getParent(0);
} else } else
throw new IncorrectObjectTypeException(ref, throw new IncorrectObjectTypeException(rev,
Constants.TYPE_COMMIT); Constants.TYPE_COMMIT);
} }
break; break;
case '~': case '~':
if (ref == null) { if (rev == null) {
ref = parseSimple(rw, new String(rev, 0, i)); rev = parseSimple(rw, new String(revChars, 0, i));
if (ref == null) if (rev == null)
return null; return null;
} }
ref = rw.peel(ref); rev = rw.peel(rev);
if (!(ref instanceof RevCommit)) if (!(rev instanceof RevCommit))
throw new IncorrectObjectTypeException(ref, throw new IncorrectObjectTypeException(rev,
Constants.TYPE_COMMIT); Constants.TYPE_COMMIT);
int l; int l;
for (l = i + 1; l < rev.length; ++l) { for (l = i + 1; l < revChars.length; ++l) {
if (!Character.isDigit(rev[l])) if (!Character.isDigit(revChars[l]))
break; break;
} }
int dist; int dist;
if (l - i > 1) { if (l - i > 1) {
String distnum = new String(rev, i + 1, l - i - 1); String distnum = new String(revChars, i + 1, l - i - 1);
try { try {
dist = Integer.parseInt(distnum); dist = Integer.parseInt(distnum);
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
@ -509,14 +510,14 @@ private ObjectId resolve(final RevWalk rw, final String revstr) throws IOExcepti
} else } else
dist = 1; dist = 1;
while (dist > 0) { while (dist > 0) {
RevCommit commit = (RevCommit) ref; RevCommit commit = (RevCommit) rev;
if (commit.getParentCount() == 0) { if (commit.getParentCount() == 0) {
ref = null; rev = null;
break; break;
} }
commit = commit.getParent(0); commit = commit.getParent(0);
rw.parseHeaders(commit); rw.parseHeaders(commit);
ref = commit; rev = commit;
--dist; --dist;
} }
i = l - 1; i = l - 1;
@ -524,32 +525,32 @@ private ObjectId resolve(final RevWalk rw, final String revstr) throws IOExcepti
case '@': case '@':
int m; int m;
String time = null; String time = null;
for (m = i + 2; m < rev.length; ++m) { for (m = i + 2; m < revChars.length; ++m) {
if (rev[m] == '}') { if (revChars[m] == '}') {
time = new String(rev, i + 2, m - i - 2); time = new String(revChars, i + 2, m - i - 2);
break; break;
} }
} }
if (time != null) { if (time != null) {
String refName = new String(rev, 0, i); String refName = new String(revChars, 0, i);
Ref resolved = getRefDatabase().getRef(refName); Ref resolved = getRefDatabase().getRef(refName);
if (resolved == null) if (resolved == null)
return null; return null;
ref = resolveReflog(rw, resolved, time); rev = resolveReflog(rw, resolved, time);
i = m; i = m;
} else } else
i = m - 1; i = m - 1;
break; break;
case ':': { case ':': {
RevTree tree; RevTree tree;
if (ref == null) { if (rev == null) {
// We might not yet have parsed the left hand side. // We might not yet have parsed the left hand side.
ObjectId id; ObjectId id;
try { try {
if (i == 0) if (i == 0)
id = resolve(rw, Constants.HEAD); id = resolve(rw, Constants.HEAD);
else else
id = resolve(rw, new String(rev, 0, i)); id = resolve(rw, new String(revChars, 0, i));
} catch (RevisionSyntaxException badSyntax) { } catch (RevisionSyntaxException badSyntax) {
throw new RevisionSyntaxException(revstr); throw new RevisionSyntaxException(revstr);
} }
@ -557,23 +558,24 @@ private ObjectId resolve(final RevWalk rw, final String revstr) throws IOExcepti
return null; return null;
tree = rw.parseTree(id); tree = rw.parseTree(id);
} else { } else {
tree = rw.parseTree(ref); tree = rw.parseTree(rev);
} }
if (i == rev.length - 1) if (i == revChars.length - 1)
return tree.copy(); return tree.copy();
TreeWalk tw = TreeWalk.forPath(rw.getObjectReader(), TreeWalk tw = TreeWalk.forPath(rw.getObjectReader(),
new String(rev, i + 1, rev.length - i - 1), tree); new String(revChars, i + 1, revChars.length - i - 1),
tree);
return tw != null ? tw.getObjectId(0) : null; return tw != null ? tw.getObjectId(0) : null;
} }
default: default:
if (ref != null) if (rev != null)
throw new RevisionSyntaxException(revstr); throw new RevisionSyntaxException(revstr);
} }
} }
return ref != null ? ref.copy() : resolveSimple(revstr); return rev != null ? rev.copy() : resolveSimple(revstr);
} }
private static boolean isHex(char c) { private static boolean isHex(char c) {