mercurial/debugcommands.py
changeset 48024 cedfe2606adf
parent 48023 357307feaf61
child 48089 c87844960a35
equal deleted inserted replaced
48023:357307feaf61 48024:cedfe2606adf
   960     if opts.get('nodates') is not None:
   960     if opts.get('nodates') is not None:
   961         nodates = True
   961         nodates = True
   962     datesort = opts.get('datesort')
   962     datesort = opts.get('datesort')
   963 
   963 
   964     if datesort:
   964     if datesort:
   965         keyfunc = lambda x: (
   965 
   966             x[1].v1_mtime(),
   966         def keyfunc(entry):
   967             x[0],
   967             filename, _state, _mode, _size, mtime = entry
   968         )  # sort by mtime, then by filename
   968             return (mtime, filename)
       
   969 
   969     else:
   970     else:
   970         keyfunc = None  # sort by filename
   971         keyfunc = None  # sort by filename
   971     entries = list(repo.dirstate._map.debug_iter(all=opts['all']))
   972     entries = list(repo.dirstate._map.debug_iter(all=opts['all']))
   972     entries.sort(key=keyfunc)
   973     entries.sort(key=keyfunc)
   973     for file_, ent in entries:
   974     for entry in entries:
   974         if ent.v1_mtime() == -1:
   975         filename, state, mode, size, mtime = entry
       
   976         if mtime == -1:
   975             timestr = b'unset               '
   977             timestr = b'unset               '
   976         elif nodates:
   978         elif nodates:
   977             timestr = b'set                 '
   979             timestr = b'set                 '
   978         else:
   980         else:
   979             timestr = time.strftime(
   981             timestr = time.strftime("%Y-%m-%d %H:%M:%S ", time.localtime(mtime))
   980                 "%Y-%m-%d %H:%M:%S ", time.localtime(ent.v1_mtime())
       
   981             )
       
   982             timestr = encoding.strtolocal(timestr)
   982             timestr = encoding.strtolocal(timestr)
   983         if ent.mode & 0o20000:
   983         if mode & 0o20000:
   984             mode = b'lnk'
   984             mode = b'lnk'
   985         else:
   985         else:
   986             mode = b'%3o' % (ent.v1_mode() & 0o777 & ~util.umask)
   986             mode = b'%3o' % (mode & 0o777 & ~util.umask)
   987         ui.write(
   987         ui.write(b"%c %s %10d %s%s\n" % (state, mode, size, timestr, filename))
   988             b"%c %s %10d %s%s\n"
       
   989             % (ent.v1_state(), mode, ent.v1_size(), timestr, file_)
       
   990         )
       
   991     for f in repo.dirstate.copies():
   988     for f in repo.dirstate.copies():
   992         ui.write(_(b"copy: %s -> %s\n") % (repo.dirstate.copied(f), f))
   989         ui.write(_(b"copy: %s -> %s\n") % (repo.dirstate.copied(f), f))
   993 
   990 
   994 
   991 
   995 @command(
   992 @command(