# Path: meld/vc/_vc.py
# (STATE_IGNORED, STATE_NONE, STATE_NORMAL, STATE_NOCHANGE,
#     STATE_ERROR, STATE_EMPTY, STATE_NEW,
#     STATE_MODIFIED, STATE_CONFLICT, STATE_REMOVED,
#     STATE_MISSING, STATE_NONEXIST, STATE_MAX) = list(range(13))
# (CONFLICT_MERGED, CONFLICT_BASE, CONFLICT_LOCAL,
#     CONFLICT_REMOTE, CONFLICT_MAX) = list(range(5))
# CONFLICT_OTHER = CONFLICT_REMOTE
# CONFLICT_THIS = CONFLICT_LOCAL
# DATA_NAME, DATA_STATE, DATA_REVISION, DATA_OPTIONS = list(range(4))
#     VC_DIR = None
#     VC_ROOT_WALK = True
#     VC_METADATA = None
#     VC_COLUMNS = (DATA_NAME, DATA_STATE)
#     NULL = open(os.devnull, "wb")
# def partition(pred, iterable):
#     def __init__(self, path, name, state):
#     def __str__(self):
#     def __repr__(self):
#     def get_status(self):
#     def __init__(self, path, name, state):
#     def __init__(self, path, name, state, rev="", options=""):
#     def __init__(self, location):
#     def commit_command(self, message):
#     def update_command(self):
#     def add_command(self):
#     def remove_command(self, force=0):
#     def revert_command(self):
#     def resolved_command(self):
#     def get_files_to_commit(self, paths):
#     def get_commit_message_prefill(self):
#     def update(self, runner, files):
#     def push(self, runner):
#     def revert(self, runner, files):
#     def get_commits_to_push_summary(self):
#     def remove(self, runner, files):
#     def resolve(self, runner, files):
#     def get_path_for_repo_file(self, path, commit=None):
#     def get_path_for_conflict(self, path, conflict):
#     def check_repo_root(self, location):
#     def find_repo_root(self, location):
#     def get_working_directory(self, workdir):
#     def cache_inventory(self, topdir):
#     def uncache_inventory(self):
#     def update_file_state(self, path):
#     def valid_repo(self):
#     def listdir(self, path="."):
#     def lookup_files(self, dirs, files, directory=None):
#     def _get_dirsandfiles(self, directory, dirs, files):
#     def get_entry(self, path):
#     def __init__(self, location):
#     def cache_inventory(self, directory):
#     def uncache_inventory(self):
#     def _lookup_tree_cache(self, directory):
#     def _get_tree_cache(self, directory):
#     def __init__(self, vc, path, err):
#     def __str__(self):
#     def __init__(self, vc, rev, err):
#     def __str__(self):
# def popen(cmd, cwd=None):
# def call(cmd, cwd=None):
# class Entry(object):
# class Dir(Entry):
# class File(Entry):
# class Vc(object):
# class CachedVc(Vc):
# class InvalidVCPath(ValueError):
# class InvalidVCRevision(ValueError):


from meld.vc import _vc
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.

# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.



class Vc(_vc.Vc):

    CMD = None
    NAME = ""
    VC_DIR = "."

    def lookup_files(self, dirs, files, directory=None):

# Path: meld/vc/_vc.py
# (STATE_IGNORED, STATE_NONE, STATE_NORMAL, STATE_NOCHANGE,
#     STATE_ERROR, STATE_EMPTY, STATE_NEW,
#     STATE_MODIFIED, STATE_CONFLICT, STATE_REMOVED,
#     STATE_MISSING, STATE_NONEXIST, STATE_MAX) = list(range(13))
# (CONFLICT_MERGED, CONFLICT_BASE, CONFLICT_LOCAL,
#     CONFLICT_REMOTE, CONFLICT_MAX) = list(range(5))
# CONFLICT_OTHER = CONFLICT_REMOTE
# CONFLICT_THIS = CONFLICT_LOCAL
# DATA_NAME, DATA_STATE, DATA_REVISION, DATA_OPTIONS = list(range(4))
#     VC_DIR = None
#     VC_ROOT_WALK = True
#     VC_METADATA = None
#     VC_COLUMNS = (DATA_NAME, DATA_STATE)
#     NULL = open(os.devnull, "wb")
# def partition(pred, iterable):
#     def __init__(self, path, name, state):
#     def __str__(self):
#     def __repr__(self):
#     def get_status(self):
#     def __init__(self, path, name, state):
#     def __init__(self, path, name, state, rev="", options=""):
#     def __init__(self, location):
#     def commit_command(self, message):
#     def update_command(self):
#     def add_command(self):
#     def remove_command(self, force=0):
#     def revert_command(self):
#     def resolved_command(self):
#     def get_files_to_commit(self, paths):
#     def get_commit_message_prefill(self):
#     def update(self, runner, files):
#     def push(self, runner):
#     def revert(self, runner, files):
#     def get_commits_to_push_summary(self):
#     def remove(self, runner, files):
#     def resolve(self, runner, files):
#     def get_path_for_repo_file(self, path, commit=None):
#     def get_path_for_conflict(self, path, conflict):
#     def check_repo_root(self, location):
#     def find_repo_root(self, location):
#     def get_working_directory(self, workdir):
#     def cache_inventory(self, topdir):
#     def uncache_inventory(self):
#     def update_file_state(self, path):
#     def valid_repo(self):
#     def listdir(self, path="."):
#     def lookup_files(self, dirs, files, directory=None):
#     def _get_dirsandfiles(self, directory, dirs, files):
#     def get_entry(self, path):
#     def __init__(self, location):
#     def cache_inventory(self, directory):
#     def uncache_inventory(self):
#     def _lookup_tree_cache(self, directory):
#     def _get_tree_cache(self, directory):
#     def __init__(self, vc, path, err):
#     def __str__(self):
#     def __init__(self, vc, rev, err):
#     def __str__(self):
# def popen(cmd, cwd=None):
# def call(cmd, cwd=None):
# class Entry(object):
# class Dir(Entry):
# class File(Entry):
# class Vc(object):
# class CachedVc(Vc):
# class InvalidVCPath(ValueError):
# class InvalidVCRevision(ValueError):


# Path: meld/vc/_null.py
from meld.vc import _vc

# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.

# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.



class Vc(_vc.Vc):

    CMD = None
    NAME = ""
    VC_DIR = "."

    def lookup_files(self, dirs, files, directory=None):

        dirs = [_vc.Dir(d[1], d[0], _vc.STATE_NONE) for d in dirs]