Skip to content
Multi-repository source code management command-line tool.
JavaScript
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
bin
conf
examples
lib
schemas
test
.bob.json
.gitignore
.travis.yml
CHANGELOG.md
LICENSE
README.md
package.json

README.md

Repoman http://travis-ci.org/cliffano/repoman

Simple multi-repository management command-line tool.

This is handy when you're working on multiple SCM repositories and/or on multiple computers. E.g. rather than updating each repository one by one, it's easier to just run repoman get and update all of them in one go. Rather than checking for uncommitted local changes one by one, it's easier to just run repoman changes and check all in one go. And if you often switch between multiple computers, simply use the same .repoman.json file on those computers and easily manage the same set of repositories.

Installation

npm install -g repoman

Usage

Create sample .repoman.json configuration file:

repoman config

Initialise local repositories:

repoman init

Update local repositories with changes from remote repositories:

repoman get

Display the changes in local repositories:

repoman changes

Update remote repositories with changes from local repositories:

repoman save

Delete local repositories:

repoman delete

Repoman uses the following SCM command mapping, it currently only supports Git and Subversion:

Repoman Git Subversion
repoman init git clone {url} svn checkout {url}
repoman get git pull svn up
repoman changes git status svn stat
repoman save git push origin master svn commit -m "Commited by Repoman"

.

Configuration

Repositories can be configured in .repoman.json file:

{
  "couchdb": {
    "type": "git",
    "url": "http://git-wip-us.apache.org/repos/asf/couchdb.git"
  },
  "httpd": {
    "type": "svn",
    "url": "http://svn.apache.org/repos/asf/httpd/httpd/trunk/"
  },
  "node": {
    "type": "git",
    "url": "http://github.com/joyent/node"
  }
}

It's better to place this file in your home directory (process.env.USERPROFILE on Windows, process.env.HOME on *nix), so you can use Repoman from any directory. If this file is placed in another directory, then Repoman can only be used from that same directory.

If configuration file exists in both current and home directories, then the one in current directory takes precedence over the one in the home directory.

Authentication

It's recommended to authenticate using keys over SSH:

If keys are not set up, then username/password will be prompted interactively.

Something went wrong with that request. Please try again.