tests/list-tree.py
author Sushil khanchi <sushilkhanchi97@gmail.com>
Tue, 26 Jun 2018 16:14:02 +0530
changeset 38473 622f79e3a1cb
parent 35380 acff41957b34
child 43076 2372284d9457
permissions -rw-r--r--
graft: add no-commit mode (issue5631) This patch adds a new flag --no-commit in graft command. This feature grafts the changes but do not create commits for those changes, grafted changes will be added in the working directory. Also added tests to reflect the expected behavior. Differential Revision: https://phab.mercurial-scm.org/D2409

from __future__ import (
    absolute_import,
    print_function,
)

import argparse
import os

ap = argparse.ArgumentParser()
ap.add_argument('path', nargs='+')
opts = ap.parse_args()

def gather():
    for p in opts.path:
        if not os.path.exists(p):
            return
        if os.path.isdir(p):
            yield p + os.path.sep
            for dirpath, dirs, files in os.walk(p):
                for d in dirs:
                    yield os.path.join(dirpath, d) + os.path.sep
                for f in files:
                    yield os.path.join(dirpath, f)
        else:
            yield p

print('\n'.join(sorted(gather(), key=lambda x: x.replace(os.path.sep, '/'))))