Mercurial > jhg
comparison src/org/tmatesoft/hg/repo/HgManifest.java @ 257:f39fb6b3cc76
Handle revision constants correctly
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Tue, 16 Aug 2011 22:07:16 +0200 |
parents | a620f0663a37 |
children | 3dcd3dd90c77 |
comparison
equal
deleted
inserted
replaced
256:b61ed0f2c4da | 257:f39fb6b3cc76 |
---|---|
88 // manifest revision number that corresponds to the given changeset | 88 // manifest revision number that corresponds to the given changeset |
89 /*package-local*/ int fromChangelog(int revisionNumber) { | 89 /*package-local*/ int fromChangelog(int revisionNumber) { |
90 if (HgInternals.wrongLocalRevision(revisionNumber)) { | 90 if (HgInternals.wrongLocalRevision(revisionNumber)) { |
91 throw new IllegalArgumentException(String.valueOf(revisionNumber)); | 91 throw new IllegalArgumentException(String.valueOf(revisionNumber)); |
92 } | 92 } |
93 if (revisionNumber == HgRepository.WORKING_COPY || revisionNumber == HgRepository.BAD_REVISION) { | |
94 throw new IllegalArgumentException("Can't use constants like WORKING_COPY or BAD_REVISION"); | |
95 } | |
96 // revisionNumber == TIP is processed by RevisionMapper | |
93 if (revisionMap == null) { | 97 if (revisionMap == null) { |
94 revisionMap = new RevisionMapper(getRepo()); | 98 revisionMap = new RevisionMapper(getRepo()); |
95 content.iterate(0, TIP, false, revisionMap); | 99 content.iterate(0, TIP, false, revisionMap); |
96 } | 100 } |
97 return revisionMap.at(revisionNumber); | 101 return revisionMap.at(revisionNumber); |
209 public RevisionMapper(HgRepository hgRepo) { | 213 public RevisionMapper(HgRepository hgRepo) { |
210 repo = hgRepo; | 214 repo = hgRepo; |
211 changelogRevisions = repo.getChangelog().getRevisionCount(); | 215 changelogRevisions = repo.getChangelog().getRevisionCount(); |
212 } | 216 } |
213 | 217 |
218 // respects TIP | |
214 public int at(int revisionNumber) { | 219 public int at(int revisionNumber) { |
220 if (revisionNumber == TIP) { | |
221 revisionNumber = changelogRevisions - 1; | |
222 } | |
215 if (changelog2manifest != null) { | 223 if (changelog2manifest != null) { |
216 return changelog2manifest[revisionNumber]; | 224 return changelog2manifest[revisionNumber]; |
217 } | 225 } |
218 return revisionNumber; | 226 return revisionNumber; |
219 } | 227 } |