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`.
### SSH Support
Reposync supports cloning repositories using ssh, just pass `--method=ssh` (which defaults to `--method=https`). This argument will make reposync automatically use repository URLs' (found in `repositories.yaml`) corresponding ssh URLs.
### Concurrency Support
Reposync supports executing commands concurrently via multithreading by passing `--concurrent`.
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`.
### SSH Support
Reposync supports cloning repositories using ssh, just pass `--method=ssh` (which defaults to `--method=https`). This argument will make reposync automatically use repository URLs' (found in `repositories.yaml`) corresponding ssh URLs.
### Concurrency Support
Reposync supports executing commands concurrently via multithreading by passing `--concurrent`.
Project details
Release history Release notifications | RSS feed
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.4.1.tar.gz
(4.1 kB
view hashes)