An open API service indexing awesome lists of open source software.

https://github.com/oppodelldog/pulli

pull git repositories recursively using your local git
https://github.com/oppodelldog/pulli

automation git pull

Last synced: 3 months ago
JSON representation

pull git repositories recursively using your local git

Awesome Lists containing this project

README

          

[![Go Report Card](https://goreportcard.com/badge/github.com/Oppodelldog/pulli)](https://goreportcard.com/report/github.com/Oppodelldog/pulli)
[![Build Status](https://travis-ci.com/Oppodelldog/pulli.svg?branch=master)](https://travis-ci.com/Oppodelldog/pulli)
# pulli
> pulli pulls git repos recursively

**Put your pulli on, it's getting cool.**

It's always nice to have a pulli.
Especially when:
- you are a cool developer
- your are working in a team of even cooler developers
- all of you produce a lot of dependent git repositories
- it is annoying to keep all repos up to date
- you want to be the coolest guy

So put **pulli** on and pull your git repositories recursively.

### Usage
```bash
Usage of pulli:
-dir string
defines the folder where to find git repos (default ".")
-filter value
filters the given folder. (can be absolute path or regex)
-filtermode string
whitelist or blacklist
```

### Examples
```bash
# execute in your projects folder
pulli

# exclude a folder by filtering a blacklist
pulli -filtermode blacklist -filter /tmp/some-directory/big-bad-repo

# filters might be regex (golang regex)
pulli -filtermode blacklist -filter /tmp/some-directory/test.*

# include a folder by using filtermode whitelist
pulli -filtermode whitelist -filter /tmp/some-directory/big-bad-repo

# define multiple filters
pulli -filtermode whitelist -filter /tmp/a -filter /tmp/b

# define directory for discovery
pulli -dir /tmp/some-directory

```

### Behavior
**Rambo-like explanation:**

Q: "And this, what is this?"

A: "It's pulli"

Q: "What does it do?"

A: "It pulls"

**Seriously:**

Pulli walks through the filesystem searching for git repositories.

When a repo has been found, and it passed the filters a **git pull** is executed.

So the only change that might be made to the working tree could be a **fast-forward merge** from ```git pull```.

### Build-Command
Build-Command is a sub-command that helps you to staying a lazy developer.
It will iterate through all repositories, asking to include them.
The output will be the possible pulli command calls.
```bash
Usage of pulli build-command:
-dir string
defines the folder where to find git repos (default ".")
```

### fun fact
to reveal the facepalming introduction:

**pulli is the german colloquial for *pullover***