Mercurial > hg4j
diff test/org/tmatesoft/hg/test/TestCommit.java @ 605:c56edf42be64
Commit: update active bookmark with new revision
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Mon, 06 May 2013 20:28:21 +0200 |
parents | e447384f3771 |
children | 66f1cc23b906 |
line wrap: on
line diff
--- a/test/org/tmatesoft/hg/test/TestCommit.java Mon May 06 18:53:04 2013 +0200 +++ b/test/org/tmatesoft/hg/test/TestCommit.java Mon May 06 20:28:21 2013 +0200 @@ -277,6 +277,37 @@ assertHgVerifyOk(repoLoc); } + @Test + public void testUpdateActiveBookmark() throws Exception { + File repoLoc = RepoUtils.cloneRepoToTempLocation("log-1", "test-commit-cmd", false); + ExecHelper eh = new ExecHelper(new OutputParser.Stub(), repoLoc); + String activeBookmark = "bm1"; + eh.run("hg", "bookmarks", activeBookmark); + + HgRepository hgRepo = new HgLookup().detect(repoLoc); + assertEquals("[sanity]", activeBookmark, hgRepo.getBookmarks().getActiveBookmarkName()); + Nodeid activeBookmarkRevision = hgRepo.getBookmarks().getRevision(activeBookmark); + assertEquals("[sanity]", activeBookmarkRevision, hgRepo.getWorkingCopyParents().first()); + + HgDataFile dfD = hgRepo.getFileNode("d"); + File fileD = new File(repoLoc, "d"); + assertTrue("[sanity]", dfD.exists()); + assertTrue("[sanity]", fileD.canRead()); + + RepoUtils.modifyFileAppend(fileD, " 1 \n"); + HgCommitCommand cmd = new HgCommitCommand(hgRepo).message("FIRST"); + Outcome r = cmd.execute(); + errorCollector.assertTrue(r.isOk()); + Nodeid c = cmd.getCommittedRevision(); + + errorCollector.assertEquals(activeBookmark, hgRepo.getBookmarks().getActiveBookmarkName()); + errorCollector.assertEquals(c, hgRepo.getBookmarks().getRevision(activeBookmark)); + // reload repo, and repeat the check + hgRepo = new HgLookup().detect(repoLoc); + errorCollector.assertEquals(activeBookmark, hgRepo.getBookmarks().getActiveBookmarkName()); + errorCollector.assertEquals(c, hgRepo.getBookmarks().getRevision(activeBookmark)); + } + private void assertHgVerifyOk(File repoLoc) throws InterruptedException, IOException { ExecHelper verifyRun = new ExecHelper(new OutputParser.Stub(), repoLoc); verifyRun.run("hg", "verify");