Examples of HgLogCommand


Examples of org.tmatesoft.hg.core.HgLogCommand

    assertTrue(repo.getFileNode(f).exists());
    changelogParser.reset();
    eh.run("hg", "log", "--debug", "--follow", f.toString());
   
    CollectWithRenameHandler h = new CollectWithRenameHandler();
    new HgLogCommand(repo).file(f, true).execute(h);
    errorCollector.assertEquals(1, h.rh.renames.size());
    HgFileRevision from = h.rh.renames.get(0).first();
    boolean fromMatched = "src/com/tmate/hgkit/console/Remote.java".equals(from.getPath().toString());
    String what = "hg log - FOLLOW FILE HISTORY";
    errorCollector.checkThat(what + "#copyReported ", h.rh.copyReported, is(true));
View Full Code Here

Examples of org.tmatesoft.hg.core.HgLogCommand

    final String fname = "file1";
    assertTrue("[sanity]", repo.getFileNode(fname).exists());
    eh.run("hg", "log", "--debug", fname, "--cwd", repo.getLocation());
   
    TreeCollectHandler h = new TreeCollectHandler(false);
    new HgLogCommand(repo).file(fname, false).execute(h);
    // since we use TreeCollectHandler with natural order (older to newer), shall reverse console result in report()
    report("execute with HgChangesetTreeHandler(follow == false)", h.getResult(), true);
  }
View Full Code Here

Examples of org.tmatesoft.hg.core.HgLogCommand

    // no --follow, but two names we know have been the same file (fname1 renamed to fname2)
    // sequentially gives follow rename semantics without ancestry
    eh.run("hg", "log", "--debug", fname2, fname1, "--cwd", repo.getLocation());
   
    CollectWithRenameHandler h = new CollectWithRenameHandler();
    new HgLogCommand(repo).file(fname2, true, false).execute(h);
    errorCollector.assertEquals(1, h.rh.renames.size());
    Pair<HgFileRevision, HgFileRevision> rename = h.rh.renames.get(0);
    errorCollector.assertEquals(fname1, rename.first().getPath().toString());
    errorCollector.assertEquals(fname2, rename.second().getPath().toString());
    // Ensure rename info came in the right moment
    errorCollector.assertEquals(1, h.lastChangesetReportedAtRename.size());
    // Command iterates old to new, rename comes after last fname1 revision. Since we don't follow
    // ancestry, it's the very last revision in fname1 history
    String lastRevOfFname1 = "369c0882d477c11424a62eb4b791e86d1d4b6769";
    errorCollector.assertEquals(lastRevOfFname1, h.lastChangesetReportedAtRename.get(0).getNodeid().toString());
    report("HgChangesetHandler(renames: true, ancestry:false)", h.getChanges(), true);
    //
    // Direction
    h = new CollectWithRenameHandler();
    new HgLogCommand(repo).file(fname2, true, false).order(NewToOld).execute(h);
    // Identical rename shall be reported, at the same moment
    errorCollector.assertEquals(1, h.rh.renames.size());
    rename = h.rh.renames.get(0);
    errorCollector.assertEquals(fname1, rename.first().getPath().toString());
    errorCollector.assertEquals(fname2, rename.second().getPath().toString());
View Full Code Here

Examples of org.tmatesoft.hg.core.HgLogCommand

    RenameCollector rh = new RenameCollector(h);
    // can't check that prev revision is in parent because there are forks in
    // file history (e.g. rev2 and rev3 (that comes next) both have rev0 as their parent
    // and followAncestry is false
    // h.checkPrevInParents = true;
    new HgLogCommand(repo).file(fname2, true, false).execute(h);
    errorCollector.assertEquals(1, rh.renames.size());
    Pair<HgFileRevision, HgFileRevision> rename = rh.renames.get(0);
    errorCollector.assertEquals(fname1, rename.first().getPath().toString());
    errorCollector.assertEquals(fname2, rename.second().getPath().toString());
    report("HgChangesetTreeHandler(renames: true, ancestry:false)", h.getResult(), false);
   
    // Direction
    h = new TreeCollectHandler(false);
    rh = new RenameCollector(h);
    // h.checkPrevInChildren = true; see above
    new HgLogCommand(repo).file(fname2, true, false).order(NewToOld).execute(h);
    errorCollector.assertEquals(1, rh.renames.size());
    rename = rh.renames.get(0);
    errorCollector.assertEquals(fname1, rename.first().getPath().toString());
    errorCollector.assertEquals(fname2, rename.second().getPath().toString());
    report("HgChangesetTreeHandler(renames: true, ancestry:false)", h.getResult(), false);
View Full Code Here

Examples of org.tmatesoft.hg.core.HgLogCommand

    final String fname2 = "file1_b";
    assertTrue("[sanity]", repo.getFileNode(fname2).exists());
    final List<Record> fname2Follow = getAncestryWithoutRenamesFromCmdline(fname2);
   
    CollectWithRenameHandler h = new CollectWithRenameHandler();
    new HgLogCommand(repo).file(fname2, false, true).execute(h);
    // renames are reported regardless of followRenames parameter, but
    // solely based on HgFileRenameHandlerMixin
    errorCollector.assertEquals(1, h.rh.renames.size());
    report("HgChangesetHandler(renames: false, ancestry:true)", h.getChanges(), fname2Follow, true, errorCollector);
    //
    // Direction
    h = new CollectWithRenameHandler();
    new HgLogCommand(repo).file(fname2, false, true).order(NewToOld).execute(h);
    report("HgChangesetHandler(renames: false, ancestry:true)", h.getChanges(), fname2Follow, false/*!!!*/, errorCollector);
    //
    // TreeChangeHandler - in #testChangesetTreeFollowAncestryNotRenames
  }
View Full Code Here

Examples of org.tmatesoft.hg.core.HgLogCommand

    final String fname2 = "file1_b";
    final List<Record> fname2Follow = getAncestryWithoutRenamesFromCmdline(fname2);
   
    TreeCollectHandler h = new TreeCollectHandler(false);
    h.checkPrevInParents = true;
    new HgLogCommand(repo).file(fname2, false, true).execute(h);
    report("HgChangesetTreeHandler(renames: false, ancestry:true)", h.getResult(), fname2Follow, true, errorCollector);
   
    // Direction
    h = new TreeCollectHandler(false);
    h.checkPrevInChildren = true;
    new HgLogCommand(repo).file(fname2, false, true).order(NewToOld).execute(h);
    report("HgChangesetTreeHandler(renames: false, ancestry:true)", h.getResult(), fname2Follow, false, errorCollector);
  }
View Full Code Here

Examples of org.tmatesoft.hg.core.HgLogCommand

    final String fname2 = "file1_b";
    assertTrue("[sanity]", repo.getFileNode(fname2).exists());
    eh.run("hg", "log", "--debug", "--follow", fname2, "--cwd", repo.getLocation());
   
    CollectWithRenameHandler h = new CollectWithRenameHandler();
    new HgLogCommand(repo).file(fname2, true, true).execute(h);
    errorCollector.assertEquals(1, h.rh.renames.size());
    Pair<HgFileRevision, HgFileRevision> rename = h.rh.renames.get(0);
    errorCollector.assertEquals(fname1, rename.first().getPath().toString());
    errorCollector.assertEquals(fname2, rename.second().getPath().toString());
    // Ensure rename info came in the right moment
    errorCollector.assertEquals(1, h.lastChangesetReportedAtRename.size());
    String fname1BranchRevision = "6e668ff2940acb250c8627843f8116166fe5d5cd";
    errorCollector.assertEquals(fname1BranchRevision, h.lastChangesetReportedAtRename.get(0).getNodeid().toString());
    // finally, match output
    report("HgChangesetHandler(renames: true, ancestry:true)", h.getChanges(), true);
    //
    // Switch direction and compare, order shall match that from console
    h = new CollectWithRenameHandler();
    new HgLogCommand(repo).file(fname2, true, true).order(NewToOld).execute(h);
    // Identical rename event shall be reported
    errorCollector.assertEquals(1, h.rh.renames.size());
    rename = h.rh.renames.get(0);
    errorCollector.assertEquals(fname1, rename.first().getPath().toString());
    errorCollector.assertEquals(fname2, rename.second().getPath().toString());
View Full Code Here

Examples of org.tmatesoft.hg.core.HgLogCommand

    eh.run("hg", "log", "--debug", "--follow", fname, "--cwd", repo.getLocation());

    TreeCollectHandler h = new TreeCollectHandler(true);
    RenameCollector rh = new RenameCollector(h);
    h.checkPrevInParents = true;
    new HgLogCommand(repo).file(fname, true, true).execute(h);

    assertEquals(1, h.getAdapterUse(HgFileRenameHandlerMixin.class));
   
    report("execute with HgChangesetTreeHandler(follow == true)", h.getResult(), false);
   
View Full Code Here

Examples of org.tmatesoft.hg.core.HgLogCommand

    final String fnameNoRename = "file2";
    assertTrue("[sanity]", repo.getFileNode(fnameNoRename).exists());
   
    // first, check that file without renames doesn't report any accidentally
    CollectWithRenameHandler h1 = new CollectWithRenameHandler();
    HgLogCommand cmd = new HgLogCommand(repo).file(fnameNoRename, false, false);
    cmd.execute(h1);
    errorCollector.assertEquals(0, h1.rh.renames.size());
    TreeCollectHandler h2 = new TreeCollectHandler(false);
    RenameCollector rh = new RenameCollector(h2);
    cmd.execute(h2);
    errorCollector.assertEquals(0, rh.renames.size());
   
    // check default iterate direction
    cmd = new HgLogCommand(repo).file(fname2, false, false);
    cmd.execute(h1 = new CollectWithRenameHandler());
    errorCollector.assertEquals(1, h1.rh.renames.size());
    assertRename(fname1, fname2, h1.rh.renames.get(0));
   
    h2 = new TreeCollectHandler(false);
    rh = new RenameCollector(h2);
    cmd.execute(h2);
    errorCollector.assertEquals(1, rh.renames.size());
    assertRename(fname1, fname2, rh.renames.get(0));
   
    eh.run("hg", "log", "--debug", fname2, "--cwd", repo.getLocation());
    report("HgChangesetHandler+RenameHandler with followRenames = false, default iteration order", h1.getChanges(), true);
    report("HgChangesetTreeHandler+RenameHandler with followRenames = false, default iteration order", h2.getResult(), true);
   
    //
    // Now, check that iteration in opposite direction (new to old)
    // still reports renames (and correct revisions, too)
    cmd.order(HgIterateDirection.NewToOld);
    cmd.execute(h1 = new CollectWithRenameHandler());
    errorCollector.assertEquals(1, h1.rh.renames.size());
    assertRename(fname1, fname2, h1.rh.renames.get(0));
    h2 = new TreeCollectHandler(false);
    rh = new RenameCollector(h2);
    cmd.execute(h2);
    errorCollector.assertEquals(1, rh.renames.size());
    assertRename(fname1, fname2, rh.renames.get(0));
    report("HgChangesetHandler+RenameHandler with followRenames = false, new2old iteration order", h1.getChanges(), false);
    report("HgChangesetTreeHandler+RenameHandler with followRenames = false, new2old iteration order", h2.getResult(), false);
  }
View Full Code Here

Examples of org.tmatesoft.hg.core.HgLogCommand

  @Test
  public void testFollowMultipleRenames() throws Exception {
    repo = Configuration.get().find("log-renames");
    String fname = "a";
    eh.run("hg", "log", "--debug", "--follow", fname, "--cwd", repo.getLocation());
    HgLogCommand cmd = new HgLogCommand(repo);
    cmd.file(fname, true, true);
    CollectWithRenameHandler h1;
    //
    cmd.order(OldToNew).execute(h1 = new CollectWithRenameHandler());
    errorCollector.assertEquals(2, h1.rh.renames.size());
    report("Follow a->c->b, old2new:", h1.getChanges(), true);
    //
    cmd.order(NewToOld).execute(h1 = new CollectWithRenameHandler());
    errorCollector.assertEquals(2, h1.rh.renames.size());
    report("Follow a->c->b, new2old:", h1.getChanges(), false);
    //
    //
    TreeCollectHandler h2 = new TreeCollectHandler(false);
    RenameCollector rh = new RenameCollector(h2);
    cmd.order(OldToNew).execute(h2);
    errorCollector.assertEquals(2, rh.renames.size());
    report("Tree. Follow a->c->b, old2new:", h2.getResult(), true);
    //
    h2 = new TreeCollectHandler(false);
    rh = new RenameCollector(h2);
    cmd.order(NewToOld).execute(h2);
    errorCollector.assertEquals(2, rh.renames.size());
    report("Tree. Follow a->c->b, new2old:", h2.getResult(), false);
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.