mercurial/commands.py
changeset 30954 dad968920130
parent 30953 5b09e9bc0902
child 30955 8e38fa360a12
equal deleted inserted replaced
30953:5b09e9bc0902 30954:dad968920130
     9 
     9 
    10 import difflib
    10 import difflib
    11 import errno
    11 import errno
    12 import os
    12 import os
    13 import re
    13 import re
    14 import time
       
    15 
    14 
    16 from .i18n import _
    15 from .i18n import _
    17 from .node import (
    16 from .node import (
    18     hex,
    17     hex,
    19     nullid,
    18     nullid,
  1853     Returns 0 on success, 1 if errors are encountered.
  1852     Returns 0 on success, 1 if errors are encountered.
  1854     """
  1853     """
  1855     with repo.wlock(False):
  1854     with repo.wlock(False):
  1856         return cmdutil.copy(ui, repo, pats, opts)
  1855         return cmdutil.copy(ui, repo, pats, opts)
  1857 
  1856 
  1858 @command('debugdirstate|debugstate',
       
  1859     [('', 'nodates', None, _('do not display the saved mtime')),
       
  1860     ('', 'datesort', None, _('sort by saved mtime'))],
       
  1861     _('[OPTION]...'))
       
  1862 def debugstate(ui, repo, **opts):
       
  1863     """show the contents of the current dirstate"""
       
  1864 
       
  1865     nodates = opts.get('nodates')
       
  1866     datesort = opts.get('datesort')
       
  1867 
       
  1868     timestr = ""
       
  1869     if datesort:
       
  1870         keyfunc = lambda x: (x[1][3], x[0]) # sort by mtime, then by filename
       
  1871     else:
       
  1872         keyfunc = None # sort by filename
       
  1873     for file_, ent in sorted(repo.dirstate._map.iteritems(), key=keyfunc):
       
  1874         if ent[3] == -1:
       
  1875             timestr = 'unset               '
       
  1876         elif nodates:
       
  1877             timestr = 'set                 '
       
  1878         else:
       
  1879             timestr = time.strftime("%Y-%m-%d %H:%M:%S ",
       
  1880                                     time.localtime(ent[3]))
       
  1881         if ent[1] & 0o20000:
       
  1882             mode = 'lnk'
       
  1883         else:
       
  1884             mode = '%3o' % (ent[1] & 0o777 & ~util.umask)
       
  1885         ui.write("%c %s %10d %s%s\n" % (ent[0], mode, ent[2], timestr, file_))
       
  1886     for f in repo.dirstate.copies():
       
  1887         ui.write(_("copy: %s -> %s\n") % (repo.dirstate.copied(f), f))
       
  1888 
       
  1889 @command('debugsub',
  1857 @command('debugsub',
  1890     [('r', 'rev', '',
  1858     [('r', 'rev', '',
  1891      _('revision to check'), _('REV'))],
  1859      _('revision to check'), _('REV'))],
  1892     _('[-r REV] [REV]'))
  1860     _('[-r REV] [REV]'))
  1893 def debugsub(ui, repo, rev=None):
  1861 def debugsub(ui, repo, rev=None):