Mercurial > hg4j
changeset 135:3959bffb14e9
explicit op name instead math op to get last rev number
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Wed, 16 Feb 2011 22:00:39 +0100 |
parents | afac8ddc5dd2 |
children | 947bf231acbb |
files | src/org/tmatesoft/hg/repo/HgChangelog.java src/org/tmatesoft/hg/repo/HgDataFile.java src/org/tmatesoft/hg/repo/HgStatusCollector.java src/org/tmatesoft/hg/repo/Revlog.java test/org/tmatesoft/hg/test/TestByteChannel.java |
diffstat | 5 files changed, 15 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/src/org/tmatesoft/hg/repo/HgChangelog.java Wed Feb 16 21:51:32 2011 +0100 +++ b/src/org/tmatesoft/hg/repo/HgChangelog.java Wed Feb 16 22:00:39 2011 +0100 @@ -44,7 +44,7 @@ } public void all(final HgChangelog.Inspector inspector) { - range(0, content.revisionCount() - 1, inspector); + range(0, lastRevision(), inspector); } public void range(int start, int end, final HgChangelog.Inspector inspector) {
--- a/src/org/tmatesoft/hg/repo/HgDataFile.java Wed Feb 16 21:51:32 2011 +0100 +++ b/src/org/tmatesoft/hg/repo/HgDataFile.java Wed Feb 16 22:00:39 2011 +0100 @@ -97,7 +97,7 @@ @Override public byte[] content(int revision) { if (revision == TIP) { - revision = content.revisionCount() - 1; // FIXME maxRevision. + revision = getLastRevision(); } byte[] data = super.content(revision); if (metadata == null) { @@ -154,14 +154,14 @@ } public void history(HgChangelog.Inspector inspector) { - history(0, content.revisionCount() - 1, inspector); + history(0, getLastRevision(), inspector); } public void history(int start, int end, HgChangelog.Inspector inspector) { if (!exists()) { throw new IllegalStateException("Can't get history of invalid repository file node"); } - final int last = content.revisionCount() - 1; + final int last = getLastRevision(); if (start < 0 || start > last) { throw new IllegalArgumentException(); }
--- a/src/org/tmatesoft/hg/repo/HgStatusCollector.java Wed Feb 16 21:51:32 2011 +0100 +++ b/src/org/tmatesoft/hg/repo/HgStatusCollector.java Wed Feb 16 22:00:39 2011 +0100 @@ -105,10 +105,10 @@ ((Record) inspector).init(rev1, rev2, this); } if (rev1 == TIP) { - rev1 = repo.getManifest().getRevisionCount() - 1; + rev1 = repo.getManifest().getLastRevision(); } if (rev2 == TIP) { - rev2 = repo.getManifest().getRevisionCount() - 1; // XXX add Revlog.tip() func ? + rev2 = repo.getManifest().getLastRevision(); } // in fact, rev1 and rev2 are often next (or close) to each other, // thus, we can optimize Manifest reads here (manifest.walk(rev1, rev2))
--- a/src/org/tmatesoft/hg/repo/Revlog.java Wed Feb 16 21:51:32 2011 +0100 +++ b/src/org/tmatesoft/hg/repo/Revlog.java Wed Feb 16 22:00:39 2011 +0100 @@ -62,16 +62,20 @@ return repo; } - public int getRevisionCount() { + public final int getRevisionCount() { return content.revisionCount(); } - public Nodeid getRevision(int revision) { + public final int getLastRevision() { + return content.revisionCount() - 1; + } + + public final Nodeid getRevision(int revision) { // XXX cache nodeids? return Nodeid.fromBinary(content.nodeid(revision), 0); } - public int getLocalRevision(Nodeid nid) { + public final int getLocalRevision(Nodeid nid) { int revision = content.findLocalRevisionNumber(nid); if (revision == BAD_REVISION) { throw new IllegalArgumentException(String.format("%s doesn't represent a revision of %s", nid.toString(), this /*XXX HgDataFile.getPath might be more suitable here*/)); @@ -80,7 +84,7 @@ } // Till now, i follow approach that NULL nodeid is never part of revlog - public boolean isKnown(Nodeid nodeid) { + public final boolean isKnown(Nodeid nodeid) { final int rn = content.findLocalRevisionNumber(nodeid); if (Integer.MIN_VALUE == rn) { return false;
--- a/test/org/tmatesoft/hg/test/TestByteChannel.java Wed Feb 16 21:51:32 2011 +0100 +++ b/test/org/tmatesoft/hg/test/TestByteChannel.java Wed Feb 16 22:00:39 2011 +0100 @@ -34,7 +34,7 @@ HgRepoFacade rf = new HgRepoFacade(); rf.init(); HgDataFile file = rf.getRepository().getFileNode("src/org/tmatesoft/hg/internal/KeywordFilter.java"); - for (int i = file.getRevisionCount() - 1; i >= 0; i--) { + for (int i = file.getLastRevision(); i >= 0; i--) { System.out.print("Content for revision:" + i); compareContent(file, i); System.out.println(" OK");