Mercurial > hg4j
comparison test/org/tmatesoft/hg/test/TestCommit.java @ 607:66f1cc23b906
Refresh revlogs if a change to a file has been detected; do not force reload of the whole repository
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Tue, 07 May 2013 16:52:46 +0200 |
parents | c56edf42be64 |
children | dca70c0b1f74 |
comparison
equal
deleted
inserted
replaced
606:5daa42067e7c | 607:66f1cc23b906 |
---|---|
131 cf.add(dfD, contentProvider); | 131 cf.add(dfD, contentProvider); |
132 cf.branch("branch1"); | 132 cf.branch("branch1"); |
133 Nodeid commitRev1 = cf.commit("FIRST"); | 133 Nodeid commitRev1 = cf.commit("FIRST"); |
134 contentProvider.done(); | 134 contentProvider.done(); |
135 // | 135 // |
136 // FIXME requirement to reload repository is disgusting | |
137 hgRepo = new HgLookup().detect(repoLoc); | |
138 List<HgChangeset> commits = new HgLogCommand(hgRepo).range(parentCsetRevIndex+1, TIP).execute(); | 136 List<HgChangeset> commits = new HgLogCommand(hgRepo).range(parentCsetRevIndex+1, TIP).execute(); |
139 assertEquals(1, commits.size()); | 137 assertEquals(1, commits.size()); |
140 HgChangeset c1 = commits.get(0); | 138 HgChangeset c1 = commits.get(0); |
141 errorCollector.assertEquals(c1.getNodeid(), commitRev1); | 139 errorCollector.assertEquals(c1.getNodeid(), commitRev1); |
142 errorCollector.assertEquals("branch1", c1.getBranch()); | 140 errorCollector.assertEquals("branch1", c1.getBranch()); |
162 cf.forget(hgRepo.getFileNode("d")); | 160 cf.forget(hgRepo.getFileNode("d")); |
163 Nodeid commitRev = cf.commit("Commit with add/remove cmd"); | 161 Nodeid commitRev = cf.commit("Commit with add/remove cmd"); |
164 contentProvider.done(); | 162 contentProvider.done(); |
165 // Note, working directory still points to original revision, CommitFacility doesn't update dirstate | 163 // Note, working directory still points to original revision, CommitFacility doesn't update dirstate |
166 // | 164 // |
167 // FIXME requirement to reload repository is disgusting | |
168 hgRepo = new HgLookup().detect(repoLoc); | |
169 List<HgChangeset> commits = new HgLogCommand(hgRepo).changeset(commitRev).execute(); | 165 List<HgChangeset> commits = new HgLogCommand(hgRepo).changeset(commitRev).execute(); |
170 HgChangeset cmt = commits.get(0); | 166 HgChangeset cmt = commits.get(0); |
171 errorCollector.assertEquals(1, cmt.getAddedFiles().size()); | 167 errorCollector.assertEquals(1, cmt.getAddedFiles().size()); |
172 errorCollector.assertEquals("xx", cmt.getAddedFiles().get(0).getPath().toString()); | 168 errorCollector.assertEquals("xx", cmt.getAddedFiles().get(0).getPath().toString()); |
173 errorCollector.assertEquals(1, cmt.getRemovedFiles().size()); | 169 errorCollector.assertEquals(1, cmt.getRemovedFiles().size()); |
209 cf.add(dfD, contentProvider = new FileContentSupplier(fileD)); | 205 cf.add(dfD, contentProvider = new FileContentSupplier(fileD)); |
210 cf.branch(DEFAULT_BRANCH_NAME); | 206 cf.branch(DEFAULT_BRANCH_NAME); |
211 Nodeid commitRev3 = cf.commit("THIRD"); | 207 Nodeid commitRev3 = cf.commit("THIRD"); |
212 contentProvider.done(); | 208 contentProvider.done(); |
213 // | 209 // |
214 // FIXME requirement to reload repository is disgusting | |
215 hgRepo = new HgLookup().detect(repoLoc); | |
216 List<HgChangeset> commits = new HgLogCommand(hgRepo).range(parentCsetRevIndex+1, TIP).execute(); | 210 List<HgChangeset> commits = new HgLogCommand(hgRepo).range(parentCsetRevIndex+1, TIP).execute(); |
217 assertEquals(3, commits.size()); | 211 assertEquals(3, commits.size()); |
218 HgChangeset c1 = commits.get(0); | 212 HgChangeset c1 = commits.get(0); |
219 HgChangeset c2 = commits.get(1); | 213 HgChangeset c2 = commits.get(1); |
220 HgChangeset c3 = commits.get(2); | 214 HgChangeset c3 = commits.get(2); |
245 Outcome r = cmd.message("FIRST").execute(); | 239 Outcome r = cmd.message("FIRST").execute(); |
246 errorCollector.assertTrue(r.isOk()); | 240 errorCollector.assertTrue(r.isOk()); |
247 Nodeid c1 = cmd.getCommittedRevision(); | 241 Nodeid c1 = cmd.getCommittedRevision(); |
248 | 242 |
249 // check that modified files are no longer reported as such | 243 // check that modified files are no longer reported as such |
250 hgRepo = new HgLookup().detect(repoLoc); | |
251 TestStatus.StatusCollector status = new TestStatus.StatusCollector(); | 244 TestStatus.StatusCollector status = new TestStatus.StatusCollector(); |
252 new HgStatusCommand(hgRepo).all().execute(status); | 245 new HgStatusCommand(hgRepo).all().execute(status); |
253 errorCollector.assertTrue(status.getErrors().isEmpty()); | 246 errorCollector.assertTrue(status.getErrors().isEmpty()); |
254 errorCollector.assertTrue(status.get(Kind.Modified).isEmpty()); | 247 errorCollector.assertTrue(status.get(Kind.Modified).isEmpty()); |
255 errorCollector.assertEquals(1, status.get(dfB.getPath()).size()); | 248 errorCollector.assertEquals(1, status.get(dfB.getPath()).size()); |
265 assertFalse(cmd.isMergeCommit()); | 258 assertFalse(cmd.isMergeCommit()); |
266 r = cmd.message("SECOND").execute(); | 259 r = cmd.message("SECOND").execute(); |
267 errorCollector.assertTrue(r.isOk()); | 260 errorCollector.assertTrue(r.isOk()); |
268 Nodeid c2 = cmd.getCommittedRevision(); | 261 Nodeid c2 = cmd.getCommittedRevision(); |
269 // | 262 // |
270 hgRepo = new HgLookup().detect(repoLoc); | |
271 int lastRev = hgRepo.getChangelog().getLastRevision(); | 263 int lastRev = hgRepo.getChangelog().getLastRevision(); |
272 List<HgChangeset> csets = new HgLogCommand(hgRepo).range(lastRev-1, lastRev).execute(); | 264 List<HgChangeset> csets = new HgLogCommand(hgRepo).range(lastRev-1, lastRev).execute(); |
273 errorCollector.assertEquals(csets.get(0).getNodeid(), c1); | 265 errorCollector.assertEquals(csets.get(0).getNodeid(), c1); |
274 errorCollector.assertEquals(csets.get(1).getNodeid(), c2); | 266 errorCollector.assertEquals(csets.get(1).getNodeid(), c2); |
275 errorCollector.assertEquals(csets.get(0).getComment(), "FIRST"); | 267 errorCollector.assertEquals(csets.get(0).getComment(), "FIRST"); |