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


Release history Release notifications

This version
History Node

0.1.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
git_whatsup-0.1.0-py3-none-any.whl (10.5 kB) Copy SHA256 hash SHA256 Wheel py3
git-whatsup-0.1.0.tar.gz (8.4 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page