comparison src/org/tmatesoft/hg/core/HgAnnotateCommand.java @ 626:5afc7eedb3dd v1.1rc1

@since, TODOs. Tests: add 1 sec to deal with fs timestamp granularity on linux
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Tue, 21 May 2013 19:30:12 +0200
parents f41dd9a3b8af
children 6526d8adbc0f
comparison
equal deleted inserted replaced
625:b4948b159ab1 626:5afc7eedb3dd
20 20
21 import java.util.Arrays; 21 import java.util.Arrays;
22 22
23 import org.tmatesoft.hg.internal.Callback; 23 import org.tmatesoft.hg.internal.Callback;
24 import org.tmatesoft.hg.internal.CsetParamKeeper; 24 import org.tmatesoft.hg.internal.CsetParamKeeper;
25 import org.tmatesoft.hg.internal.Experimental;
26 import org.tmatesoft.hg.internal.FileAnnotation; 25 import org.tmatesoft.hg.internal.FileAnnotation;
27 import org.tmatesoft.hg.internal.FileAnnotation.LineDescriptor; 26 import org.tmatesoft.hg.internal.FileAnnotation.LineDescriptor;
28 import org.tmatesoft.hg.internal.FileAnnotation.LineInspector; 27 import org.tmatesoft.hg.internal.FileAnnotation.LineInspector;
29 import org.tmatesoft.hg.repo.HgBlameInspector.BlockData; 28 import org.tmatesoft.hg.repo.HgBlameInspector.BlockData;
30 import org.tmatesoft.hg.repo.HgDataFile; 29 import org.tmatesoft.hg.repo.HgDataFile;
39 * 38 *
40 * @since 1.1 39 * @since 1.1
41 * @author Artem Tikhomirov 40 * @author Artem Tikhomirov
42 * @author TMate Software Ltd. 41 * @author TMate Software Ltd.
43 */ 42 */
44 @Experimental(reason="Work in progress. Unstable API")
45 public class HgAnnotateCommand extends HgAbstractCommand<HgAnnotateCommand> { 43 public class HgAnnotateCommand extends HgAbstractCommand<HgAnnotateCommand> {
46 44
47 private final HgRepository repo; 45 private final HgRepository repo;
48 private final CsetParamKeeper annotateRevision; 46 private final CsetParamKeeper annotateRevision;
49 private Path file; 47 private Path file;
86 file = filePath; 84 file = filePath;
87 followRename = followCopyRename; 85 followRename = followCopyRename;
88 return this; 86 return this;
89 } 87 }
90 88
91 // TODO [1.1] set encoding and provide String line content from LineInfo 89 // TODO [post-1.1] set encoding and provide String line content from LineInfo
92 90
93 /** 91 /**
94 * Annotate selected file 92 * Annotate selected file
95 * 93 *
96 * @param inspector 94 * @param inspector
152 int getLineNumber(); 150 int getLineNumber();
153 int getChangesetIndex(); 151 int getChangesetIndex();
154 byte[] getContent(); 152 byte[] getContent();
155 } 153 }
156 154
157 // FIXME there's no need in FileAnnotation.LineInspector, merge it here 155 // TODO [post-1.1] there's no need in FileAnnotation.LineInspector, merge it here
156 // ok for 1.1 as this LineInspector is internal class
158 private static class Collector implements LineInspector { 157 private static class Collector implements LineInspector {
159 private int[] lineRevisions; 158 private int[] lineRevisions;
160 private byte[][] lines; 159 private byte[][] lines;
161 private final CancelSupport cancelSupport; 160 private final CancelSupport cancelSupport;
162 private CancelledException cancelEx; 161 private CancelledException cancelEx;