Skip to main content

Reposync helps you organize a high number of git repositories.

Project description

reposync

reposync helps you organize multiple git repositories. By declaring the repositories in a YAML file, reposync can then apply various git commands (limited to clone and pull for now) to the repositories in appropriate manners.

Installation

$ pip install reposync

Usage

Declare repositories in repositories.yaml like so:

Projects:
  Past:
    alpha: github.com/yourusername/alpha
  Current:
    beta: github.com/yourusername/beta
    omega: github.com/yourusername/omega

Dotfiles: github.com/yourusername/dotfiles

Others:
  TensorFlow: github.com/tensorflow/tensorflow
  Helm: [go, github.com/helm/helm, cmd/helm]

Then run $ reposync clone to clone the repositories, resulting in the directory structure below:

.
├── Projects
│   ├── Past
│   │   └── alpha
│   └── Current
│       └── beta
│       └── omega
├── Dotfiles
└── Others
    ├── TensorFlow
    └── Helm

To update these repositories, use $ reposync pull.

You can specify the YAML file with --file <filename>.yaml. For the full options, see $ reposync -- --help.

Go Support

In Go, it is preferred to put repositories at GOPATH. reposync supports this by go get-ing the Go repositories to GOPATH, then creates symbolic links to the repositories at the path specified.

To specify a Go repository, you need to put a special list. In the example above, Helm is a Go repository and its value is [go, github.com/helm/helm, cmd/helm]. The first element indicates Go repository, the second is the import path, and the last is the binary location (optional, defaults to the import path).

Internally, reposync will first run go get github.com/helm/helm/cmd/helm then ln -s $GOPATH/src/github.com/helm/helm/cmd/helm Others/Helm.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reposync-0.1.0.tar.gz (3.6 kB view hashes)

Uploaded Source

Built Distribution

reposync-0.1.0-py3-none-any.whl (5.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page