Fix usage of the tracking branch for git.
Review Request #10091 — Created July 17, 2018 and submitted
The change that improved parent base computation had an unintended side
effect of breaking use of the tracking branch. In the case where the
current working branch was local-only, it seemed to work, but if the
working branch was pushed to remote, it would break saying that there
were no diffs, regardless of the configured tracking branch.
This change fixes that up so that when no revisions are passed in on the
command line, we use the configured tracking/parent branch as the parent
revision, and use the fancy new youngest-ancestor procedure to determine
the merge base of the parent. This gives us the desired behavior:
posting the changes users want, but avoiding (when possible) huge parent
A few of the unit tests needed to be fixed to be more correct to match
the desired behavior.
- Posted some various changes.
- Ran unit tests.