Mercurial > jhg
comparison cmdline/org/tmatesoft/hg/console/Main.java @ 516:0ae5768081aa
Allow walking file rename history independently from file ancestry (native hg log --follow does both at once)
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Tue, 18 Dec 2012 18:57:03 +0100 |
parents | e6c8b9b654b2 |
children | 0be5be8d57e9 |
comparison
equal
deleted
inserted
replaced
515:e6c8b9b654b2 | 516:0ae5768081aa |
---|---|
172 } | 172 } |
173 | 173 |
174 private void buildFileLog() throws Exception { | 174 private void buildFileLog() throws Exception { |
175 final long start = System.nanoTime(); | 175 final long start = System.nanoTime(); |
176 HgLogCommand cmd = new HgLogCommand(hgRepo); | 176 HgLogCommand cmd = new HgLogCommand(hgRepo); |
177 cmd.file("file1b.txt", true); | 177 cmd.file("file1b.txt", true, true); |
178 final int[] count = new int[] { 0 }; | 178 final int[] count = new int[] { 0 }; |
179 class MyHandler implements HgChangesetTreeHandler, Adaptable { | 179 class MyHandler implements HgChangesetTreeHandler, Adaptable { |
180 public void treeElement(HgChangesetTreeHandler.TreeElement entry) { | 180 public void treeElement(HgChangesetTreeHandler.TreeElement entry) { |
181 StringBuilder sb = new StringBuilder(); | 181 StringBuilder sb = new StringBuilder(); |
182 HashSet<Nodeid> test = new HashSet<Nodeid>(entry.childRevisions()); | 182 HashSet<Nodeid> test = new HashSet<Nodeid>(entry.childRevisions()); |
189 final Pair<Nodeid, Nodeid> parents = entry.parentRevisions(); | 189 final Pair<Nodeid, Nodeid> parents = entry.parentRevisions(); |
190 final boolean isJoin = !parents.first().isNull() && !parents.second().isNull(); | 190 final boolean isJoin = !parents.first().isNull() && !parents.second().isNull(); |
191 final boolean isFork = entry.children().size() > 1; | 191 final boolean isFork = entry.children().size() > 1; |
192 final HgChangeset cset = entry.changeset(); | 192 final HgChangeset cset = entry.changeset(); |
193 System.out.printf("%d:%s - %s (%s)\n", cset.getRevisionIndex(), cset.getNodeid().shortNotation(), cset.getComment(), cset.getPhase()); | 193 System.out.printf("%d:%s - %s (%s)\n", cset.getRevisionIndex(), cset.getNodeid().shortNotation(), cset.getComment(), cset.getPhase()); |
194 System.out.printf("Known as %s (file rev:%s)\n", entry.file().getPath(), entry.fileRevision().shortNotation()); | 194 System.out.printf("\tKnown as %s (file rev:%s)\n", entry.file().getPath(), entry.fileRevision().shortNotation()); |
195 if (!isJoin && !isFork && !entry.children().isEmpty()) { | 195 if (!isJoin && !isFork && !entry.children().isEmpty()) { |
196 HgChangeset p1 = entry.parents().first(); | |
197 HgChangeset p2 = entry.parents().second(); | |
198 System.out.printf("\tp1:%d, p2:%d\n", p1 == null ? -1 : p1.getRevisionIndex(), p2 == null ? -1 : p2.getRevisionIndex()); | |
196 System.out.printf("\t=> %s\n", sb); | 199 System.out.printf("\t=> %s\n", sb); |
197 } | 200 } |
198 if (isJoin) { | 201 if (isJoin) { |
199 HgChangeset p1 = entry.parents().first(); | 202 HgChangeset p1 = entry.parents().first(); |
200 HgChangeset p2 = entry.parents().second(); | 203 HgChangeset p2 = entry.parents().second(); |