Yelp/pushmanager — pull request #66 by rschlaikjer (2014-06-17 02:12:30+00:00)
Title: Add git conflict detection rc4

### RC4:
- Thorough submodule conflict checking
- Move merging out of `MergeContextManager.__init__` into it's own method
- Prune the local copy of the repo
- Typo fix, variable style cleanup
- Add pushplan for `conflicts` database field

### RC3:

- Convert all worker queues to use Multiprocessing
- Refactor pickme conflict check code
- More tests
- Submodule commands
- Local mirror support

### Original:

Add methods to automatically check for merge conflicts between:

Pickme'd branches and master
Pickme'd branches and other pickme'd branches for the same push
Whenever a request is pickmed, a git action is queued that:

Updates the local copy of master to current head
Clones or updates the local copy of devs/$dev branch
Creates a temporary test branch off master
Attempts to merge the pickmed branch onto the test. If this fails, it marks the pickme as conflict-master
If it does not conflict with master, it then applies every other pickme in the push on top of the test branch as well, checks if it works, and then reverts.
All the pickmes that fail to merge are included in a 'conflicts' section on the pickme on pushmanager