| Index: checkout.py
|
| diff --git a/checkout.py b/checkout.py
|
| index c61552f32cbe8064e044fcfb29ef99230e5685c5..c6743479da4d4424c591d86f55fede84a50c0cb3 100644
|
| --- a/checkout.py
|
| +++ b/checkout.py
|
| @@ -357,9 +357,13 @@ class SvnCheckout(CheckoutBase, SvnMixIn):
|
| # using above.
|
| stdout += self._check_output_svn(
|
| ['add', p.filename, '--force'], credentials=False)
|
| - for prop in p.svn_properties:
|
| - stdout += self._check_output_svn(
|
| - ['propset', prop[0], prop[1], p.filename], credentials=False)
|
| + for name, value in p.svn_properties:
|
| + if value is None:
|
| + stdout += self._check_output_svn(
|
| + ['propdel', '--quiet', name, p.filename], credentials=False)
|
| + else:
|
| + stdout += self._check_output_svn(
|
| + ['propset', name, value, p.filename], credentials=False)
|
| for prop, values in self.svn_config.auto_props.iteritems():
|
| if fnmatch.fnmatch(p.filename, prop):
|
| for value in values.split(';'):
|
| @@ -528,18 +532,18 @@ class GitCheckoutBase(CheckoutBase):
|
| # p.diff_hunks. git apply manages all that already.
|
| stdout += self._check_output_git(
|
| ['apply', '--index', '-p%s' % p.patchlevel], stdin=p.get(True))
|
| - for prop in p.svn_properties:
|
| + for name, _ in p.svn_properties:
|
| # Ignore some known auto-props flags through .subversion/config,
|
| # bails out on the other ones.
|
| # TODO(maruel): Read ~/.subversion/config and detect the rules that
|
| # applies here to figure out if the property will be correctly
|
| # handled.
|
| - if not prop[0] in (
|
| + if not name in (
|
| 'svn:eol-style', 'svn:executable', 'svn:mime-type'):
|
| raise patch.UnsupportedPatchFormat(
|
| p.filename,
|
| 'Cannot apply svn property %s to file %s.' % (
|
| - prop[0], p.filename))
|
| + name, p.filename))
|
| for post in post_processors:
|
| post(self, p)
|
| except OSError, e:
|
|
|