Skip to main content

Tool to list up remote branches that conflict with the current working copy.

Project description

# git-whatsup

List up remote branches that conflict with the current working copy.

Requires Python 3.5+ and pygit2.

```
$ brew install libgit2
$ pip install git-whatsup
$ git-whatsup
conflicts with me
------------------------------------------------------------
origin/find-the-leaks (M!)
spec/spec_helper.rb C
app/assets/cactus.png deleted by us
```

How it works:

- Create a commit on top of the current index with all unstaged changes
- Tag the commit with `whatsup-with-me`
- For each remote branch,
- Try merging with `whatsup-with-me`
- If it conflicts, try merging with `origin/master`
- Based on the results, classify into roughly these categories:
no conflicts, conflicts with my changes, or conflicts with just master
- Output those that conflict with my changes
- Output conflicting diffs too if requested


## Usage

```
$ git-whatsup --help
usage: git-whatsup [-h] [--remote REMOTE_NAME] [--master BRANCH_NAME]
[--branch BRANCH_NAME] [--all] [--diff]
[--format {plain,json}]
[repo_path]

List up remote branches that conflict with the current working copy.

positional arguments:
repo_path target Git repository

optional arguments:
-h, --help show this help message and exit
--remote REMOTE_NAME compare against branches in this remote
--master BRANCH_NAME master branch name
--branch BRANCH_NAME, -b BRANCH_NAME
branches to check. by default, all branches are
checked
--all, -a output all statuses if output format is `plain`
--diff, -d output diffs if output format is `plain`
--format {plain,json}, -f {plain,json}
json always includes diffs
```

## Assumptions and caveats

- Remote branches in your local clone are assumed to be up-to-date (`git fetch` has been run)
- Consider this alpha software


Project details


Download files

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

Files for git-whatsup, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size git_whatsup-0.1.0-py3-none-any.whl (10.5 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size git-whatsup-0.1.0.tar.gz (8.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page