# Path: src/rosrepo/util.py
# def yaml_load(stream, Loader=SafeLoader):
# def yaml_dump(data, stream=None, Dumper=SafeDumper, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def __str__(self):
#     def __getitem__(self, item):
#     def __setitem__(self, item, value):
#     def __len__(self):
# def is_deprecated_package(manifest):
# def deprecated_package_info(manifest):
# def path_has_prefix(path, prefix):
# def has_package_path(obj, paths):
# def env_path_list_contains(path_list, path):
# def makedirs(path):
# def write_atomic(filepath, data, mode=0o644, ignore_fail=False):
# def isatty(fd):
# def get_terminal_size():
# def find_program(program):
#     def is_exe(fpath):
# def getmtime(path):
# def call_process(args, bufsize=0, stdin=None, stdout=None, stderr=None, cwd=None, env=None, input_data=None):
# def create_multiprocess_manager():
# def _worker_init(worker_init, worker_init_args):
# def run_multiprocess_workers(worker, workload, worker_init=None, worker_init_args=(), jobs=None, timeout=None):
# class NamedTuple(object):
# class UserError(RuntimeError):
# 
# Path: src/rosrepo/ui.py
# def error(text, use_color=None):
#     prog = "rosrepo"
#     msg("@!@{rf}%s: error: %s" % (prog, text), indent_next=len(prog) + 9)


from .util import UserError, YAMLError
from pickle import PickleError
from .ui import error
from pygit2 import GitError
    from argparse import SUPPRESS
    from . import __version__
    from argparse import SUPPRESS, FileType
import sys
import traceback
                import rosrepo.cmd_bash
                import rosrepo.cmd_build
                import rosrepo.cmd_include_exclude
                import rosrepo.cmd_clean
                import rosrepo.cmd_config
                import rosrepo.cmd_depend
                import rosrepo.cmd_git
                import rosrepo.cmd_init
                import rosrepo.cmd_list
                import rosrepo.cmd_export
                import rosrepo.cmd_find
                import rosrepo.cmd_test
    import argparse
    m.add_argument("--this", action="store_true", help="merge package in the current working directory")
    m.add_argument("packages", metavar="PACKAGE", default=[], nargs="*", help="select packages to merge")
    # git commit
    q = git_cmds.add_parser("commit", help="commit local changes for a package")
    q.add_argument("--dry-run", action="store_true", help=SUPPRESS)
    q.add_argument("--push", action="store_true", help="push new commits to upstream server")
    q.add_argument("-j", "--jobs", type=int, default=5, help="set the number of parallel connections")
    m = q.add_mutually_exclusive_group(required=False)
    m.add_argument("--with-depends", action="store_true", default=False, help="also commit dependencies")
    m.add_argument("--without-depends", action="store_false", dest="with_depends", help="do not commit dependencies (default)")
    m = q.add_mutually_exclusive_group(required=False)
    m.add_argument("--this", action="store_true", help="commit package in the current working directory")
    m.add_argument("packages", metavar="PACKAGE", default=[], nargs="*", help="select packages to commit")
    # git remote
    q = git_cmds.add_parser("remote", help="change upstream settings for Git projects")
    q.add_argument("--dry-run", action="store_true", help=SUPPRESS)
    q.add_argument("--with-depends", action="store_true", help="also include dependent packages")
    q.add_argument("-p", "--protocol", help="switch protocol for remote URLs")
    q.add_argument("--move-host", metavar=("OLD_HOST", "NEW_HOST"), nargs=2, help="change host name for all remote URLs after a server move")
    m = q.add_mutually_exclusive_group(required=False)
    m.add_argument("--this", action="store_true", help="modify package in the current working directory")
    m.add_argument("packages", metavar="PACKAGE", default=[], nargs="*", help="select affected packages")
    # git gc
    q = git_cmds.add_parser("gc", help="run Git maintenance tasks")
    q.add_argument("--dry-run", action="store_true", help=SUPPRESS)
    m = q.add_mutually_exclusive_group(required=False)
    m.add_argument("--with-depends", action="store_true", default=False, help="also perform maintenance for dependencies")
    m.add_argument("--without-depends", action="store_false", dest="with_depends", help="do not perform maintenance for dependencies (default)")
    m = q.add_mutually_exclusive_group(required=False)
    m.add_argument("--this", action="store_true", help="show status of package in the current working directory")

# Path: src/rosrepo/util.py
# def yaml_load(stream, Loader=SafeLoader):
# def yaml_dump(data, stream=None, Dumper=SafeDumper, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def __str__(self):
#     def __getitem__(self, item):
#     def __setitem__(self, item, value):
#     def __len__(self):
# def is_deprecated_package(manifest):
# def deprecated_package_info(manifest):
# def path_has_prefix(path, prefix):
# def has_package_path(obj, paths):
# def env_path_list_contains(path_list, path):
# def makedirs(path):
# def write_atomic(filepath, data, mode=0o644, ignore_fail=False):
# def isatty(fd):
# def get_terminal_size():
# def find_program(program):
#     def is_exe(fpath):
# def getmtime(path):
# def call_process(args, bufsize=0, stdin=None, stdout=None, stderr=None, cwd=None, env=None, input_data=None):
# def create_multiprocess_manager():
# def _worker_init(worker_init, worker_init_args):
# def run_multiprocess_workers(worker, workload, worker_init=None, worker_init_args=(), jobs=None, timeout=None):
# class NamedTuple(object):
# class UserError(RuntimeError):
# 
# Path: src/rosrepo/ui.py
# def error(text, use_color=None):
#     prog = "rosrepo"
#     msg("@!@{rf}%s: error: %s" % (prog, text), indent_next=len(prog) + 9)


# Path: src/rosrepo/main.py
from .util import UserError, YAMLError
from pickle import PickleError
from .ui import error
from pygit2 import GitError
    from argparse import SUPPRESS
    from . import __version__
    from argparse import SUPPRESS, FileType
import sys
import traceback
                import rosrepo.cmd_bash
                import rosrepo.cmd_build
                import rosrepo.cmd_include_exclude
                import rosrepo.cmd_clean
                import rosrepo.cmd_config
                import rosrepo.cmd_depend
                import rosrepo.cmd_git
                import rosrepo.cmd_init
                import rosrepo.cmd_list
                import rosrepo.cmd_export
                import rosrepo.cmd_find
                import rosrepo.cmd_test
    import argparse

    m.add_argument("--this", action="store_true", help="merge package in the current working directory")
    m.add_argument("packages", metavar="PACKAGE", default=[], nargs="*", help="select packages to merge")
    # git commit
    q = git_cmds.add_parser("commit", help="commit local changes for a package")
    q.add_argument("--dry-run", action="store_true", help=SUPPRESS)
    q.add_argument("--push", action="store_true", help="push new commits to upstream server")
    q.add_argument("-j", "--jobs", type=int, default=5, help="set the number of parallel connections")
    m = q.add_mutually_exclusive_group(required=False)
    m.add_argument("--with-depends", action="store_true", default=False, help="also commit dependencies")
    m.add_argument("--without-depends", action="store_false", dest="with_depends", help="do not commit dependencies (default)")
    m = q.add_mutually_exclusive_group(required=False)
    m.add_argument("--this", action="store_true", help="commit package in the current working directory")
    m.add_argument("packages", metavar="PACKAGE", default=[], nargs="*", help="select packages to commit")
    # git remote
    q = git_cmds.add_parser("remote", help="change upstream settings for Git projects")
    q.add_argument("--dry-run", action="store_true", help=SUPPRESS)
    q.add_argument("--with-depends", action="store_true", help="also include dependent packages")
    q.add_argument("-p", "--protocol", help="switch protocol for remote URLs")
    q.add_argument("--move-host", metavar=("OLD_HOST", "NEW_HOST"), nargs=2, help="change host name for all remote URLs after a server move")
    m = q.add_mutually_exclusive_group(required=False)
    m.add_argument("--this", action="store_true", help="modify package in the current working directory")
    m.add_argument("packages", metavar="PACKAGE", default=[], nargs="*", help="select affected packages")
    # git gc
    q = git_cmds.add_parser("gc", help="run Git maintenance tasks")
    q.add_argument("--dry-run", action="store_true", help=SUPPRESS)
    m = q.add_mutually_exclusive_group(required=False)
    m.add_argument("--with-depends", action="store_true", default=False, help="also perform maintenance for dependencies")
    m.add_argument("--without-depends", action="store_false", dest="with_depends", help="do not perform maintenance for dependencies (default)")
    m = q.add_mutually_exclusive_group(required=False)
    m.add_argument("--this", action="store_true", help="show status of package in the current working directory")

    m.add_argument("packages", metavar="PACKAGE", default=[], nargs="*", help="only show selected packages")