378 Use the command 'hg update' to switch to an existing branch. |
378 Use the command 'hg update' to switch to an existing branch. |
379 """ |
379 """ |
380 hexfunc = ui.debugflag and hex or short |
380 hexfunc = ui.debugflag and hex or short |
381 activebranches = [util.tolocal(repo[n].branch()) |
381 activebranches = [util.tolocal(repo[n].branch()) |
382 for n in repo.heads()] |
382 for n in repo.heads()] |
383 branches = [(tag in activebranches, repo.changelog.rev(node), tag) |
383 branches = util.sort([(tag in activebranches, repo.changelog.rev(node), tag) |
384 for tag, node in repo.branchtags().items()] |
384 for tag, node in repo.branchtags().items()]) |
385 branches.sort() |
|
386 branches.reverse() |
385 branches.reverse() |
387 |
386 |
388 for isactive, node, tag in branches: |
387 for isactive, node, tag in branches: |
389 if (not active) or isactive: |
388 if (not active) or isactive: |
390 if ui.quiet: |
389 if ui.quiet: |
633 options.append('-%s' % o[0]) |
632 options.append('-%s' % o[0]) |
634 options.append('--%s' % o[1]) |
633 options.append('--%s' % o[1]) |
635 ui.write("%s\n" % "\n".join(options)) |
634 ui.write("%s\n" % "\n".join(options)) |
636 return |
635 return |
637 |
636 |
638 clist = cmdutil.findpossible(ui, cmd, table).keys() |
637 ui.write("%s\n" % "\n".join(util.sort(cmdutil.findpossible(ui, cmd, table)))) |
639 clist.sort() |
|
640 ui.write("%s\n" % "\n".join(clist)) |
|
641 |
638 |
642 def debugfsinfo(ui, path = "."): |
639 def debugfsinfo(ui, path = "."): |
643 file('.debugfsinfo', 'w').write('') |
640 file('.debugfsinfo', 'w').write('') |
644 ui.write('exec: %s\n' % (util.checkexec(path) and 'yes' or 'no')) |
641 ui.write('exec: %s\n' % (util.checkexec(path) and 'yes' or 'no')) |
645 ui.write('symlink: %s\n' % (util.checklink(path) and 'yes' or 'no')) |
642 ui.write('symlink: %s\n' % (util.checklink(path) and 'yes' or 'no')) |
725 finally: |
722 finally: |
726 del wlock |
723 del wlock |
727 |
724 |
728 def debugstate(ui, repo, nodates=None): |
725 def debugstate(ui, repo, nodates=None): |
729 """show the contents of the current dirstate""" |
726 """show the contents of the current dirstate""" |
730 k = repo.dirstate._map.items() |
|
731 k.sort() |
|
732 timestr = "" |
727 timestr = "" |
733 showdate = not nodates |
728 showdate = not nodates |
734 for file_, ent in k: |
729 for file_, ent in util.sort(repo.dirstate._map.items()): |
735 if showdate: |
730 if showdate: |
736 if ent[3] == -1: |
731 if ent[3] == -1: |
737 # Pad or slice to locale representation |
732 # Pad or slice to locale representation |
738 locale_len = len(time.strftime("%Y-%m-%d %H:%M:%S ", time.localtime(0))) |
733 locale_len = len(time.strftime("%Y-%m-%d %H:%M:%S ", time.localtime(0))) |
739 timestr = 'unset' |
734 timestr = 'unset' |
1140 if copied: |
1135 if copied: |
1141 copies.setdefault(rev, {})[fn] = copied[0] |
1136 copies.setdefault(rev, {})[fn] = copied[0] |
1142 except revlog.LookupError: |
1137 except revlog.LookupError: |
1143 pass |
1138 pass |
1144 elif st == 'iter': |
1139 elif st == 'iter': |
1145 states = matches[rev].items() |
1140 for fn, m in util.sort(matches[rev].items()): |
1146 states.sort() |
|
1147 for fn, m in states: |
|
1148 copy = copies.get(rev, {}).get(fn) |
1141 copy = copies.get(rev, {}).get(fn) |
1149 if fn in skip: |
1142 if fn in skip: |
1150 if copy: |
1143 if copy: |
1151 skip[copy] = True |
1144 skip[copy] = True |
1152 continue |
1145 continue |
1160 fstate[fn] = m |
1153 fstate[fn] = m |
1161 if copy: |
1154 if copy: |
1162 fstate[copy] = m |
1155 fstate[copy] = m |
1163 prev[fn] = rev |
1156 prev[fn] = rev |
1164 |
1157 |
1165 fstate = fstate.items() |
1158 for fn, state in util.sort(fstate.items()): |
1166 fstate.sort() |
|
1167 for fn, state in fstate: |
|
1168 if fn in skip: |
1159 if fn in skip: |
1169 continue |
1160 continue |
1170 if fn not in copies.get(prev[fn], {}): |
1161 if fn not in copies.get(prev[fn], {}): |
1171 found = display(fn, rev, {}, state) or found |
1162 found = display(fn, rev, {}, state) or found |
1172 return (not found and 1) or 0 |
1163 return (not found and 1) or 0 |
1302 if not h: |
1293 if not h: |
1303 ui.status(_('no commands defined\n')) |
1294 ui.status(_('no commands defined\n')) |
1304 return |
1295 return |
1305 |
1296 |
1306 ui.status(header) |
1297 ui.status(header) |
1307 fns = h.keys() |
1298 fns = util.sort(h) |
1308 fns.sort() |
|
1309 m = max(map(len, fns)) |
1299 m = max(map(len, fns)) |
1310 for f in fns: |
1300 for f in fns: |
1311 if ui.verbose: |
1301 if ui.verbose: |
1312 commands = cmds[f].replace("|",", ") |
1302 commands = cmds[f].replace("|",", ") |
1313 ui.write(" %s:\n %s\n"%(commands, h[f])) |
1303 ui.write(" %s:\n %s\n"%(commands, h[f])) |
2213 else: |
2203 else: |
2214 remove, forget = deleted + clean, [] |
2204 remove, forget = deleted + clean, [] |
2215 warn(modified, _('is modified')) |
2205 warn(modified, _('is modified')) |
2216 warn(added, _('has been marked for add')) |
2206 warn(added, _('has been marked for add')) |
2217 |
2207 |
2218 files = remove + forget |
2208 for f in util.sort(remove + forget): |
2219 files.sort() |
|
2220 for f in files: |
|
2221 if ui.verbose or not m.exact(f): |
2209 if ui.verbose or not m.exact(f): |
2222 ui.status(_('removing %s\n') % m.rel(f)) |
2210 ui.status(_('removing %s\n') % m.rel(f)) |
2223 |
2211 |
2224 repo.forget(forget) |
2212 repo.forget(forget) |
2225 repo.remove(remove, unlink=not after) |
2213 repo.remove(remove, unlink=not after) |
2399 (added, revert, remove, True, False), |
2387 (added, revert, remove, True, False), |
2400 (removed, undelete, None, False, False), |
2388 (removed, undelete, None, False, False), |
2401 (deleted, revert, remove, False, False), |
2389 (deleted, revert, remove, False, False), |
2402 ) |
2390 ) |
2403 |
2391 |
2404 entries = names.items() |
2392 for abs, (rel, exact) in util.sort(names.items()): |
2405 entries.sort() |
|
2406 |
|
2407 for abs, (rel, exact) in entries: |
|
2408 mfentry = mf.get(abs) |
2393 mfentry = mf.get(abs) |
2409 target = repo.wjoin(abs) |
2394 target = repo.wjoin(abs) |
2410 def handle(xlist, dobackup): |
2395 def handle(xlist, dobackup): |
2411 xlist[0].append(abs) |
2396 xlist[0].append(abs) |
2412 if dobackup and not opts['no_backup'] and util.lexists(target): |
2397 if dobackup and not opts['no_backup'] and util.lexists(target): |