diff -r 01611e7c36ff -r 9ab2b3b730ee mercurial/commands.py --- a/mercurial/commands.py Mon Nov 07 03:14:53 2011 +0100 +++ b/mercurial/commands.py Mon Nov 07 03:14:54 2011 +0100 @@ -2189,7 +2189,7 @@ if ent[1] & 020000: mode = 'lnk' else: - mode = '%3o' % (ent[1] & 0777) + mode = '%3o' % (ent[1] & 0777 & ~util.umask) ui.write("%c %s %10d %s%s\n" % (ent[0], mode, ent[2], timestr, file_)) for f in repo.dirstate.copies(): ui.write(_("copy: %s -> %s\n") % (repo.dirstate.copied(f), f))