##// END OF EJS Templates
hg qrecord -- like record, but for mq...
hg qrecord -- like record, but for mq I'm a former Darcs user, and I've discovered that it is very convenient to actually perform development using MQ first, and only when the patches are 'ready' move them to project's history in stone. Usually I work on some topic, temporarily forgetting about any version control, and just do coding, experimenting, debugging, etc. After some time, I approach a moment, where my work should actually go to patches/commits, and here is the problem:: As it is now, there is no way to put part of the changes into one patch, and another part of the changes into second patch. This works, but only when changes are touching separate files, and for semantically different changes touching the same file(s) there is now pretty way to put them into separate patches. For some time, I've tolerated the pain to run vim patches/... and move hunks between files by hand, but I think this affects my productivity badly. So, here is the first step towards untiing the problem: Let's use 'hg qrecord' for mq, like we use 'hg record' for usual commits!

File last commit:

r5396:5105b119 default
r5830:c32d41af default
Show More
osutil.py
37 lines | 1.0 KiB | text/x-python | PythonLexer
import os, stat
def _mode_to_kind(mode):
if stat.S_ISREG(mode): return stat.S_IFREG
if stat.S_ISDIR(mode): return stat.S_IFDIR
if stat.S_ISLNK(mode): return stat.S_IFLNK
if stat.S_ISBLK(mode): return stat.S_IFBLK
if stat.S_ISCHR(mode): return stat.S_IFCHR
if stat.S_ISFIFO(mode): return stat.S_IFIFO
if stat.S_ISSOCK(mode): return stat.S_IFSOCK
return mode
def listdir(path, stat=False):
'''listdir(path, stat=False) -> list_of_tuples
Return a sorted list containing information about the entries
in the directory.
If stat is True, each element is a 3-tuple:
(name, type, stat object)
Otherwise, each element is a 2-tuple:
(name, type)
'''
result = []
prefix = path + os.sep
names = os.listdir(path)
names.sort()
for fn in names:
st = os.lstat(prefix + fn)
if stat:
result.append((fn, _mode_to_kind(st.st_mode), st))
else:
result.append((fn, _mode_to_kind(st.st_mode)))
return result