Skip to content

stettberger/metagit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Install

pip3 install https://github.com/stettberger/metagit.git

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

About

Manage a big amount of Git Repositories

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages