Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Manage a big amount of Git Repositories
branch: master

This branch is 6 commits behind stigkj:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
gmp
.gitignore
COPYRIGHT
README.org
manpage.py
metagit
metagitrc-example
setup.py

README.org

The metagit project can be used to manage a huge amount of git (or any similar distributed scm) repositories at once. For example clone all your github repositories to a folder on your new shinny machine. The Project is inspired by a article in the german LinuxMagazin 08/10 by mschilli.

The configuration is located in the main python skript `metagit’. Edit it so make it fit your needs. For more information on commands try `pydoc gmp’ to the python module documentation.

A example session:

  • List all repositories which match the regex `metagit’ and jump there. See metagit help cd for using an shell function to streamline this.
    $ metagit list metagit
     (git:hub) git@github.com:stettberger/metagit.git --> /home/cip/2009/qy03fugy/github/metagit
    $ `metagit cd metagit`
    $ echo $PWD
    /home/cip/2009/qy03fugy/github/metagit
        
  • Execute a command on all repositories which matches the regex `metagit’ (here just one repo)
    $ metagit foreach metagit commit -a
    cd /home/stettberger/github/metagit; git commit  -a
    [master d6cb963] removed metagit on peer
     1 files changed, 0 insertions(+), 1 deletions(-)
        
  • Shortcuts for the foreach command for common tasks.
    $ metagit push metagit
    [... push ...]
        
  • Uploading new repositories to remote sites with only one command Hint: Set the github.token config in git for uploading to github
$ metagit upload github brand-new-project
[.. creating and pushing brand-new-project ..]

Features

  • SSHDir Listing - find repos on a remote machine
    • With support for uploading Repos to this remote dir
  • Github Listing - find all your github repos
    • With support for uploading Repos to this remote dir
  • Gitorious Listing - find all youy Gitorius repos
  • SVNList - clone all your svn repositories with git svn
  • Use different scm system at once The default is git, but hg does also work
Something went wrong with that request. Please try again.