Fix Checkout.post_processsors setup. __init__() was ignoring the argument!
TEST=Rewrote the unit test to catch that case.
R=dpranke@chromium.org
BUG=
Review URL: http://codereview.chromium.org/7192010
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@89700 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/checkout.py b/checkout.py
index 7b001a8..96289b3 100644
--- a/checkout.py
+++ b/checkout.py
@@ -65,6 +65,7 @@
post_processor: list of lambda(checkout, patches) to call on each of the
modified files.
"""
+ super(CheckoutBase, self).__init__()
self.root_dir = root_dir
self.project_name = project_name
if self.project_name is None:
@@ -73,7 +74,7 @@
self.project_path = os.path.join(self.root_dir, self.project_name)
# Only used for logging purposes.
self._last_seen_revision = None
- self.post_processors = None
+ self.post_processors = post_processors
assert self.root_dir
assert self.project_path
@@ -159,6 +160,7 @@
class SvnConfig(object):
"""Parses a svn configuration file."""
def __init__(self, svn_config_dir=None):
+ super(SvnConfig, self).__init__()
self.svn_config_dir = svn_config_dir
self.default = not bool(self.svn_config_dir)
if not self.svn_config_dir:
@@ -241,7 +243,8 @@
"""Manages a subversion checkout."""
def __init__(self, root_dir, project_name, commit_user, commit_pwd, svn_url,
post_processors=None):
- super(SvnCheckout, self).__init__(root_dir, project_name, post_processors)
+ CheckoutBase.__init__(self, root_dir, project_name, post_processors)
+ SvnMixIn.__init__(self)
self.commit_user = commit_user
self.commit_pwd = commit_pwd
self.svn_url = svn_url
@@ -514,8 +517,9 @@
commit_user, commit_pwd,
svn_url, trunk, post_processors=None):
"""trunk is optional."""
- super(GitSvnCheckoutBase, self).__init__(
- root_dir, project_name + '.git', remote_branch, post_processors)
+ GitCheckoutBase.__init__(
+ self, root_dir, project_name + '.git', remote_branch, post_processors)
+ SvnMixIn.__init__(self)
self.commit_user = commit_user
self.commit_pwd = commit_pwd
# svn_url in this case is the root of the svn repository.
@@ -686,6 +690,7 @@
class ReadOnlyCheckout(object):
"""Converts a checkout into a read-only one."""
def __init__(self, checkout):
+ super(ReadOnlyCheckout, self).__init__()
self.checkout = checkout
def prepare(self, revision):