git cl: Rework Changelist class for Rietveld/Gerrit use.
This adds pluggable codereview-specific implementations into Changelist class. The specific implementation is chosen at Changelist automatically, with Rietveld being default for backwards compatibility. Gerrit implementation for Gerrit is incomplete, and will be added in later CLs. However, it is sufficient to ensure current functionality of this tool is not diminished. Sadly, the base class isn't completely free from Rietveld assumptions because of presubmit_support. Apparently, PRESUBMIT scripts can make use of Rietveld instance for RPCs directly. This use doesn't make sense for Gerrit, which substitutes rietveld instance with a dummy object, which raises exception on any attribute access with a diagnostic message. This also includes refactoring of some related code which (ab)used ChangeList. Overall, this CL adds a few extra call to git config in order to determine which codereview to use, but but it shouldn't have any performance impact. These is a reland of these 4 CLs + a fix. patch from issue 1827523003 at patchset 20001 (http://crrev.com/1827523003#ps20001) patch from issue 1830703004 at patchset 1 (http://crrev.com/1830703004#ps1) patch from issue 1830923002 at patchset 60001 (http://crrev.com/1830923002#ps60001) patch from issue 1805193002 at patchset 380001 (http://crrev.com/1805193002#ps380001) R=machenbach@chromium.org,sergiyb@chromium.org,andybons@chromium.org BUG=579160,597638 Review URL: https://codereview.chromium.org/1830973003 git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299506 0039d316-1c4b-4281-b951-d872f2087c98
Showing
This diff is collapsed.
Please
register
or
sign in
to comment