Mercurial > jhg
diff src/org/tmatesoft/hg/repo/HgManifest.java @ 547:66fc86e8c0dd
#getFileRevision() shall accept TIP as an argument
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Mon, 18 Feb 2013 19:58:10 +0100 |
parents | 5a455624be4f |
children | c1478cc31f45 |
line wrap: on
line diff
--- a/src/org/tmatesoft/hg/repo/HgManifest.java Mon Feb 18 19:19:48 2013 +0100 +++ b/src/org/tmatesoft/hg/repo/HgManifest.java Mon Feb 18 19:58:10 2013 +0100 @@ -256,9 +256,9 @@ // there's no need for HgDataFile to own this method, or get a delegate // as most of HgDataFile API is using file revision indexes, and there's easy step from file revision index to // both file revision and changeset revision index. But there's no easy way to go from changesetRevisionIndex to - // file revision (the task this method solves), exept for HgFileInformer + // file revision (the task this method solves), except for HgFileInformer // I feel methods dealing with changeset indexes shall be more exposed in HgChangelog and HgManifest API. - // TODO need tests + // TODO need tests (e.g. pass TIP here to see resMap.get(-1) doesn't fail) int manifestRevIndex = fromChangelog(changelogRevisionIndex); if (manifestRevIndex == BAD_REVISION) { return null; @@ -266,7 +266,9 @@ IntMap<Nodeid> resMap = new IntMap<Nodeid>(3); FileLookupInspector parser = new FileLookupInspector(encodingHelper, file, resMap, null); parser.walk(manifestRevIndex, content); - return resMap.get(changelogRevisionIndex); + assert resMap.size() == 1; + // can't use changelogRevisionIndex as key - it might have been TIP + return resMap.get(resMap.firstKey()); } /** @@ -308,7 +310,9 @@ IntMap<Flags> resMap = new IntMap<Flags>(2); FileLookupInspector parser = new FileLookupInspector(encodingHelper, file, null, resMap); parser.walk(manifestRevIdx, content); - return resMap.get(changesetRevIndex); + assert resMap.size() == 1; + // can't use changesetRevIndex as key - it might have been TIP + return resMap.get(resMap.firstKey()); }