Metadata-Version: 2.1
Name: mgit
Version: 1.2.0
Summary: Fetch collections of git projects
Home-page: https://github.com/zsimic/mgit
Author: Zoran Simic
Author-email: zoran@simicweb.com
License: MIT
Description: Fetch collections of git projects
        =================================
        
        .. image:: https://img.shields.io/pypi/v/mgit.svg
            :target: https://pypi.org/project/mgit/
            :alt: Version on pypi
        
        .. image:: https://github.com/zsimic/mgit/workflows/Tests/badge.svg
            :target: https://github.com/zsimic/mgit/actions
            :alt: Tested with Github Actions
        
        .. image:: https://codecov.io/gh/zsimic/mgit/branch/master/graph/badge.svg
            :target: https://codecov.io/gh/zsimic/mgit
            :alt: Test code codecov
        
        .. image:: https://img.shields.io/pypi/pyversions/mgit.svg
            :target: https://pypi.org/project/mgit/
            :alt: Python versions tested
        
        
        Overview
        ========
        
        With ``mgit``, you can pull/fetch several projects at once,
        and also auto-cleanup dangling branches (from past pull requests).
        
        A colored output is provided if possible, ``mgit`` should come in handy in general for:
        
        - quickly getting an overview of what's up with N git projects
        - fetch/pull N git objects at once
        - clone missing projects (useful if you tend to clone projects from same remote in one common folder)
        
        
        Example usage
        =============
        
        ``mgit`` can show you what's the status of all your git projects in a folder, for example my repos::
        
            ~/dev/github: mgit
            ~/dev/github: 4 github/zsimic
                 mgit: [master] up to date
              pickley: [master] 1 diff, up to date*  last fetch 3w 4d ago
                runez: [master] up to date*  last fetch 3w 4d ago
            setupmeta: [master] up to date*  last fetch 4d 23h ago
        
        
        Here we can see that I have 4 repos in ``~/dev/github`` (and all 4 come from ``github/zsimic``),
        3 of them haven't been fetched in a while.
        We can fetch them all at once with ``--fetch`` (or ``-f``)::
        
            ~/dev/github: mgit --fetch
            ~/dev/github: 4 github/zsimic
                 mgit: [master] up to date
              pickley: [master] 1 diff, up to date
                runez: [master] up to date
            setupmeta: [master] up to date
        
        
        Now all projects have been refreshed, and we can see there's nothing new
        (otherwise we'd see a mention of the form ``2 commits behind``).
        The output also shows that one of the projects has uncommitted files.
        
        Modified files are shown if only one project is in scope, for example::
        
            ~/dev/github: mgit pickley
            pickley: [master] 1 diff, up to date
               M tox.ini
        
        
        Above, we can see that the modified file in question is ``tox.ini`` in that project.
        We can get the same effect using the ``-verbose`` (or ``-v``) flag,
        like for example with 2 projects with modified files::
        
            ~/dev/github: mgit -v
            ~/dev/github: 4 github/zsimic
            mgit: [master] 1 diff, up to date
               M README.rst
            pickley: [master] 1 diff, up to date
               M tox.ini
            runez: [master] up to date
            setupmeta: [master] up to date
        
        
        Synopsis::
        
            ~/dev/github: mgit --help
            Usage: mgit [OPTIONS] [TARGET]
        
              Fetch collections of git projects
        
            Options:
              --version                       Show the version and exit.
              --debug                         Show debugging information.
              --color / --no-color            Use colors (on by default on ttys)
              --log PATH                      Override log file location.
              --clean [show|local|remote|all|reset]
                                              Auto-clean branches
              -f, --fetch                     Fetch from all remotes
              -p, --pull                      Pull from tracking remote
              -s, --short / -v, --verbose     Short/verbose output
              -cs                             Handy shortcut for '--clean show'
              -cl                             Handy shortcut for '--clean local'
              -cr                             Handy shortcut for '--clean remote'
              -ca                             Handy shortcut for '--clean all'
              -h, --help                      Show this message and exit.
        
        Installation
        ============
        
        Easiest way to get mgit is via pickley_ or pipsi_::
        
            pickley install mgit
        
            pipsi install mgit
        
        
        You can also compile from source::
        
            git clone https://github.com/zsimic/mgit.git
            cd mgit
            tox -e venv
            source .venv/bin/activate
        
        
        .. _pickley: https://pypi.org/simple/pickley/
        
        .. _pipsi: https://pypi.org/simple/pipsi/
Keywords: multiple,git,repos
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Utilities
Description-Content-Type: text/x-rst
