def create_repo(url, vcs, **kwargs):
if vcs == '<STR_LIT>':<EOL><INDENT>return GitRepo(url, **kwargs)<EOL><DEDENT>elif vcs == '<STR_LIT>':<EOL><INDENT>return MercurialRepo(url, **kwargs)<EOL><DEDENT>elif vcs == '<STR_LIT>':<EOL><INDENT>return SubversionRepo(url, **kwargs)<EOL><DEDENT>else:<EOL><INDENT>raise InvalidVCS('<STR_LIT>' % vcs)<EOL><DEDENT>
r"""Return a object representation of a VCS repository.

    :returns: instance of a repository object
    :rtype: :class:`libvcs.svn.SubversionRepo`, :class:`libvcs.git.GitRepo` or
        :class:`libvcs.hg.MercurialRepo`.

    Usage Example::

        >>> from libvcs.shortcuts import create_repo

        >>> r = create_repo(
        ...         url='https://www.github.com/you/myrepo',
        ...         vcs='git',
        ...         repo_dir='/tmp/myrepo')

        >>> r.update_repo()
        |myrepo| (git)  Repo directory for myrepo (git) does not exist @ \
            /tmp/myrepo
        |myrepo| (git)  Cloning.
        |myrepo| (git)  git clone https://www.github.com/tony/myrepo \
            /tmp/myrepo
        Cloning into '/tmp/myrepo'...
        Checking connectivity... done.
        |myrepo| (git)  git fetch
        |myrepo| (git)  git pull
        Already up-to-date.