Package org.tmatesoft.hg.repo

Examples of org.tmatesoft.hg.repo.HgRepository


    File dstRepoLoc = RepoUtils.initEmptyTempRepo("test-push-phase-update-1-dst");
    final int r4 = 4, r5 = 5, r6 = 6, r9 = 9;
    HgServer server = new HgServer().publishing(false).start(dstRepoLoc);
    try {
      final HgLookup hgLookup = new HgLookup();
      final HgRepository srcRepo = hgLookup.detect(srcRepoLoc);
      final HgRemoteRepository dstRemote = hgLookup.detect(server.getURL());
      new HgPushCommand(srcRepo).destination(dstRemote).execute();
      //
      // make sure pushed repository got same draft root
      final Nodeid r4PublicHead = srcRepo.getChangelog().getRevision(r4);
      final Nodeid r5DraftRoot = srcRepo.getChangelog().getRevision(r5);
      HgRepository dstRepo = hgLookup.detect(dstRepoLoc);
      final HgChangelog dstClog = dstRepo.getChangelog();
      PhasesHelper dstPhase = new PhasesHelper(HgInternals.getImplementationRepo(dstRepo));
      assertEquals(HgPhase.Public, dstPhase.getPhase(dstClog.getRevisionIndex(r4PublicHead), r4PublicHead));
      assertEquals(HgPhase.Draft, dstPhase.getPhase(dstClog.getRevisionIndex(r5DraftRoot), r5DraftRoot));
      //
      // now, graduate some local revisions, r5:draft->public, r6:secret->public, r9: secret->draft
View Full Code Here


    File srcRepoLoc = RepoUtils.copyRepoToTempLocation("test-phases", "test-push-pub-src");
    File dstRepoLoc = RepoUtils.initEmptyTempRepo("test-push-pub-dst");
    HgServer server = new HgServer().publishing(true).start(dstRepoLoc);
    try {
      final HgLookup hgLookup = new HgLookup();
      final HgRepository srcRepo = hgLookup.detect(srcRepoLoc);
      final HgRemoteRepository dstRemote = hgLookup.detect(server.getURL());
      PhasesHelper phaseHelper = new PhasesHelper(HgInternals.getImplementationRepo(srcRepo));
      final RevisionSet allDraft = phaseHelper.allDraft();
      assertFalse("[sanity]", allDraft.isEmpty());
      // push all changes
      new HgPushCommand(srcRepo).destination(dstRemote).execute();
      HgRepository dstRepo = hgLookup.detect(dstRepoLoc);
      final HgChangelog srcClog = srcRepo.getChangelog();
      final HgChangelog dstClog = dstRepo.getChangelog();
      // refresh PhasesHelper
      phaseHelper = new PhasesHelper(HgInternals.getImplementationRepo(srcRepo));
      for (Nodeid n : allDraft) {
        // check drafts from src were actually pushed to dst
        errorCollector.assertTrue(dstClog.isKnown(n));
View Full Code Here

    File srcRepoLoc = RepoUtils.copyRepoToTempLocation("test-phases", "test-push-no-secret-src");
    File dstRepoLoc = RepoUtils.initEmptyTempRepo("test-push-no-secret-dst");
    HgServer server = new HgServer().start(dstRepoLoc);
    try {
      final HgLookup hgLookup = new HgLookup();
      final HgRepository srcRepo = hgLookup.detect(srcRepoLoc);
      final HgRemoteRepository dstRemote = hgLookup.detect(server.getURL());
      PhasesHelper phaseHelper = new PhasesHelper(HgInternals.getImplementationRepo(srcRepo));
      final RevisionSet allSecret = phaseHelper.allSecret();
      assertFalse("[sanity]", allSecret.isEmpty());
      new HgPushCommand(srcRepo).destination(dstRemote).execute();
      HgRepository dstRepo = hgLookup.detect(dstRepoLoc);
      final HgChangelog srcClog = srcRepo.getChangelog();
      final HgChangelog dstClog = dstRepo.getChangelog();
      errorCollector.assertEquals(srcClog.getRevisionCount() - allSecret.size(), dstClog.getRevisionCount());
      for (Nodeid n : allSecret) {   
        errorCollector.assertTrue(n.toString(), !dstClog.isKnown(n));
      }
    } finally {
View Full Code Here

    srcRun.exec("hg", "bookmark", "-r", String.valueOf(bm_4_5), bm5);
    //
    HgServer server = new HgServer().start(dstRepoLoc);
    try {
      final HgLookup hgLookup = new HgLookup();
      final HgRepository srcRepo = hgLookup.detect(srcRepoLoc);
      final HgRemoteRepository dstRemote = hgLookup.detect(server.getURL());
      RepoUtils.modifyFileAppend(f1, "change1");
      final HgCommitCommand commitCmd = new HgCommitCommand(srcRepo).message("Commit 1");
      assertTrue(commitCmd.execute().isOk());
      assertEquals(bm1, srcRepo.getBookmarks().getActiveBookmarkName());
      assertEquals(commitCmd.getCommittedRevision(), srcRepo.getBookmarks().getRevision(bm1));
      //
      new HgPushCommand(srcRepo).destination(dstRemote).execute();
      Thread.sleep(300); // let the server perform the update
      //
      HgBookmarks srcBookmarks = srcRepo.getBookmarks();
      final HgChangelog srcClog = srcRepo.getChangelog();
      // first, check local bookmarks are intact
      errorCollector.assertEquals(srcClog.getRevision(bm2Local), srcBookmarks.getRevision(bm2));
      errorCollector.assertEquals(srcClog.getRevision(bm3Local), srcBookmarks.getRevision(bm3));
      errorCollector.assertEquals(null, srcBookmarks.getRevision(bm4));
      errorCollector.assertEquals(srcClog.getRevision(bm_4_5), srcBookmarks.getRevision(bm5));
      // now, check remote bookmarks were touched
      HgRepository dstRepo = hgLookup.detect(dstRepoLoc);
      HgBookmarks dstBookmarks = dstRepo.getBookmarks();
      final HgChangelog dstClog = dstRepo.getChangelog();
      // bm1 changed and points to newly pushed commit.
      // if the test fails (bm1 points to r8), chances are server didn't manage to update
      // bookmarks yet (there's Thread.sleep() above to give it a chance).
      errorCollector.assertEquals(commitCmd.getCommittedRevision(), dstBookmarks.getRevision(bm1));
      // bm2 didn't change
View Full Code Here

    File f1 = new File(srcRepoLoc, "file1");
    assertTrue("[sanity]", f1.canWrite());
    HgServer server = new HgServer().start(dstRepoLoc);
    try {
      final HgLookup hgLookup = new HgLookup();
      final HgRepository srcRepo = hgLookup.detect(srcRepoLoc);
      final HgRemoteRepository dstRemote = hgLookup.detect(server.getURL());
      new HgCheckoutCommand(srcRepo).changeset(6).clean(true).execute();
      assertEquals("[sanity]", "with-merge", srcRepo.getWorkingCopyBranchName());
      RepoUtils.modifyFileAppend(f1, "change1");
      new HgCommitCommand(srcRepo).message("Commit 1").execute();
      new HgCheckoutCommand(srcRepo).changeset(5).clean(true).execute();
      assertEquals("[sanity]", "no-merge", srcRepo.getWorkingCopyBranchName());
      RepoUtils.modifyFileAppend(f1, "change2");
      new HgCommitCommand(srcRepo).message("Commit 2").execute();
      //
      HgOutgoingCommand cmd = new HgOutgoingCommand(srcRepo).against(dstRemote);
      LogOutputParser outParser = new LogOutputParser(true);
View Full Code Here

    // turn off lock timeout, to fail fast
    File hgrc = new File(repoLoc, ".hg/hgrc");
    RepoUtils.createFile(hgrc, "[ui]\ntimeout=0\n"); // or 1
    final OutputParser.Stub p = new OutputParser.Stub();
    ExecHelper eh = new ExecHelper(p, repoLoc);
    HgRepository hgRepo = new HgLookup().detect(repoLoc);
    final HgRepositoryLock wdLock = hgRepo.getWorkingDirLock();
    try {
      wdLock.acquire();
      eh.run("hg", "tag", "tag-aaa");
      Assert.assertNotSame(0 /*returns 0 on success*/, eh.getExitValue());
      Assert.assertTrue(p.result().toString().contains("abort"));
View Full Code Here

 
  private static void readWithHg4J(final HgLookup hgLookup, final File repoLoc) {
    try {
      System.out.print("(");
      final long start = System.nanoTime();
      HgRepository hgRepo = hgLookup.detect(repoLoc);
      final HgRepositoryLock wcLock = hgRepo.getWorkingDirLock();
      final HgRepositoryLock storeLock = hgRepo.getStoreLock();
      wcLock.acquire();
      System.out.print(".");
      storeLock.acquire();
      System.out.print(".");
      try {
View Full Code Here

    errorCollector.assertFalse(new RevisionSet(nodes11).equals(new RevisionSet(nodes12)));
  }
 
  @Test
  public void testRootsAndHeads() throws Exception {
    final HgRepository repo = Configuration.get().find("test-annotate");
    Nodeid[] allRevs = RepoUtils.allRevisions(repo);
    HgParentChildMap<HgChangelog> parentHelper = new HgParentChildMap<HgChangelog>(repo.getChangelog());
    parentHelper.init();
    final RevisionSet complete = new RevisionSet(allRevs);
    Nodeid[] nodes = { allRevs[0] };
    // roots
    errorCollector.assertEquals(new RevisionSet(nodes), complete.roots(parentHelper));
View Full Code Here

    errorCollector.assertEquals(complete.heads(parentHelper), complete.heads(parentHelper).heads(parentHelper));
  }
 
  @Test
  public void testAncestorsAndChildren() throws Exception {
    final HgRepository repo = Configuration.get().find("test-annotate");
    Nodeid[] allRevs = RepoUtils.allRevisions(repo);
    HgParentChildMap<HgChangelog> parentHelper = new HgParentChildMap<HgChangelog>(repo.getChangelog());
    parentHelper.init();
    final RevisionSet complete = new RevisionSet(allRevs);
    Nodeid[] nodes = {};
    // children
    errorCollector.assertTrue(new RevisionSet(nodes).children(parentHelper).isEmpty());
View Full Code Here

*/
public class TestBranches {

  @Test
  public void testClosedInactiveBranches() throws Exception {
    HgRepository repo = Configuration.get().find("branches-1");
    HgBranches branches = repo.getBranches();
    BranchInfo b1 = branches.getBranch("branch1");
    assertNotNull(b1);
    assertTrue(b1.isClosed());
    assertEquals(2, b1.getHeads().size());
    // order is important!
View Full Code Here

TOP

Related Classes of org.tmatesoft.hg.repo.HgRepository

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.