post-review: yet another attempt to improve git support
Review Request #1144 — Created Oct. 4, 2009 and submitted — Latest diff uploaded
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