mercurial/commands.py
changeset 9603 220d39af2e57
parent 9584 17da88da1abd
child 9604 fcc85abc762e
child 9607 8e0e0d854b60
equal deleted inserted replaced
9602:fc493cb90bb1 9603:220d39af2e57
  2874 
  2874 
  2875             for f in files:
  2875             for f in files:
  2876                 ui.write(format % repo.pathto(f, cwd))
  2876                 ui.write(format % repo.pathto(f, cwd))
  2877                 if f in copy:
  2877                 if f in copy:
  2878                     ui.write('  %s%s' % (repo.pathto(copy[f], cwd), end))
  2878                     ui.write('  %s%s' % (repo.pathto(copy[f], cwd), end))
       
  2879 
       
  2880 def summary(ui, repo):
       
  2881     """summarize working directory state
       
  2882 
       
  2883     This generates a brief summary of the working directory state,
       
  2884     including parents, branch, commit status, and available updates.
       
  2885     """
       
  2886 
       
  2887     ctx = repo[None]
       
  2888     parents = ctx.parents()
       
  2889     pnode = parents[0].node()
       
  2890     tags = repo.tags()
       
  2891 
       
  2892     for p in parents:
       
  2893         t = ' '.join([t for t in tags if tags[t] == p.node()])
       
  2894         ui.write(_('parent: %d:%s %s\n') % (p.rev(), str(p), t))
       
  2895         ui.status(' ' + p.description().splitlines()[0].strip() + '\n')
       
  2896 
       
  2897     branch = ctx.branch()
       
  2898     bheads = repo.branchheads(branch)
       
  2899     ui.status(_('branch: %s\n') % branch)
       
  2900 
       
  2901     st = list(repo.status(unknown=True))[:7]
       
  2902     ms = merge_.mergestate(repo)
       
  2903     st.append([f for f in ms if f == 'u'])
       
  2904     labels = _('modified added removed deleted unknown ignored unresolved')
       
  2905     t = []
       
  2906     for i,l in enumerate(labels.split()):
       
  2907         if st[i]:
       
  2908             t.append('%d %s' % (len(st[i]), l))
       
  2909 
       
  2910     t = ', '.join(t)
       
  2911 
       
  2912     if len(parents) > 1:
       
  2913         t += _(' (merge)')
       
  2914     elif branch != parents[0].branch():
       
  2915         t += _(' (new branch)')
       
  2916     elif (not st[0] and not st[1] and not st[2]):
       
  2917         t += _(' (clean)')
       
  2918     elif pnode not in bheads:
       
  2919         t += _(' (new branch head)')
       
  2920 
       
  2921     ui.write(_('commit: %s\n') % t.strip())
       
  2922 
       
  2923     # all ancestors of branch heads - all ancestors of parent = new csets
       
  2924     new = [0] * len(repo)
       
  2925     cl = repo.changelog
       
  2926     for a in cl.ancestors(*[cl.rev(n) for n in bheads]):
       
  2927         new[a] = 1
       
  2928     for a in cl.ancestors(*[p.rev() for p in parents]):
       
  2929         new[a] = 0
       
  2930     new = sum(new)
       
  2931 
       
  2932     if new == 0:
       
  2933         ui.write(_('update: (current)\n'))
       
  2934     elif pnode not in bheads:
       
  2935         ui.write(_('update: %d new changesets (update)\n') % new)
       
  2936     else:
       
  2937         ui.write(_('update: %d new changesets, %d branch heads (merge)\n') %
       
  2938                  (new, len(bheads)))
  2879 
  2939 
  2880 def tag(ui, repo, name1, *names, **opts):
  2940 def tag(ui, repo, name1, *names, **opts):
  2881     """add one or more tags for the current or given revision
  2941     """add one or more tags for the current or given revision
  2882 
  2942 
  2883     Name a particular revision using <name>.
  2943     Name a particular revision using <name>.
  3506          _('[OPTION]...')),
  3566          _('[OPTION]...')),
  3507     "showconfig|debugconfig":
  3567     "showconfig|debugconfig":
  3508         (showconfig,
  3568         (showconfig,
  3509          [('u', 'untrusted', None, _('show untrusted configuration options'))],
  3569          [('u', 'untrusted', None, _('show untrusted configuration options'))],
  3510          _('[-u] [NAME]...')),
  3570          _('[-u] [NAME]...')),
       
  3571     "^summary|sum":
       
  3572         (summary, []),
  3511     "^status|st":
  3573     "^status|st":
  3512         (status,
  3574         (status,
  3513          [('A', 'all', None, _('show status of all files')),
  3575          [('A', 'all', None, _('show status of all files')),
  3514           ('m', 'modified', None, _('show only modified files')),
  3576           ('m', 'modified', None, _('show only modified files')),
  3515           ('a', 'added', None, _('show only added files')),
  3577           ('a', 'added', None, _('show only added files')),