comparison cmdline/org/tmatesoft/hg/console/Status.java @ 93:d55d4eedfc57

Switch to Path instead of String in filenames returned by various status operations
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Thu, 27 Jan 2011 21:15:21 +0100
parents 61eedab3eb3e
children af1f3b78b918
comparison
equal deleted inserted replaced
92:bf304cb14247 93:d55d4eedfc57
25 25
26 import org.tmatesoft.hg.core.Nodeid; 26 import org.tmatesoft.hg.core.Nodeid;
27 import org.tmatesoft.hg.core.Path; 27 import org.tmatesoft.hg.core.Path;
28 import org.tmatesoft.hg.repo.HgDataFile; 28 import org.tmatesoft.hg.repo.HgDataFile;
29 import org.tmatesoft.hg.repo.HgRepository; 29 import org.tmatesoft.hg.repo.HgRepository;
30 import org.tmatesoft.hg.repo.HgStatusInspector;
30 import org.tmatesoft.hg.repo.Internals; 31 import org.tmatesoft.hg.repo.Internals;
31 import org.tmatesoft.hg.repo.StatusCollector; 32 import org.tmatesoft.hg.repo.StatusCollector;
32 import org.tmatesoft.hg.repo.StatusCollector.Record; 33 import org.tmatesoft.hg.repo.StatusCollector.Record;
33 import org.tmatesoft.hg.repo.WorkingCopyStatusCollector; 34 import org.tmatesoft.hg.repo.WorkingCopyStatusCollector;
34 35
115 sortAndPrint('I', r.getIgnored()); 116 sortAndPrint('I', r.getIgnored());
116 sortAndPrint('C', r.getClean()); 117 sortAndPrint('C', r.getClean());
117 sortAndPrint('!', r.getMissing()); 118 sortAndPrint('!', r.getMissing());
118 } 119 }
119 120
120 private static void sortAndPrint(char prefix, List<String> ul) { 121 private static void sortAndPrint(char prefix, List<Path> ul) {
121 sortAndPrint(prefix, ul, null); 122 sortAndPrint(prefix, ul, null);
122 } 123 }
123 private static void sortAndPrint(char prefix, List<String> ul, Map<String, String> copies) { 124 private static void sortAndPrint(char prefix, List<Path> ul, Map<Path, Path> copies) {
124 ArrayList<String> sortList = new ArrayList<String>(ul); 125 ArrayList<Path> sortList = new ArrayList<Path>(ul);
125 Collections.sort(sortList); 126 Collections.sort(sortList);
126 for (String s : sortList) { 127 for (Path s : sortList) {
127 System.out.print(prefix); 128 System.out.print(prefix);
128 System.out.print(' '); 129 System.out.print(' ');
129 System.out.println(s); 130 System.out.println(s);
130 if (copies != null && copies.containsKey(s)) { 131 if (copies != null && copies.containsKey(s)) {
131 System.out.println(" " + copies.get(s)); 132 System.out.println(" " + copies.get(s));
141 final Nodeid nid = Nodeid.fromAscii(b, 0, b.length); 142 final Nodeid nid = Nodeid.fromAscii(b, 0, b.length);
142 System.out.println(s + " : " + n.length(nid)); 143 System.out.println(s + " : " + n.length(nid));
143 } 144 }
144 } 145 }
145 146
146 private static class StatusDump implements StatusCollector.Inspector { 147 private static class StatusDump implements HgStatusInspector {
147 public boolean hideStatusPrefix = false; // hg status -n option 148 public boolean hideStatusPrefix = false; // hg status -n option
148 public boolean showCopied = true; // -C 149 public boolean showCopied = true; // -C
149 public boolean showIgnored = true; // -i 150 public boolean showIgnored = true; // -i
150 public boolean showClean = true; // -c 151 public boolean showClean = true; // -c
151 152
152 public void modified(String fname) { 153 public void modified(Path fname) {
153 print('M', fname); 154 print('M', fname);
154 } 155 }
155 156
156 public void added(String fname) { 157 public void added(Path fname) {
157 print('A', fname); 158 print('A', fname);
158 } 159 }
159 160
160 public void copied(String fnameOrigin, String fnameAdded) { 161 public void copied(Path fnameOrigin, Path fnameAdded) {
161 added(fnameAdded); 162 added(fnameAdded);
162 if (showCopied) { 163 if (showCopied) {
163 print(' ', fnameOrigin); 164 print(' ', fnameOrigin);
164 } 165 }
165 } 166 }
166 167
167 public void removed(String fname) { 168 public void removed(Path fname) {
168 print('R', fname); 169 print('R', fname);
169 } 170 }
170 171
171 public void clean(String fname) { 172 public void clean(Path fname) {
172 if (showClean) { 173 if (showClean) {
173 print('C', fname); 174 print('C', fname);
174 } 175 }
175 } 176 }
176 177
177 public void missing(String fname) { 178 public void missing(Path fname) {
178 print('!', fname); 179 print('!', fname);
179 } 180 }
180 181
181 public void unknown(String fname) { 182 public void unknown(Path fname) {
182 print('?', fname); 183 print('?', fname);
183 } 184 }
184 185
185 public void ignored(String fname) { 186 public void ignored(Path fname) {
186 if (showIgnored) { 187 if (showIgnored) {
187 print('I', fname); 188 print('I', fname);
188 } 189 }
189 } 190 }
190 191
191 private void print(char status, String fname) { 192 private void print(char status, Path fname) {
192 if (!hideStatusPrefix) { 193 if (!hideStatusPrefix) {
193 System.out.print(status); 194 System.out.print(status);
194 System.out.print(' '); 195 System.out.print(' ');
195 } 196 }
196 System.out.println(fname); 197 System.out.println(fname);