Skip to main content

reposync helps you manage many git repositories.

Project description

# reposync

reposync helps you manage many 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.2.1.tar.gz (3.7 kB view hashes)

Uploaded Source

Built Distributions

reposync-0.2.1-py3-none-any.whl (5.5 kB view hashes)

Uploaded Python 3

reposync-0.2.1-py2-none-any.whl (6.4 kB view hashes)

Uploaded Python 2

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