Mercurial > hg4j
comparison src/org/tmatesoft/hg/repo/HgManifest.java @ 222:373e07cd3991
Due to discrepancy in manifest and changelor indexes, wrong manifest revisions got cached and compared
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Thu, 19 May 2011 05:02:07 +0200 |
parents | 8de327242aa0 |
children | b7347daa50e3 |
comparison
equal
deleted
inserted
replaced
221:04735ce6bed2 | 222:373e07cd3991 |
---|---|
67 } | 67 } |
68 return revisionMap.at(revisionNumber); | 68 return revisionMap.at(revisionNumber); |
69 } | 69 } |
70 | 70 |
71 public interface Inspector { | 71 public interface Inspector { |
72 boolean begin(int revision, Nodeid nid); | 72 boolean begin(int mainfestRevision, Nodeid nid, int changelogRevision); |
73 boolean next(Nodeid nid, String fname, String flags); | 73 boolean next(Nodeid nid, String fname, String flags); |
74 boolean end(int revision); | 74 boolean end(int manifestRevision); |
75 } | 75 } |
76 | 76 |
77 private static class ManifestParser implements RevlogStream.Inspector { | 77 private static class ManifestParser implements RevlogStream.Inspector { |
78 private boolean gtg = true; // good to go | 78 private boolean gtg = true; // good to go |
79 private final Inspector inspector; | 79 private final Inspector inspector; |
92 public void next(int revisionNumber, int actualLen, int baseRevision, int linkRevision, int parent1Revision, int parent2Revision, byte[] nodeid, DataAccess da) { | 92 public void next(int revisionNumber, int actualLen, int baseRevision, int linkRevision, int parent1Revision, int parent2Revision, byte[] nodeid, DataAccess da) { |
93 if (!gtg) { | 93 if (!gtg) { |
94 return; | 94 return; |
95 } | 95 } |
96 try { | 96 try { |
97 gtg = gtg && inspector.begin(revisionNumber, new Nodeid(nodeid, true)); | 97 gtg = gtg && inspector.begin(revisionNumber, new Nodeid(nodeid, true), linkRevision); |
98 int i; | 98 int i; |
99 String fname = null; | 99 String fname = null; |
100 String flags = null; | 100 String flags = null; |
101 Nodeid nid = null; | 101 Nodeid nid = null; |
102 byte[] data = da.byteArray(); | 102 byte[] data = da.byteArray(); |