post-review: yet another attempt to improve git support

Review Request #1144 — Created Oct. 4, 2009 and submitted — Latest diff uploaded

Information

RBTools

Reviewers

This is refresh of review 985. I've refactored the change to be more intelligent, and I didn't touch git-svn behavior.

The general idea is to try to detect the merge base of your current head, or gracefully fall back to defaults. You can optionally specify a tracking branch if you need to.

* Try to detect the tracking branch for the current HEAD, if possible
* If a tracking branch doesn't exist, or is not remote, fall back to origin/master
* If --tracking-branch is specified, use this branch instead of origin/master
* Determine the merge base with the git merge-base command. This makes it okay to specify a tracking branch even when its head no longer points to the original branching point.
* No longer mucks with the current git-svn behavior.
* Add unit tests for pure git. The tests are limited to pure git GitClient right now and aren't comprehensive, but cover the scenarios I changed.

http://github.com/djs/rbtools/tree/review1144-r5
Tested with rbtools repo and local server with following scenarios:

* Remote tracking branch available
* Local tracking branch available (ignored)
* No tracking branch available (default to origin/master)
* No tracking branch available, with --tracking specified
* No tracking branch available with --parent specified
* Revision range specified

$ nosetests
..........
----------------------------------------------------------------------
Ran 10 tests in 12.420s

Diff Revision 4

This is not the most recent revision of the diff. The latest diff is revision 5. See what's changed.

orig
1
2
3
4
5
rbtools/postreview.py
rbtools/tests.py
Loading...