1# This file was automatically generated by SWIG (http://www.swig.org).
2# Version 3.0.12
3#
4# Do not make changes to this file unless you know what you are doing--modify
5# the SWIG interface file instead.
6
7
8def _dll_paths():
9    import os
10    if hasattr(os, 'add_dll_directory'):  # Python 3.8+ on Windows
11        cookies = []
12        for path in os.environ.get('PATH', '').split(os.pathsep):
13            if path and os.path.isabs(path):
14                try:
15                    cookie = os.add_dll_directory(path)
16                except OSError:
17                    continue
18                else:
19                    cookies.append(cookie)
20        return cookies
21    else:
22        return ()
23
24_dll_paths = _dll_paths()
25try:
26    from . import _diff
27finally:
28    _dll_path = None
29    for _dll_path in _dll_paths:
30        _dll_path.close()
31    del _dll_paths, _dll_path
32
33try:
34    _swig_property = property
35except NameError:
36    pass  # Python < 2.2 doesn't have 'property'.
37
38try:
39    import builtins as __builtin__
40except ImportError:
41    import __builtin__
42
43def _swig_setattr_nondynamic(self, class_type, name, value, static=1):
44    if (name == "thisown"):
45        return self.this.own(value)
46    if (name == "this"):
47        if type(value).__name__ == 'SwigPyObject':
48            self.__dict__[name] = value
49            return
50    method = class_type.__swig_setmethods__.get(name, None)
51    if method:
52        return method(self, value)
53    if (not static):
54        object.__setattr__(self, name, value)
55    else:
56        raise AttributeError("You cannot add attributes to %s" % self)
57
58
59def _swig_setattr(self, class_type, name, value):
60    return _swig_setattr_nondynamic(self, class_type, name, value, 0)
61
62
63def _swig_getattr(self, class_type, name):
64    if (name == "thisown"):
65        return self.this.own()
66    method = class_type.__swig_getmethods__.get(name, None)
67    if method:
68        return method(self)
69    raise AttributeError("'%s' object has no attribute '%s'" % (class_type.__name__, name))
70
71
72def _swig_repr(self):
73    try:
74        strthis = "proxy of " + self.this.__repr__()
75    except __builtin__.Exception:
76        strthis = ""
77    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
78
79
80def _swig_setattr_nondynamic_method(set):
81    def set_attr(self, name, value):
82        if (name == "thisown"):
83            return self.this.own(value)
84        if hasattr(self, name) or (name == "this"):
85            set(self, name, value)
86        else:
87            raise AttributeError("You cannot add attributes to %s" % self)
88    return set_attr
89
90
91
92def _copy_metadata_deep(value, old_value):
93  """Copy all attributes of old_value into value, recursively traversing
94  lists and dicts if needed."""
95  if value is None or old_value is None or value is old_value: return
96
97  if isinstance(value, dict):
98    for k in value:
99      _copy_metadata_deep(value[k], old_value[k])
100  elif isinstance(value, list):
101    for v, old_v in zip(value, old_value):
102      _copy_metadata_deep(v, old_v)
103  else:
104    try:
105      value.__dict__.update(old_value.__dict__)
106    except AttributeError:
107      pass
108
109def _assert_valid_deep(value):
110  """Assert value's validity, recursively traversing lists and dicts."""
111  if isinstance(value, dict):
112    for k in value:
113      _assert_valid_deep(value[k])
114  elif isinstance(value, list):
115    for v in value:
116      _assert_valid_deep(v)
117# Ensure that the passed in value isn't a type, which could have an
118# assert_valid attribute, but it can not be called without an instance.
119  elif type(value) != type:
120    try:
121      fn = value.assert_valid
122    except AttributeError:
123      pass
124    else:
125      fn()
126
127
128
129  # SWIG classes generated with -modern do not define this variable
130try:
131  _newclass
132except NameError:
133  _newclass = 1
134else:
135  raise RuntimeError("Require -modern option, but _newclass is defined")
136
137_get_instance_attr = object.__getattribute__
138_set_instance_attr = _swig_setattr_nondynamic_method(object.__setattr__)
139
140
141import libsvn.core
142
143def svn_diff_version() -> "svn_version_t const *":
144    """svn_diff_version() -> svn_version_t const *"""
145    return _diff.svn_diff_version()
146svn_diff_datasource_original = _diff.svn_diff_datasource_original
147svn_diff_datasource_modified = _diff.svn_diff_datasource_modified
148svn_diff_datasource_latest = _diff.svn_diff_datasource_latest
149svn_diff_datasource_ancestor = _diff.svn_diff_datasource_ancestor
150class svn_diff_fns2_t(object):
151    """Proxy of C svn_diff_fns2_t struct."""
152
153    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
154    __repr__ = _swig_repr
155    datasources_open = _swig_property(_diff.svn_diff_fns2_t_datasources_open_get, _diff.svn_diff_fns2_t_datasources_open_set)
156    datasource_close = _swig_property(_diff.svn_diff_fns2_t_datasource_close_get, _diff.svn_diff_fns2_t_datasource_close_set)
157    datasource_get_next_token = _swig_property(_diff.svn_diff_fns2_t_datasource_get_next_token_get, _diff.svn_diff_fns2_t_datasource_get_next_token_set)
158    token_compare = _swig_property(_diff.svn_diff_fns2_t_token_compare_get, _diff.svn_diff_fns2_t_token_compare_set)
159    token_discard = _swig_property(_diff.svn_diff_fns2_t_token_discard_get, _diff.svn_diff_fns2_t_token_discard_set)
160    token_discard_all = _swig_property(_diff.svn_diff_fns2_t_token_discard_all_get, _diff.svn_diff_fns2_t_token_discard_all_set)
161    def set_parent_pool(self, parent_pool=None):
162      """Create a new proxy object for TYPE"""
163      import libsvn.core, weakref
164      self.__dict__["_parent_pool"] = \
165        parent_pool or libsvn.core.application_pool;
166      if self.__dict__["_parent_pool"]:
167        self.__dict__["_is_valid"] = weakref.ref(
168          self.__dict__["_parent_pool"]._is_valid)
169
170    def assert_valid(self):
171      """Assert that this object is using valid pool memory"""
172      if "_is_valid" in self.__dict__:
173        assert self.__dict__["_is_valid"](), "Variable has already been deleted"
174
175    def _retrieve_swig_value(self, name, value):
176    # If we got back a different object than we have cached, we need to copy
177    # all our metadata into it, so that it looks identical to the one
178    # originally set.
179      members = self.__dict__.get('_members')
180      if members is not None and name in members:
181        _copy_metadata_deep(value, members[name])
182
183    # Verify that the new object is good
184      _assert_valid_deep(value)
185
186      return value
187
188    # Attribute access must be intercepted to ensure that objects coming from
189    # read attribute access match those that are set with write attribute access.
190    # Specifically the metadata, such as the associated apr_pool object, should
191    # match the originally assigned object.
192    #
193    # For classic classes it is enough to use __getattr__ to intercept swig
194    # derived attributes. However, with new style classes SWIG makes use of
195    # descriptors which mean that __getattr__ is never called. Therefore,
196    # __getattribute__ must be used for the interception.
197
198    if _newclass:
199      def __getattribute__(self, name):
200        """Manage access to all attributes of this object."""
201
202    # Start by mimicing __getattr__ behavior: immediately return __dict__ or
203    # items directly present in __dict__
204        mydict = object.__getattribute__(self, '__dict__')
205
206        if name == "__dict__":
207          return mydict
208
209        if name in mydict:
210          return mydict[name]
211
212        object.__getattribute__(self, 'assert_valid')()
213
214        value = _get_instance_attr(self, name)
215        fn = object.__getattribute__(self, '_retrieve_swig_value')
216        return fn(name, value)
217    else:
218      def __getattr__(self, name):
219        """Get an attribute from this object"""
220        self.assert_valid()
221
222        value = _swig_getattr(self, self.__class__, name)
223
224        return self._retrieve_swig_value(name, value)
225
226    def __setattr__(self, name, value):
227      """Set an attribute on this object"""
228      self.assert_valid()
229
230    # Save a copy of the object, so that the garbage
231    # collector won't kill the object while it's in
232    # SWIG-land
233      self.__dict__.setdefault("_members",{})[name] = value
234
235      return _set_instance_attr(self, name, value)
236
237
238    def datasources_open(self, *args):
239      return svn_diff_fns2_invoke_datasources_open(self, *args)
240
241
242    def datasource_close(self, *args):
243      return svn_diff_fns2_invoke_datasource_close(self, *args)
244
245
246    def datasource_get_next_token(self, *args):
247      return svn_diff_fns2_invoke_datasource_get_next_token(self, *args)
248
249
250    def token_compare(self, *args):
251      return svn_diff_fns2_invoke_token_compare(self, *args)
252
253
254    def token_discard(self, *args):
255      return svn_diff_fns2_invoke_token_discard(self, *args)
256
257
258    def token_discard_all(self, *args):
259      return svn_diff_fns2_invoke_token_discard_all(self, *args)
260
261
262    def __init__(self):
263        """__init__(svn_diff_fns2_t self) -> svn_diff_fns2_t"""
264        this = _diff.new_svn_diff_fns2_t()
265        try:
266            self.this.append(this)
267        except __builtin__.Exception:
268            self.this = this
269    __swig_destroy__ = _diff.delete_svn_diff_fns2_t
270    __del__ = lambda self: None
271svn_diff_fns2_t_swigregister = _diff.svn_diff_fns2_t_swigregister
272svn_diff_fns2_t_swigregister(svn_diff_fns2_t)
273
274class svn_diff_fns_t(object):
275    """Proxy of C svn_diff_fns_t struct."""
276
277    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
278    __repr__ = _swig_repr
279    datasource_open = _swig_property(_diff.svn_diff_fns_t_datasource_open_get, _diff.svn_diff_fns_t_datasource_open_set)
280    datasource_close = _swig_property(_diff.svn_diff_fns_t_datasource_close_get, _diff.svn_diff_fns_t_datasource_close_set)
281    datasource_get_next_token = _swig_property(_diff.svn_diff_fns_t_datasource_get_next_token_get, _diff.svn_diff_fns_t_datasource_get_next_token_set)
282    token_compare = _swig_property(_diff.svn_diff_fns_t_token_compare_get, _diff.svn_diff_fns_t_token_compare_set)
283    token_discard = _swig_property(_diff.svn_diff_fns_t_token_discard_get, _diff.svn_diff_fns_t_token_discard_set)
284    token_discard_all = _swig_property(_diff.svn_diff_fns_t_token_discard_all_get, _diff.svn_diff_fns_t_token_discard_all_set)
285    def set_parent_pool(self, parent_pool=None):
286      """Create a new proxy object for TYPE"""
287      import libsvn.core, weakref
288      self.__dict__["_parent_pool"] = \
289        parent_pool or libsvn.core.application_pool;
290      if self.__dict__["_parent_pool"]:
291        self.__dict__["_is_valid"] = weakref.ref(
292          self.__dict__["_parent_pool"]._is_valid)
293
294    def assert_valid(self):
295      """Assert that this object is using valid pool memory"""
296      if "_is_valid" in self.__dict__:
297        assert self.__dict__["_is_valid"](), "Variable has already been deleted"
298
299    def _retrieve_swig_value(self, name, value):
300    # If we got back a different object than we have cached, we need to copy
301    # all our metadata into it, so that it looks identical to the one
302    # originally set.
303      members = self.__dict__.get('_members')
304      if members is not None and name in members:
305        _copy_metadata_deep(value, members[name])
306
307    # Verify that the new object is good
308      _assert_valid_deep(value)
309
310      return value
311
312    # Attribute access must be intercepted to ensure that objects coming from
313    # read attribute access match those that are set with write attribute access.
314    # Specifically the metadata, such as the associated apr_pool object, should
315    # match the originally assigned object.
316    #
317    # For classic classes it is enough to use __getattr__ to intercept swig
318    # derived attributes. However, with new style classes SWIG makes use of
319    # descriptors which mean that __getattr__ is never called. Therefore,
320    # __getattribute__ must be used for the interception.
321
322    if _newclass:
323      def __getattribute__(self, name):
324        """Manage access to all attributes of this object."""
325
326    # Start by mimicing __getattr__ behavior: immediately return __dict__ or
327    # items directly present in __dict__
328        mydict = object.__getattribute__(self, '__dict__')
329
330        if name == "__dict__":
331          return mydict
332
333        if name in mydict:
334          return mydict[name]
335
336        object.__getattribute__(self, 'assert_valid')()
337
338        value = _get_instance_attr(self, name)
339        fn = object.__getattribute__(self, '_retrieve_swig_value')
340        return fn(name, value)
341    else:
342      def __getattr__(self, name):
343        """Get an attribute from this object"""
344        self.assert_valid()
345
346        value = _swig_getattr(self, self.__class__, name)
347
348        return self._retrieve_swig_value(name, value)
349
350    def __setattr__(self, name, value):
351      """Set an attribute on this object"""
352      self.assert_valid()
353
354    # Save a copy of the object, so that the garbage
355    # collector won't kill the object while it's in
356    # SWIG-land
357      self.__dict__.setdefault("_members",{})[name] = value
358
359      return _set_instance_attr(self, name, value)
360
361
362    def datasource_open(self, *args):
363      return svn_diff_fns_invoke_datasource_open(self, *args)
364
365
366    def datasource_close(self, *args):
367      return svn_diff_fns_invoke_datasource_close(self, *args)
368
369
370    def datasource_get_next_token(self, *args):
371      return svn_diff_fns_invoke_datasource_get_next_token(self, *args)
372
373
374    def token_compare(self, *args):
375      return svn_diff_fns_invoke_token_compare(self, *args)
376
377
378    def token_discard(self, *args):
379      return svn_diff_fns_invoke_token_discard(self, *args)
380
381
382    def token_discard_all(self, *args):
383      return svn_diff_fns_invoke_token_discard_all(self, *args)
384
385
386    def __init__(self):
387        """__init__(svn_diff_fns_t self) -> svn_diff_fns_t"""
388        this = _diff.new_svn_diff_fns_t()
389        try:
390            self.this.append(this)
391        except __builtin__.Exception:
392            self.this = this
393    __swig_destroy__ = _diff.delete_svn_diff_fns_t
394    __del__ = lambda self: None
395svn_diff_fns_t_swigregister = _diff.svn_diff_fns_t_swigregister
396svn_diff_fns_t_swigregister(svn_diff_fns_t)
397
398
399def svn_diff_diff_2(*args) -> "svn_diff_t **":
400    """svn_diff_diff_2(void * diff_baton, svn_diff_fns2_t diff_fns, apr_pool_t pool) -> svn_error_t"""
401    return _diff.svn_diff_diff_2(*args)
402
403def svn_diff_diff(*args) -> "svn_diff_t **":
404    """svn_diff_diff(void * diff_baton, svn_diff_fns_t diff_fns, apr_pool_t pool) -> svn_error_t"""
405    return _diff.svn_diff_diff(*args)
406
407def svn_diff_diff3_2(*args) -> "svn_diff_t **":
408    """svn_diff_diff3_2(void * diff_baton, svn_diff_fns2_t diff_fns, apr_pool_t pool) -> svn_error_t"""
409    return _diff.svn_diff_diff3_2(*args)
410
411def svn_diff_diff3(*args) -> "svn_diff_t **":
412    """svn_diff_diff3(void * diff_baton, svn_diff_fns_t diff_fns, apr_pool_t pool) -> svn_error_t"""
413    return _diff.svn_diff_diff3(*args)
414
415def svn_diff_diff4_2(*args) -> "svn_diff_t **":
416    """svn_diff_diff4_2(void * diff_baton, svn_diff_fns2_t diff_fns, apr_pool_t pool) -> svn_error_t"""
417    return _diff.svn_diff_diff4_2(*args)
418
419def svn_diff_diff4(*args) -> "svn_diff_t **":
420    """svn_diff_diff4(void * diff_baton, svn_diff_fns_t diff_fns, apr_pool_t pool) -> svn_error_t"""
421    return _diff.svn_diff_diff4(*args)
422
423def svn_diff_contains_conflicts(diff: 'svn_diff_t *') -> "svn_boolean_t":
424    """svn_diff_contains_conflicts(svn_diff_t * diff) -> svn_boolean_t"""
425    return _diff.svn_diff_contains_conflicts(diff)
426
427def svn_diff_contains_diffs(diff: 'svn_diff_t *') -> "svn_boolean_t":
428    """svn_diff_contains_diffs(svn_diff_t * diff) -> svn_boolean_t"""
429    return _diff.svn_diff_contains_diffs(diff)
430class svn_diff_output_fns_t(object):
431    """Proxy of C svn_diff_output_fns_t struct."""
432
433    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
434    __repr__ = _swig_repr
435    output_common = _swig_property(_diff.svn_diff_output_fns_t_output_common_get, _diff.svn_diff_output_fns_t_output_common_set)
436    output_diff_modified = _swig_property(_diff.svn_diff_output_fns_t_output_diff_modified_get, _diff.svn_diff_output_fns_t_output_diff_modified_set)
437    output_diff_latest = _swig_property(_diff.svn_diff_output_fns_t_output_diff_latest_get, _diff.svn_diff_output_fns_t_output_diff_latest_set)
438    output_diff_common = _swig_property(_diff.svn_diff_output_fns_t_output_diff_common_get, _diff.svn_diff_output_fns_t_output_diff_common_set)
439    output_conflict = _swig_property(_diff.svn_diff_output_fns_t_output_conflict_get, _diff.svn_diff_output_fns_t_output_conflict_set)
440    def set_parent_pool(self, parent_pool=None):
441      """Create a new proxy object for TYPE"""
442      import libsvn.core, weakref
443      self.__dict__["_parent_pool"] = \
444        parent_pool or libsvn.core.application_pool;
445      if self.__dict__["_parent_pool"]:
446        self.__dict__["_is_valid"] = weakref.ref(
447          self.__dict__["_parent_pool"]._is_valid)
448
449    def assert_valid(self):
450      """Assert that this object is using valid pool memory"""
451      if "_is_valid" in self.__dict__:
452        assert self.__dict__["_is_valid"](), "Variable has already been deleted"
453
454    def _retrieve_swig_value(self, name, value):
455    # If we got back a different object than we have cached, we need to copy
456    # all our metadata into it, so that it looks identical to the one
457    # originally set.
458      members = self.__dict__.get('_members')
459      if members is not None and name in members:
460        _copy_metadata_deep(value, members[name])
461
462    # Verify that the new object is good
463      _assert_valid_deep(value)
464
465      return value
466
467    # Attribute access must be intercepted to ensure that objects coming from
468    # read attribute access match those that are set with write attribute access.
469    # Specifically the metadata, such as the associated apr_pool object, should
470    # match the originally assigned object.
471    #
472    # For classic classes it is enough to use __getattr__ to intercept swig
473    # derived attributes. However, with new style classes SWIG makes use of
474    # descriptors which mean that __getattr__ is never called. Therefore,
475    # __getattribute__ must be used for the interception.
476
477    if _newclass:
478      def __getattribute__(self, name):
479        """Manage access to all attributes of this object."""
480
481    # Start by mimicing __getattr__ behavior: immediately return __dict__ or
482    # items directly present in __dict__
483        mydict = object.__getattribute__(self, '__dict__')
484
485        if name == "__dict__":
486          return mydict
487
488        if name in mydict:
489          return mydict[name]
490
491        object.__getattribute__(self, 'assert_valid')()
492
493        value = _get_instance_attr(self, name)
494        fn = object.__getattribute__(self, '_retrieve_swig_value')
495        return fn(name, value)
496    else:
497      def __getattr__(self, name):
498        """Get an attribute from this object"""
499        self.assert_valid()
500
501        value = _swig_getattr(self, self.__class__, name)
502
503        return self._retrieve_swig_value(name, value)
504
505    def __setattr__(self, name, value):
506      """Set an attribute on this object"""
507      self.assert_valid()
508
509    # Save a copy of the object, so that the garbage
510    # collector won't kill the object while it's in
511    # SWIG-land
512      self.__dict__.setdefault("_members",{})[name] = value
513
514      return _set_instance_attr(self, name, value)
515
516
517    def output_common(self, *args):
518      return svn_diff_output_fns_invoke_output_common(self, *args)
519
520
521    def output_diff_modified(self, *args):
522      return svn_diff_output_fns_invoke_output_diff_modified(self, *args)
523
524
525    def output_diff_latest(self, *args):
526      return svn_diff_output_fns_invoke_output_diff_latest(self, *args)
527
528
529    def output_diff_common(self, *args):
530      return svn_diff_output_fns_invoke_output_diff_common(self, *args)
531
532
533    def output_conflict(self, *args):
534      return svn_diff_output_fns_invoke_output_conflict(self, *args)
535
536
537    def __init__(self):
538        """__init__(svn_diff_output_fns_t self) -> svn_diff_output_fns_t"""
539        this = _diff.new_svn_diff_output_fns_t()
540        try:
541            self.this.append(this)
542        except __builtin__.Exception:
543            self.this = this
544    __swig_destroy__ = _diff.delete_svn_diff_output_fns_t
545    __del__ = lambda self: None
546svn_diff_output_fns_t_swigregister = _diff.svn_diff_output_fns_t_swigregister
547svn_diff_output_fns_t_swigregister(svn_diff_output_fns_t)
548
549svn_diff_conflict_display_modified_latest = _diff.svn_diff_conflict_display_modified_latest
550svn_diff_conflict_display_resolved_modified_latest = _diff.svn_diff_conflict_display_resolved_modified_latest
551svn_diff_conflict_display_modified_original_latest = _diff.svn_diff_conflict_display_modified_original_latest
552svn_diff_conflict_display_modified = _diff.svn_diff_conflict_display_modified
553svn_diff_conflict_display_latest = _diff.svn_diff_conflict_display_latest
554svn_diff_conflict_display_only_conflicts = _diff.svn_diff_conflict_display_only_conflicts
555
556def svn_diff_output2(diff: 'svn_diff_t *', output_baton: 'void *', output_fns: 'svn_diff_output_fns_t', cancel_func: 'svn_cancel_func_t') -> "svn_error_t *":
557    """svn_diff_output2(svn_diff_t * diff, void * output_baton, svn_diff_output_fns_t output_fns, svn_cancel_func_t cancel_func) -> svn_error_t"""
558    return _diff.svn_diff_output2(diff, output_baton, output_fns, cancel_func)
559
560def svn_diff_output(diff: 'svn_diff_t *', output_baton: 'void *', output_fns: 'svn_diff_output_fns_t') -> "svn_error_t *":
561    """svn_diff_output(svn_diff_t * diff, void * output_baton, svn_diff_output_fns_t output_fns) -> svn_error_t"""
562    return _diff.svn_diff_output(diff, output_baton, output_fns)
563svn_diff_file_ignore_space_none = _diff.svn_diff_file_ignore_space_none
564svn_diff_file_ignore_space_change = _diff.svn_diff_file_ignore_space_change
565svn_diff_file_ignore_space_all = _diff.svn_diff_file_ignore_space_all
566class svn_diff_file_options_t(object):
567    """Proxy of C svn_diff_file_options_t struct."""
568
569    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
570    __repr__ = _swig_repr
571    ignore_space = _swig_property(_diff.svn_diff_file_options_t_ignore_space_get, _diff.svn_diff_file_options_t_ignore_space_set)
572    ignore_eol_style = _swig_property(_diff.svn_diff_file_options_t_ignore_eol_style_get, _diff.svn_diff_file_options_t_ignore_eol_style_set)
573    show_c_function = _swig_property(_diff.svn_diff_file_options_t_show_c_function_get, _diff.svn_diff_file_options_t_show_c_function_set)
574    context_size = _swig_property(_diff.svn_diff_file_options_t_context_size_get, _diff.svn_diff_file_options_t_context_size_set)
575    def set_parent_pool(self, parent_pool=None):
576      """Create a new proxy object for TYPE"""
577      import libsvn.core, weakref
578      self.__dict__["_parent_pool"] = \
579        parent_pool or libsvn.core.application_pool;
580      if self.__dict__["_parent_pool"]:
581        self.__dict__["_is_valid"] = weakref.ref(
582          self.__dict__["_parent_pool"]._is_valid)
583
584    def assert_valid(self):
585      """Assert that this object is using valid pool memory"""
586      if "_is_valid" in self.__dict__:
587        assert self.__dict__["_is_valid"](), "Variable has already been deleted"
588
589    def _retrieve_swig_value(self, name, value):
590    # If we got back a different object than we have cached, we need to copy
591    # all our metadata into it, so that it looks identical to the one
592    # originally set.
593      members = self.__dict__.get('_members')
594      if members is not None and name in members:
595        _copy_metadata_deep(value, members[name])
596
597    # Verify that the new object is good
598      _assert_valid_deep(value)
599
600      return value
601
602    # Attribute access must be intercepted to ensure that objects coming from
603    # read attribute access match those that are set with write attribute access.
604    # Specifically the metadata, such as the associated apr_pool object, should
605    # match the originally assigned object.
606    #
607    # For classic classes it is enough to use __getattr__ to intercept swig
608    # derived attributes. However, with new style classes SWIG makes use of
609    # descriptors which mean that __getattr__ is never called. Therefore,
610    # __getattribute__ must be used for the interception.
611
612    if _newclass:
613      def __getattribute__(self, name):
614        """Manage access to all attributes of this object."""
615
616    # Start by mimicing __getattr__ behavior: immediately return __dict__ or
617    # items directly present in __dict__
618        mydict = object.__getattribute__(self, '__dict__')
619
620        if name == "__dict__":
621          return mydict
622
623        if name in mydict:
624          return mydict[name]
625
626        object.__getattribute__(self, 'assert_valid')()
627
628        value = _get_instance_attr(self, name)
629        fn = object.__getattribute__(self, '_retrieve_swig_value')
630        return fn(name, value)
631    else:
632      def __getattr__(self, name):
633        """Get an attribute from this object"""
634        self.assert_valid()
635
636        value = _swig_getattr(self, self.__class__, name)
637
638        return self._retrieve_swig_value(name, value)
639
640    def __setattr__(self, name, value):
641      """Set an attribute on this object"""
642      self.assert_valid()
643
644    # Save a copy of the object, so that the garbage
645    # collector won't kill the object while it's in
646    # SWIG-land
647      self.__dict__.setdefault("_members",{})[name] = value
648
649      return _set_instance_attr(self, name, value)
650
651
652    def __init__(self):
653        """__init__(svn_diff_file_options_t self) -> svn_diff_file_options_t"""
654        this = _diff.new_svn_diff_file_options_t()
655        try:
656            self.this.append(this)
657        except __builtin__.Exception:
658            self.this = this
659    __swig_destroy__ = _diff.delete_svn_diff_file_options_t
660    __del__ = lambda self: None
661svn_diff_file_options_t_swigregister = _diff.svn_diff_file_options_t_swigregister
662svn_diff_file_options_t_swigregister(svn_diff_file_options_t)
663
664
665def svn_diff_file_options_create(*args) -> "svn_diff_file_options_t *":
666    """svn_diff_file_options_create(apr_pool_t pool) -> svn_diff_file_options_t"""
667    return _diff.svn_diff_file_options_create(*args)
668
669def svn_diff_file_options_parse(*args) -> "svn_error_t *":
670    """svn_diff_file_options_parse(svn_diff_file_options_t options, apr_array_header_t args, apr_pool_t pool) -> svn_error_t"""
671    return _diff.svn_diff_file_options_parse(*args)
672
673def svn_diff_file_diff_2(*args) -> "svn_diff_t **":
674    """svn_diff_file_diff_2(char const * original, char const * modified, svn_diff_file_options_t options, apr_pool_t pool) -> svn_error_t"""
675    return _diff.svn_diff_file_diff_2(*args)
676
677def svn_diff_file_diff(*args) -> "svn_diff_t **":
678    """svn_diff_file_diff(char const * original, char const * modified, apr_pool_t pool) -> svn_error_t"""
679    return _diff.svn_diff_file_diff(*args)
680
681def svn_diff_file_diff3_2(*args) -> "svn_diff_t **":
682    """svn_diff_file_diff3_2(char const * original, char const * modified, char const * latest, svn_diff_file_options_t options, apr_pool_t pool) -> svn_error_t"""
683    return _diff.svn_diff_file_diff3_2(*args)
684
685def svn_diff_file_diff3(*args) -> "svn_diff_t **":
686    """svn_diff_file_diff3(char const * original, char const * modified, char const * latest, apr_pool_t pool) -> svn_error_t"""
687    return _diff.svn_diff_file_diff3(*args)
688
689def svn_diff_file_diff4_2(*args) -> "svn_diff_t **":
690    """svn_diff_file_diff4_2(char const * original, char const * modified, char const * latest, char const * ancestor, svn_diff_file_options_t options, apr_pool_t pool) -> svn_error_t"""
691    return _diff.svn_diff_file_diff4_2(*args)
692
693def svn_diff_file_diff4(*args) -> "svn_diff_t **":
694    """svn_diff_file_diff4(char const * original, char const * modified, char const * latest, char const * ancestor, apr_pool_t pool) -> svn_error_t"""
695    return _diff.svn_diff_file_diff4(*args)
696
697def svn_diff_file_output_unified4(*args) -> "svn_error_t *":
698    """svn_diff_file_output_unified4(svn_stream_t * output_stream, svn_diff_t * diff, char const * original_path, char const * modified_path, char const * original_header, char const * modified_header, char const * header_encoding, char const * relative_to_dir, svn_boolean_t show_c_function, int context_size, svn_cancel_func_t cancel_func, apr_pool_t scratch_pool) -> svn_error_t"""
699    return _diff.svn_diff_file_output_unified4(*args)
700
701def svn_diff_file_output_unified3(*args) -> "svn_error_t *":
702    """svn_diff_file_output_unified3(svn_stream_t * output_stream, svn_diff_t * diff, char const * original_path, char const * modified_path, char const * original_header, char const * modified_header, char const * header_encoding, char const * relative_to_dir, svn_boolean_t show_c_function, apr_pool_t pool) -> svn_error_t"""
703    return _diff.svn_diff_file_output_unified3(*args)
704
705def svn_diff_file_output_unified2(*args) -> "svn_error_t *":
706    """svn_diff_file_output_unified2(svn_stream_t * output_stream, svn_diff_t * diff, char const * original_path, char const * modified_path, char const * original_header, char const * modified_header, char const * header_encoding, apr_pool_t pool) -> svn_error_t"""
707    return _diff.svn_diff_file_output_unified2(*args)
708
709def svn_diff_file_output_unified(*args) -> "svn_error_t *":
710    """svn_diff_file_output_unified(svn_stream_t * output_stream, svn_diff_t * diff, char const * original_path, char const * modified_path, char const * original_header, char const * modified_header, apr_pool_t pool) -> svn_error_t"""
711    return _diff.svn_diff_file_output_unified(*args)
712
713def svn_diff_file_output_merge3(*args) -> "svn_error_t *":
714    """svn_diff_file_output_merge3(svn_stream_t * output_stream, svn_diff_t * diff, char const * original_path, char const * modified_path, char const * latest_path, char const * conflict_original, char const * conflict_modified, char const * conflict_latest, char const * conflict_separator, svn_diff_conflict_display_style_t conflict_style, svn_cancel_func_t cancel_func, apr_pool_t scratch_pool) -> svn_error_t"""
715    return _diff.svn_diff_file_output_merge3(*args)
716
717def svn_diff_file_output_merge2(*args) -> "svn_error_t *":
718    """svn_diff_file_output_merge2(svn_stream_t * output_stream, svn_diff_t * diff, char const * original_path, char const * modified_path, char const * latest_path, char const * conflict_original, char const * conflict_modified, char const * conflict_latest, char const * conflict_separator, svn_diff_conflict_display_style_t conflict_style, apr_pool_t pool) -> svn_error_t"""
719    return _diff.svn_diff_file_output_merge2(*args)
720
721def svn_diff_file_output_merge(*args) -> "svn_error_t *":
722    """svn_diff_file_output_merge(svn_stream_t * output_stream, svn_diff_t * diff, char const * original_path, char const * modified_path, char const * latest_path, char const * conflict_original, char const * conflict_modified, char const * conflict_latest, char const * conflict_separator, svn_boolean_t display_original_in_conflict, svn_boolean_t display_resolved_conflicts, apr_pool_t pool) -> svn_error_t"""
723    return _diff.svn_diff_file_output_merge(*args)
724
725def svn_diff_output_binary(*args) -> "svn_error_t *":
726    """svn_diff_output_binary(svn_stream_t * output_stream, svn_stream_t * original, svn_stream_t * latest, svn_cancel_func_t cancel_func, apr_pool_t scratch_pool) -> svn_error_t"""
727    return _diff.svn_diff_output_binary(*args)
728
729def svn_diff_mem_string_diff(*args) -> "svn_diff_t **":
730    """svn_diff_mem_string_diff(svn_string_t const * original, svn_string_t const * modified, svn_diff_file_options_t options, apr_pool_t pool) -> svn_error_t"""
731    return _diff.svn_diff_mem_string_diff(*args)
732
733def svn_diff_mem_string_diff3(*args) -> "svn_diff_t **":
734    """svn_diff_mem_string_diff3(svn_string_t const * original, svn_string_t const * modified, svn_string_t const * latest, svn_diff_file_options_t options, apr_pool_t pool) -> svn_error_t"""
735    return _diff.svn_diff_mem_string_diff3(*args)
736
737def svn_diff_mem_string_diff4(*args) -> "svn_diff_t **":
738    """svn_diff_mem_string_diff4(svn_string_t const * original, svn_string_t const * modified, svn_string_t const * latest, svn_string_t const * ancestor, svn_diff_file_options_t options, apr_pool_t pool) -> svn_error_t"""
739    return _diff.svn_diff_mem_string_diff4(*args)
740
741def svn_diff_mem_string_output_unified3(*args) -> "svn_error_t *":
742    """svn_diff_mem_string_output_unified3(svn_stream_t * output_stream, svn_diff_t * diff, svn_boolean_t with_diff_header, char const * hunk_delimiter, char const * original_header, char const * modified_header, char const * header_encoding, svn_string_t const * original, svn_string_t const * modified, int context_size, svn_cancel_func_t cancel_func, apr_pool_t scratch_pool) -> svn_error_t"""
743    return _diff.svn_diff_mem_string_output_unified3(*args)
744
745def svn_diff_mem_string_output_unified2(*args) -> "svn_error_t *":
746    """svn_diff_mem_string_output_unified2(svn_stream_t * output_stream, svn_diff_t * diff, svn_boolean_t with_diff_header, char const * hunk_delimiter, char const * original_header, char const * modified_header, char const * header_encoding, svn_string_t const * original, svn_string_t const * modified, apr_pool_t pool) -> svn_error_t"""
747    return _diff.svn_diff_mem_string_output_unified2(*args)
748
749def svn_diff_mem_string_output_unified(*args) -> "svn_error_t *":
750    """svn_diff_mem_string_output_unified(svn_stream_t * output_stream, svn_diff_t * diff, char const * original_header, char const * modified_header, char const * header_encoding, svn_string_t const * original, svn_string_t const * modified, apr_pool_t pool) -> svn_error_t"""
751    return _diff.svn_diff_mem_string_output_unified(*args)
752
753def svn_diff_mem_string_output_merge3(*args) -> "svn_error_t *":
754    """svn_diff_mem_string_output_merge3(svn_stream_t * output_stream, svn_diff_t * diff, svn_string_t const * original, svn_string_t const * modified, svn_string_t const * latest, char const * conflict_original, char const * conflict_modified, char const * conflict_latest, char const * conflict_separator, svn_diff_conflict_display_style_t style, svn_cancel_func_t cancel_func, apr_pool_t scratch_pool) -> svn_error_t"""
755    return _diff.svn_diff_mem_string_output_merge3(*args)
756
757def svn_diff_mem_string_output_merge2(*args) -> "svn_error_t *":
758    """svn_diff_mem_string_output_merge2(svn_stream_t * output_stream, svn_diff_t * diff, svn_string_t const * original, svn_string_t const * modified, svn_string_t const * latest, char const * conflict_original, char const * conflict_modified, char const * conflict_latest, char const * conflict_separator, svn_diff_conflict_display_style_t style, apr_pool_t pool) -> svn_error_t"""
759    return _diff.svn_diff_mem_string_output_merge2(*args)
760
761def svn_diff_mem_string_output_merge(*args) -> "svn_error_t *":
762    """svn_diff_mem_string_output_merge(svn_stream_t * output_stream, svn_diff_t * diff, svn_string_t const * original, svn_string_t const * modified, svn_string_t const * latest, char const * conflict_original, char const * conflict_modified, char const * conflict_latest, char const * conflict_separator, svn_boolean_t display_original_in_conflict, svn_boolean_t display_resolved_conflicts, apr_pool_t pool) -> svn_error_t"""
763    return _diff.svn_diff_mem_string_output_merge(*args)
764svn_diff_op_unchanged = _diff.svn_diff_op_unchanged
765svn_diff_op_added = _diff.svn_diff_op_added
766svn_diff_op_deleted = _diff.svn_diff_op_deleted
767svn_diff_op_copied = _diff.svn_diff_op_copied
768svn_diff_op_moved = _diff.svn_diff_op_moved
769svn_diff_op_modified = _diff.svn_diff_op_modified
770
771def svn_diff_hunk_readline_diff_text(*args) -> "svn_stringbuf_t **, char const **, svn_boolean_t *":
772    """svn_diff_hunk_readline_diff_text(svn_diff_hunk_t * hunk, apr_pool_t result_pool, apr_pool_t scratch_pool) -> svn_error_t"""
773    return _diff.svn_diff_hunk_readline_diff_text(*args)
774
775def svn_diff_hunk_readline_original_text(*args) -> "svn_stringbuf_t **, char const **, svn_boolean_t *":
776    """svn_diff_hunk_readline_original_text(svn_diff_hunk_t * hunk, apr_pool_t result_pool, apr_pool_t scratch_pool) -> svn_error_t"""
777    return _diff.svn_diff_hunk_readline_original_text(*args)
778
779def svn_diff_hunk_readline_modified_text(*args) -> "svn_stringbuf_t **, char const **, svn_boolean_t *":
780    """svn_diff_hunk_readline_modified_text(svn_diff_hunk_t * hunk, apr_pool_t result_pool, apr_pool_t scratch_pool) -> svn_error_t"""
781    return _diff.svn_diff_hunk_readline_modified_text(*args)
782
783def svn_diff_hunk_reset_diff_text(hunk: 'svn_diff_hunk_t *') -> "void":
784    """svn_diff_hunk_reset_diff_text(svn_diff_hunk_t * hunk)"""
785    return _diff.svn_diff_hunk_reset_diff_text(hunk)
786
787def svn_diff_hunk_reset_original_text(hunk: 'svn_diff_hunk_t *') -> "void":
788    """svn_diff_hunk_reset_original_text(svn_diff_hunk_t * hunk)"""
789    return _diff.svn_diff_hunk_reset_original_text(hunk)
790
791def svn_diff_hunk_reset_modified_text(hunk: 'svn_diff_hunk_t *') -> "void":
792    """svn_diff_hunk_reset_modified_text(svn_diff_hunk_t * hunk)"""
793    return _diff.svn_diff_hunk_reset_modified_text(hunk)
794
795def svn_diff_hunk_get_original_start(hunk: 'svn_diff_hunk_t const *') -> "svn_linenum_t":
796    """svn_diff_hunk_get_original_start(svn_diff_hunk_t const * hunk) -> svn_linenum_t"""
797    return _diff.svn_diff_hunk_get_original_start(hunk)
798
799def svn_diff_hunk_get_original_length(hunk: 'svn_diff_hunk_t const *') -> "svn_linenum_t":
800    """svn_diff_hunk_get_original_length(svn_diff_hunk_t const * hunk) -> svn_linenum_t"""
801    return _diff.svn_diff_hunk_get_original_length(hunk)
802
803def svn_diff_hunk_get_modified_start(hunk: 'svn_diff_hunk_t const *') -> "svn_linenum_t":
804    """svn_diff_hunk_get_modified_start(svn_diff_hunk_t const * hunk) -> svn_linenum_t"""
805    return _diff.svn_diff_hunk_get_modified_start(hunk)
806
807def svn_diff_hunk_get_modified_length(hunk: 'svn_diff_hunk_t const *') -> "svn_linenum_t":
808    """svn_diff_hunk_get_modified_length(svn_diff_hunk_t const * hunk) -> svn_linenum_t"""
809    return _diff.svn_diff_hunk_get_modified_length(hunk)
810
811def svn_diff_hunk_get_leading_context(hunk: 'svn_diff_hunk_t const *') -> "svn_linenum_t":
812    """svn_diff_hunk_get_leading_context(svn_diff_hunk_t const * hunk) -> svn_linenum_t"""
813    return _diff.svn_diff_hunk_get_leading_context(hunk)
814
815def svn_diff_hunk_get_trailing_context(hunk: 'svn_diff_hunk_t const *') -> "svn_linenum_t":
816    """svn_diff_hunk_get_trailing_context(svn_diff_hunk_t const * hunk) -> svn_linenum_t"""
817    return _diff.svn_diff_hunk_get_trailing_context(hunk)
818class svn_prop_patch_t(object):
819    """Proxy of C svn_prop_patch_t struct."""
820
821    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
822    __repr__ = _swig_repr
823    name = _swig_property(_diff.svn_prop_patch_t_name_get, _diff.svn_prop_patch_t_name_set)
824    operation = _swig_property(_diff.svn_prop_patch_t_operation_get, _diff.svn_prop_patch_t_operation_set)
825    hunks = _swig_property(_diff.svn_prop_patch_t_hunks_get, _diff.svn_prop_patch_t_hunks_set)
826    def set_parent_pool(self, parent_pool=None):
827      """Create a new proxy object for TYPE"""
828      import libsvn.core, weakref
829      self.__dict__["_parent_pool"] = \
830        parent_pool or libsvn.core.application_pool;
831      if self.__dict__["_parent_pool"]:
832        self.__dict__["_is_valid"] = weakref.ref(
833          self.__dict__["_parent_pool"]._is_valid)
834
835    def assert_valid(self):
836      """Assert that this object is using valid pool memory"""
837      if "_is_valid" in self.__dict__:
838        assert self.__dict__["_is_valid"](), "Variable has already been deleted"
839
840    def _retrieve_swig_value(self, name, value):
841    # If we got back a different object than we have cached, we need to copy
842    # all our metadata into it, so that it looks identical to the one
843    # originally set.
844      members = self.__dict__.get('_members')
845      if members is not None and name in members:
846        _copy_metadata_deep(value, members[name])
847
848    # Verify that the new object is good
849      _assert_valid_deep(value)
850
851      return value
852
853    # Attribute access must be intercepted to ensure that objects coming from
854    # read attribute access match those that are set with write attribute access.
855    # Specifically the metadata, such as the associated apr_pool object, should
856    # match the originally assigned object.
857    #
858    # For classic classes it is enough to use __getattr__ to intercept swig
859    # derived attributes. However, with new style classes SWIG makes use of
860    # descriptors which mean that __getattr__ is never called. Therefore,
861    # __getattribute__ must be used for the interception.
862
863    if _newclass:
864      def __getattribute__(self, name):
865        """Manage access to all attributes of this object."""
866
867    # Start by mimicing __getattr__ behavior: immediately return __dict__ or
868    # items directly present in __dict__
869        mydict = object.__getattribute__(self, '__dict__')
870
871        if name == "__dict__":
872          return mydict
873
874        if name in mydict:
875          return mydict[name]
876
877        object.__getattribute__(self, 'assert_valid')()
878
879        value = _get_instance_attr(self, name)
880        fn = object.__getattribute__(self, '_retrieve_swig_value')
881        return fn(name, value)
882    else:
883      def __getattr__(self, name):
884        """Get an attribute from this object"""
885        self.assert_valid()
886
887        value = _swig_getattr(self, self.__class__, name)
888
889        return self._retrieve_swig_value(name, value)
890
891    def __setattr__(self, name, value):
892      """Set an attribute on this object"""
893      self.assert_valid()
894
895    # Save a copy of the object, so that the garbage
896    # collector won't kill the object while it's in
897    # SWIG-land
898      self.__dict__.setdefault("_members",{})[name] = value
899
900      return _set_instance_attr(self, name, value)
901
902
903    def __init__(self):
904        """__init__(svn_prop_patch_t self) -> svn_prop_patch_t"""
905        this = _diff.new_svn_prop_patch_t()
906        try:
907            self.this.append(this)
908        except __builtin__.Exception:
909            self.this = this
910    __swig_destroy__ = _diff.delete_svn_prop_patch_t
911    __del__ = lambda self: None
912svn_prop_patch_t_swigregister = _diff.svn_prop_patch_t_swigregister
913svn_prop_patch_t_swigregister(svn_prop_patch_t)
914
915
916def svn_diff_get_binary_diff_original_stream(*args) -> "svn_stream_t *":
917    """svn_diff_get_binary_diff_original_stream(svn_diff_binary_patch_t const * bpatch, apr_pool_t result_pool) -> svn_stream_t *"""
918    return _diff.svn_diff_get_binary_diff_original_stream(*args)
919
920def svn_diff_get_binary_diff_result_stream(*args) -> "svn_stream_t *":
921    """svn_diff_get_binary_diff_result_stream(svn_diff_binary_patch_t const * bpatch, apr_pool_t result_pool) -> svn_stream_t *"""
922    return _diff.svn_diff_get_binary_diff_result_stream(*args)
923class svn_patch_t(object):
924    """Proxy of C svn_patch_t struct."""
925
926    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
927    __repr__ = _swig_repr
928    old_filename = _swig_property(_diff.svn_patch_t_old_filename_get, _diff.svn_patch_t_old_filename_set)
929    new_filename = _swig_property(_diff.svn_patch_t_new_filename_get, _diff.svn_patch_t_new_filename_set)
930    hunks = _swig_property(_diff.svn_patch_t_hunks_get, _diff.svn_patch_t_hunks_set)
931    prop_patches = _swig_property(_diff.svn_patch_t_prop_patches_get, _diff.svn_patch_t_prop_patches_set)
932    operation = _swig_property(_diff.svn_patch_t_operation_get, _diff.svn_patch_t_operation_set)
933    reverse = _swig_property(_diff.svn_patch_t_reverse_get, _diff.svn_patch_t_reverse_set)
934    mergeinfo = _swig_property(_diff.svn_patch_t_mergeinfo_get, _diff.svn_patch_t_mergeinfo_set)
935    reverse_mergeinfo = _swig_property(_diff.svn_patch_t_reverse_mergeinfo_get, _diff.svn_patch_t_reverse_mergeinfo_set)
936    binary_patch = _swig_property(_diff.svn_patch_t_binary_patch_get, _diff.svn_patch_t_binary_patch_set)
937    old_executable_bit = _swig_property(_diff.svn_patch_t_old_executable_bit_get, _diff.svn_patch_t_old_executable_bit_set)
938    new_executable_bit = _swig_property(_diff.svn_patch_t_new_executable_bit_get, _diff.svn_patch_t_new_executable_bit_set)
939    old_symlink_bit = _swig_property(_diff.svn_patch_t_old_symlink_bit_get, _diff.svn_patch_t_old_symlink_bit_set)
940    new_symlink_bit = _swig_property(_diff.svn_patch_t_new_symlink_bit_get, _diff.svn_patch_t_new_symlink_bit_set)
941    def set_parent_pool(self, parent_pool=None):
942      """Create a new proxy object for TYPE"""
943      import libsvn.core, weakref
944      self.__dict__["_parent_pool"] = \
945        parent_pool or libsvn.core.application_pool;
946      if self.__dict__["_parent_pool"]:
947        self.__dict__["_is_valid"] = weakref.ref(
948          self.__dict__["_parent_pool"]._is_valid)
949
950    def assert_valid(self):
951      """Assert that this object is using valid pool memory"""
952      if "_is_valid" in self.__dict__:
953        assert self.__dict__["_is_valid"](), "Variable has already been deleted"
954
955    def _retrieve_swig_value(self, name, value):
956    # If we got back a different object than we have cached, we need to copy
957    # all our metadata into it, so that it looks identical to the one
958    # originally set.
959      members = self.__dict__.get('_members')
960      if members is not None and name in members:
961        _copy_metadata_deep(value, members[name])
962
963    # Verify that the new object is good
964      _assert_valid_deep(value)
965
966      return value
967
968    # Attribute access must be intercepted to ensure that objects coming from
969    # read attribute access match those that are set with write attribute access.
970    # Specifically the metadata, such as the associated apr_pool object, should
971    # match the originally assigned object.
972    #
973    # For classic classes it is enough to use __getattr__ to intercept swig
974    # derived attributes. However, with new style classes SWIG makes use of
975    # descriptors which mean that __getattr__ is never called. Therefore,
976    # __getattribute__ must be used for the interception.
977
978    if _newclass:
979      def __getattribute__(self, name):
980        """Manage access to all attributes of this object."""
981
982    # Start by mimicing __getattr__ behavior: immediately return __dict__ or
983    # items directly present in __dict__
984        mydict = object.__getattribute__(self, '__dict__')
985
986        if name == "__dict__":
987          return mydict
988
989        if name in mydict:
990          return mydict[name]
991
992        object.__getattribute__(self, 'assert_valid')()
993
994        value = _get_instance_attr(self, name)
995        fn = object.__getattribute__(self, '_retrieve_swig_value')
996        return fn(name, value)
997    else:
998      def __getattr__(self, name):
999        """Get an attribute from this object"""
1000        self.assert_valid()
1001
1002        value = _swig_getattr(self, self.__class__, name)
1003
1004        return self._retrieve_swig_value(name, value)
1005
1006    def __setattr__(self, name, value):
1007      """Set an attribute on this object"""
1008      self.assert_valid()
1009
1010    # Save a copy of the object, so that the garbage
1011    # collector won't kill the object while it's in
1012    # SWIG-land
1013      self.__dict__.setdefault("_members",{})[name] = value
1014
1015      return _set_instance_attr(self, name, value)
1016
1017
1018    def __init__(self):
1019        """__init__(svn_patch_t self) -> svn_patch_t"""
1020        this = _diff.new_svn_patch_t()
1021        try:
1022            self.this.append(this)
1023        except __builtin__.Exception:
1024            self.this = this
1025    __swig_destroy__ = _diff.delete_svn_patch_t
1026    __del__ = lambda self: None
1027svn_patch_t_swigregister = _diff.svn_patch_t_swigregister
1028svn_patch_t_swigregister(svn_patch_t)
1029
1030
1031def svn_diff_open_patch_file(*args) -> "svn_patch_file_t **":
1032    """svn_diff_open_patch_file(char const * local_abspath, apr_pool_t result_pool) -> svn_error_t"""
1033    return _diff.svn_diff_open_patch_file(*args)
1034
1035def svn_diff_parse_next_patch(*args) -> "svn_patch_t **":
1036    """svn_diff_parse_next_patch(svn_patch_file_t * patch_file, svn_boolean_t reverse, svn_boolean_t ignore_whitespace, apr_pool_t result_pool, apr_pool_t scratch_pool) -> svn_error_t"""
1037    return _diff.svn_diff_parse_next_patch(*args)
1038
1039def svn_diff_close_patch_file(*args) -> "svn_error_t *":
1040    """svn_diff_close_patch_file(svn_patch_file_t * patch_file, apr_pool_t scratch_pool) -> svn_error_t"""
1041    return _diff.svn_diff_close_patch_file(*args)
1042class svn_diff_t(object):
1043    """Proxy of C svn_diff_t struct."""
1044
1045    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
1046
1047    def __init__(self, *args, **kwargs):
1048        raise AttributeError("No constructor defined")
1049    __repr__ = _swig_repr
1050    def set_parent_pool(self, parent_pool=None):
1051      """Create a new proxy object for TYPE"""
1052      import libsvn.core, weakref
1053      self.__dict__["_parent_pool"] = \
1054        parent_pool or libsvn.core.application_pool;
1055      if self.__dict__["_parent_pool"]:
1056        self.__dict__["_is_valid"] = weakref.ref(
1057          self.__dict__["_parent_pool"]._is_valid)
1058
1059    def assert_valid(self):
1060      """Assert that this object is using valid pool memory"""
1061      if "_is_valid" in self.__dict__:
1062        assert self.__dict__["_is_valid"](), "Variable has already been deleted"
1063
1064    def _retrieve_swig_value(self, name, value):
1065    # If we got back a different object than we have cached, we need to copy
1066    # all our metadata into it, so that it looks identical to the one
1067    # originally set.
1068      members = self.__dict__.get('_members')
1069      if members is not None and name in members:
1070        _copy_metadata_deep(value, members[name])
1071
1072    # Verify that the new object is good
1073      _assert_valid_deep(value)
1074
1075      return value
1076
1077    # Attribute access must be intercepted to ensure that objects coming from
1078    # read attribute access match those that are set with write attribute access.
1079    # Specifically the metadata, such as the associated apr_pool object, should
1080    # match the originally assigned object.
1081    #
1082    # For classic classes it is enough to use __getattr__ to intercept swig
1083    # derived attributes. However, with new style classes SWIG makes use of
1084    # descriptors which mean that __getattr__ is never called. Therefore,
1085    # __getattribute__ must be used for the interception.
1086
1087    if _newclass:
1088      def __getattribute__(self, name):
1089        """Manage access to all attributes of this object."""
1090
1091    # Start by mimicing __getattr__ behavior: immediately return __dict__ or
1092    # items directly present in __dict__
1093        mydict = object.__getattribute__(self, '__dict__')
1094
1095        if name == "__dict__":
1096          return mydict
1097
1098        if name in mydict:
1099          return mydict[name]
1100
1101        object.__getattribute__(self, 'assert_valid')()
1102
1103        value = _get_instance_attr(self, name)
1104        fn = object.__getattribute__(self, '_retrieve_swig_value')
1105        return fn(name, value)
1106    else:
1107      def __getattr__(self, name):
1108        """Get an attribute from this object"""
1109        self.assert_valid()
1110
1111        value = _swig_getattr(self, self.__class__, name)
1112
1113        return self._retrieve_swig_value(name, value)
1114
1115    def __setattr__(self, name, value):
1116      """Set an attribute on this object"""
1117      self.assert_valid()
1118
1119    # Save a copy of the object, so that the garbage
1120    # collector won't kill the object while it's in
1121    # SWIG-land
1122      self.__dict__.setdefault("_members",{})[name] = value
1123
1124      return _set_instance_attr(self, name, value)
1125
1126svn_diff_t_swigregister = _diff.svn_diff_t_swigregister
1127svn_diff_t_swigregister(svn_diff_t)
1128
1129class svn_diff_hunk_t(object):
1130    """Proxy of C svn_diff_hunk_t struct."""
1131
1132    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
1133
1134    def __init__(self, *args, **kwargs):
1135        raise AttributeError("No constructor defined")
1136    __repr__ = _swig_repr
1137    def set_parent_pool(self, parent_pool=None):
1138      """Create a new proxy object for TYPE"""
1139      import libsvn.core, weakref
1140      self.__dict__["_parent_pool"] = \
1141        parent_pool or libsvn.core.application_pool;
1142      if self.__dict__["_parent_pool"]:
1143        self.__dict__["_is_valid"] = weakref.ref(
1144          self.__dict__["_parent_pool"]._is_valid)
1145
1146    def assert_valid(self):
1147      """Assert that this object is using valid pool memory"""
1148      if "_is_valid" in self.__dict__:
1149        assert self.__dict__["_is_valid"](), "Variable has already been deleted"
1150
1151    def _retrieve_swig_value(self, name, value):
1152    # If we got back a different object than we have cached, we need to copy
1153    # all our metadata into it, so that it looks identical to the one
1154    # originally set.
1155      members = self.__dict__.get('_members')
1156      if members is not None and name in members:
1157        _copy_metadata_deep(value, members[name])
1158
1159    # Verify that the new object is good
1160      _assert_valid_deep(value)
1161
1162      return value
1163
1164    # Attribute access must be intercepted to ensure that objects coming from
1165    # read attribute access match those that are set with write attribute access.
1166    # Specifically the metadata, such as the associated apr_pool object, should
1167    # match the originally assigned object.
1168    #
1169    # For classic classes it is enough to use __getattr__ to intercept swig
1170    # derived attributes. However, with new style classes SWIG makes use of
1171    # descriptors which mean that __getattr__ is never called. Therefore,
1172    # __getattribute__ must be used for the interception.
1173
1174    if _newclass:
1175      def __getattribute__(self, name):
1176        """Manage access to all attributes of this object."""
1177
1178    # Start by mimicing __getattr__ behavior: immediately return __dict__ or
1179    # items directly present in __dict__
1180        mydict = object.__getattribute__(self, '__dict__')
1181
1182        if name == "__dict__":
1183          return mydict
1184
1185        if name in mydict:
1186          return mydict[name]
1187
1188        object.__getattribute__(self, 'assert_valid')()
1189
1190        value = _get_instance_attr(self, name)
1191        fn = object.__getattribute__(self, '_retrieve_swig_value')
1192        return fn(name, value)
1193    else:
1194      def __getattr__(self, name):
1195        """Get an attribute from this object"""
1196        self.assert_valid()
1197
1198        value = _swig_getattr(self, self.__class__, name)
1199
1200        return self._retrieve_swig_value(name, value)
1201
1202    def __setattr__(self, name, value):
1203      """Set an attribute on this object"""
1204      self.assert_valid()
1205
1206    # Save a copy of the object, so that the garbage
1207    # collector won't kill the object while it's in
1208    # SWIG-land
1209      self.__dict__.setdefault("_members",{})[name] = value
1210
1211      return _set_instance_attr(self, name, value)
1212
1213svn_diff_hunk_t_swigregister = _diff.svn_diff_hunk_t_swigregister
1214svn_diff_hunk_t_swigregister(svn_diff_hunk_t)
1215
1216class svn_diff_binary_patch_t(object):
1217    """Proxy of C svn_diff_binary_patch_t struct."""
1218
1219    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
1220
1221    def __init__(self, *args, **kwargs):
1222        raise AttributeError("No constructor defined")
1223    __repr__ = _swig_repr
1224    def set_parent_pool(self, parent_pool=None):
1225      """Create a new proxy object for TYPE"""
1226      import libsvn.core, weakref
1227      self.__dict__["_parent_pool"] = \
1228        parent_pool or libsvn.core.application_pool;
1229      if self.__dict__["_parent_pool"]:
1230        self.__dict__["_is_valid"] = weakref.ref(
1231          self.__dict__["_parent_pool"]._is_valid)
1232
1233    def assert_valid(self):
1234      """Assert that this object is using valid pool memory"""
1235      if "_is_valid" in self.__dict__:
1236        assert self.__dict__["_is_valid"](), "Variable has already been deleted"
1237
1238    def _retrieve_swig_value(self, name, value):
1239    # If we got back a different object than we have cached, we need to copy
1240    # all our metadata into it, so that it looks identical to the one
1241    # originally set.
1242      members = self.__dict__.get('_members')
1243      if members is not None and name in members:
1244        _copy_metadata_deep(value, members[name])
1245
1246    # Verify that the new object is good
1247      _assert_valid_deep(value)
1248
1249      return value
1250
1251    # Attribute access must be intercepted to ensure that objects coming from
1252    # read attribute access match those that are set with write attribute access.
1253    # Specifically the metadata, such as the associated apr_pool object, should
1254    # match the originally assigned object.
1255    #
1256    # For classic classes it is enough to use __getattr__ to intercept swig
1257    # derived attributes. However, with new style classes SWIG makes use of
1258    # descriptors which mean that __getattr__ is never called. Therefore,
1259    # __getattribute__ must be used for the interception.
1260
1261    if _newclass:
1262      def __getattribute__(self, name):
1263        """Manage access to all attributes of this object."""
1264
1265    # Start by mimicing __getattr__ behavior: immediately return __dict__ or
1266    # items directly present in __dict__
1267        mydict = object.__getattribute__(self, '__dict__')
1268
1269        if name == "__dict__":
1270          return mydict
1271
1272        if name in mydict:
1273          return mydict[name]
1274
1275        object.__getattribute__(self, 'assert_valid')()
1276
1277        value = _get_instance_attr(self, name)
1278        fn = object.__getattribute__(self, '_retrieve_swig_value')
1279        return fn(name, value)
1280    else:
1281      def __getattr__(self, name):
1282        """Get an attribute from this object"""
1283        self.assert_valid()
1284
1285        value = _swig_getattr(self, self.__class__, name)
1286
1287        return self._retrieve_swig_value(name, value)
1288
1289    def __setattr__(self, name, value):
1290      """Set an attribute on this object"""
1291      self.assert_valid()
1292
1293    # Save a copy of the object, so that the garbage
1294    # collector won't kill the object while it's in
1295    # SWIG-land
1296      self.__dict__.setdefault("_members",{})[name] = value
1297
1298      return _set_instance_attr(self, name, value)
1299
1300svn_diff_binary_patch_t_swigregister = _diff.svn_diff_binary_patch_t_swigregister
1301svn_diff_binary_patch_t_swigregister(svn_diff_binary_patch_t)
1302
1303class svn_patch_file_t(object):
1304    """Proxy of C svn_patch_file_t struct."""
1305
1306    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
1307
1308    def __init__(self, *args, **kwargs):
1309        raise AttributeError("No constructor defined")
1310    __repr__ = _swig_repr
1311    def set_parent_pool(self, parent_pool=None):
1312      """Create a new proxy object for TYPE"""
1313      import libsvn.core, weakref
1314      self.__dict__["_parent_pool"] = \
1315        parent_pool or libsvn.core.application_pool;
1316      if self.__dict__["_parent_pool"]:
1317        self.__dict__["_is_valid"] = weakref.ref(
1318          self.__dict__["_parent_pool"]._is_valid)
1319
1320    def assert_valid(self):
1321      """Assert that this object is using valid pool memory"""
1322      if "_is_valid" in self.__dict__:
1323        assert self.__dict__["_is_valid"](), "Variable has already been deleted"
1324
1325    def _retrieve_swig_value(self, name, value):
1326    # If we got back a different object than we have cached, we need to copy
1327    # all our metadata into it, so that it looks identical to the one
1328    # originally set.
1329      members = self.__dict__.get('_members')
1330      if members is not None and name in members:
1331        _copy_metadata_deep(value, members[name])
1332
1333    # Verify that the new object is good
1334      _assert_valid_deep(value)
1335
1336      return value
1337
1338    # Attribute access must be intercepted to ensure that objects coming from
1339    # read attribute access match those that are set with write attribute access.
1340    # Specifically the metadata, such as the associated apr_pool object, should
1341    # match the originally assigned object.
1342    #
1343    # For classic classes it is enough to use __getattr__ to intercept swig
1344    # derived attributes. However, with new style classes SWIG makes use of
1345    # descriptors which mean that __getattr__ is never called. Therefore,
1346    # __getattribute__ must be used for the interception.
1347
1348    if _newclass:
1349      def __getattribute__(self, name):
1350        """Manage access to all attributes of this object."""
1351
1352    # Start by mimicing __getattr__ behavior: immediately return __dict__ or
1353    # items directly present in __dict__
1354        mydict = object.__getattribute__(self, '__dict__')
1355
1356        if name == "__dict__":
1357          return mydict
1358
1359        if name in mydict:
1360          return mydict[name]
1361
1362        object.__getattribute__(self, 'assert_valid')()
1363
1364        value = _get_instance_attr(self, name)
1365        fn = object.__getattribute__(self, '_retrieve_swig_value')
1366        return fn(name, value)
1367    else:
1368      def __getattr__(self, name):
1369        """Get an attribute from this object"""
1370        self.assert_valid()
1371
1372        value = _swig_getattr(self, self.__class__, name)
1373
1374        return self._retrieve_swig_value(name, value)
1375
1376    def __setattr__(self, name, value):
1377      """Set an attribute on this object"""
1378      self.assert_valid()
1379
1380    # Save a copy of the object, so that the garbage
1381    # collector won't kill the object while it's in
1382    # SWIG-land
1383      self.__dict__.setdefault("_members",{})[name] = value
1384
1385      return _set_instance_attr(self, name, value)
1386
1387svn_patch_file_t_swigregister = _diff.svn_patch_file_t_swigregister
1388svn_patch_file_t_swigregister(svn_patch_file_t)
1389
1390
1391def svn_diff_fns2_invoke_datasources_open(_obj: 'svn_diff_fns2_t', diff_baton: 'void *', prefix_lines: 'apr_off_t *', suffix_lines: 'apr_off_t *', datasources: 'svn_diff_datasource_e const *', datasources_len: 'apr_size_t') -> "svn_error_t *":
1392    """svn_diff_fns2_invoke_datasources_open(svn_diff_fns2_t _obj, void * diff_baton, apr_off_t * prefix_lines, apr_off_t * suffix_lines, svn_diff_datasource_e const * datasources, apr_size_t datasources_len) -> svn_error_t"""
1393    return _diff.svn_diff_fns2_invoke_datasources_open(_obj, diff_baton, prefix_lines, suffix_lines, datasources, datasources_len)
1394
1395def svn_diff_fns2_invoke_datasource_close(_obj: 'svn_diff_fns2_t', diff_baton: 'void *', datasource: 'svn_diff_datasource_e') -> "svn_error_t *":
1396    """svn_diff_fns2_invoke_datasource_close(svn_diff_fns2_t _obj, void * diff_baton, svn_diff_datasource_e datasource) -> svn_error_t"""
1397    return _diff.svn_diff_fns2_invoke_datasource_close(_obj, diff_baton, datasource)
1398
1399def svn_diff_fns2_invoke_datasource_get_next_token(_obj: 'svn_diff_fns2_t', diff_baton: 'void *', datasource: 'svn_diff_datasource_e') -> "apr_uint32_t *, void **":
1400    """svn_diff_fns2_invoke_datasource_get_next_token(svn_diff_fns2_t _obj, void * diff_baton, svn_diff_datasource_e datasource) -> svn_error_t"""
1401    return _diff.svn_diff_fns2_invoke_datasource_get_next_token(_obj, diff_baton, datasource)
1402
1403def svn_diff_fns2_invoke_token_compare(_obj: 'svn_diff_fns2_t', diff_baton: 'void *', ltoken: 'void *', rtoken: 'void *') -> "int *":
1404    """svn_diff_fns2_invoke_token_compare(svn_diff_fns2_t _obj, void * diff_baton, void * ltoken, void * rtoken) -> svn_error_t"""
1405    return _diff.svn_diff_fns2_invoke_token_compare(_obj, diff_baton, ltoken, rtoken)
1406
1407def svn_diff_fns2_invoke_token_discard(_obj: 'svn_diff_fns2_t', diff_baton: 'void *', token: 'void *') -> "void":
1408    """svn_diff_fns2_invoke_token_discard(svn_diff_fns2_t _obj, void * diff_baton, void * token)"""
1409    return _diff.svn_diff_fns2_invoke_token_discard(_obj, diff_baton, token)
1410
1411def svn_diff_fns2_invoke_token_discard_all(_obj: 'svn_diff_fns2_t', diff_baton: 'void *') -> "void":
1412    """svn_diff_fns2_invoke_token_discard_all(svn_diff_fns2_t _obj, void * diff_baton)"""
1413    return _diff.svn_diff_fns2_invoke_token_discard_all(_obj, diff_baton)
1414
1415def svn_diff_fns_invoke_datasource_open(_obj: 'svn_diff_fns_t', diff_baton: 'void *', datasource: 'svn_diff_datasource_e') -> "svn_error_t *":
1416    """svn_diff_fns_invoke_datasource_open(svn_diff_fns_t _obj, void * diff_baton, svn_diff_datasource_e datasource) -> svn_error_t"""
1417    return _diff.svn_diff_fns_invoke_datasource_open(_obj, diff_baton, datasource)
1418
1419def svn_diff_fns_invoke_datasource_close(_obj: 'svn_diff_fns_t', diff_baton: 'void *', datasource: 'svn_diff_datasource_e') -> "svn_error_t *":
1420    """svn_diff_fns_invoke_datasource_close(svn_diff_fns_t _obj, void * diff_baton, svn_diff_datasource_e datasource) -> svn_error_t"""
1421    return _diff.svn_diff_fns_invoke_datasource_close(_obj, diff_baton, datasource)
1422
1423def svn_diff_fns_invoke_datasource_get_next_token(_obj: 'svn_diff_fns_t', diff_baton: 'void *', datasource: 'svn_diff_datasource_e') -> "apr_uint32_t *, void **":
1424    """svn_diff_fns_invoke_datasource_get_next_token(svn_diff_fns_t _obj, void * diff_baton, svn_diff_datasource_e datasource) -> svn_error_t"""
1425    return _diff.svn_diff_fns_invoke_datasource_get_next_token(_obj, diff_baton, datasource)
1426
1427def svn_diff_fns_invoke_token_compare(_obj: 'svn_diff_fns_t', diff_baton: 'void *', ltoken: 'void *', rtoken: 'void *') -> "int *":
1428    """svn_diff_fns_invoke_token_compare(svn_diff_fns_t _obj, void * diff_baton, void * ltoken, void * rtoken) -> svn_error_t"""
1429    return _diff.svn_diff_fns_invoke_token_compare(_obj, diff_baton, ltoken, rtoken)
1430
1431def svn_diff_fns_invoke_token_discard(_obj: 'svn_diff_fns_t', diff_baton: 'void *', token: 'void *') -> "void":
1432    """svn_diff_fns_invoke_token_discard(svn_diff_fns_t _obj, void * diff_baton, void * token)"""
1433    return _diff.svn_diff_fns_invoke_token_discard(_obj, diff_baton, token)
1434
1435def svn_diff_fns_invoke_token_discard_all(_obj: 'svn_diff_fns_t', diff_baton: 'void *') -> "void":
1436    """svn_diff_fns_invoke_token_discard_all(svn_diff_fns_t _obj, void * diff_baton)"""
1437    return _diff.svn_diff_fns_invoke_token_discard_all(_obj, diff_baton)
1438
1439def svn_diff_output_fns_invoke_output_common(_obj: 'svn_diff_output_fns_t', output_baton: 'void *', original_start: 'apr_off_t', original_length: 'apr_off_t', modified_start: 'apr_off_t', modified_length: 'apr_off_t', latest_start: 'apr_off_t', latest_length: 'apr_off_t') -> "svn_error_t *":
1440    """svn_diff_output_fns_invoke_output_common(svn_diff_output_fns_t _obj, void * output_baton, apr_off_t original_start, apr_off_t original_length, apr_off_t modified_start, apr_off_t modified_length, apr_off_t latest_start, apr_off_t latest_length) -> svn_error_t"""
1441    return _diff.svn_diff_output_fns_invoke_output_common(_obj, output_baton, original_start, original_length, modified_start, modified_length, latest_start, latest_length)
1442
1443def svn_diff_output_fns_invoke_output_diff_modified(_obj: 'svn_diff_output_fns_t', output_baton: 'void *', original_start: 'apr_off_t', original_length: 'apr_off_t', modified_start: 'apr_off_t', modified_length: 'apr_off_t', latest_start: 'apr_off_t', latest_length: 'apr_off_t') -> "svn_error_t *":
1444    """svn_diff_output_fns_invoke_output_diff_modified(svn_diff_output_fns_t _obj, void * output_baton, apr_off_t original_start, apr_off_t original_length, apr_off_t modified_start, apr_off_t modified_length, apr_off_t latest_start, apr_off_t latest_length) -> svn_error_t"""
1445    return _diff.svn_diff_output_fns_invoke_output_diff_modified(_obj, output_baton, original_start, original_length, modified_start, modified_length, latest_start, latest_length)
1446
1447def svn_diff_output_fns_invoke_output_diff_latest(_obj: 'svn_diff_output_fns_t', output_baton: 'void *', original_start: 'apr_off_t', original_length: 'apr_off_t', modified_start: 'apr_off_t', modified_length: 'apr_off_t', latest_start: 'apr_off_t', latest_length: 'apr_off_t') -> "svn_error_t *":
1448    """svn_diff_output_fns_invoke_output_diff_latest(svn_diff_output_fns_t _obj, void * output_baton, apr_off_t original_start, apr_off_t original_length, apr_off_t modified_start, apr_off_t modified_length, apr_off_t latest_start, apr_off_t latest_length) -> svn_error_t"""
1449    return _diff.svn_diff_output_fns_invoke_output_diff_latest(_obj, output_baton, original_start, original_length, modified_start, modified_length, latest_start, latest_length)
1450
1451def svn_diff_output_fns_invoke_output_diff_common(_obj: 'svn_diff_output_fns_t', output_baton: 'void *', original_start: 'apr_off_t', original_length: 'apr_off_t', modified_start: 'apr_off_t', modified_length: 'apr_off_t', latest_start: 'apr_off_t', latest_length: 'apr_off_t') -> "svn_error_t *":
1452    """svn_diff_output_fns_invoke_output_diff_common(svn_diff_output_fns_t _obj, void * output_baton, apr_off_t original_start, apr_off_t original_length, apr_off_t modified_start, apr_off_t modified_length, apr_off_t latest_start, apr_off_t latest_length) -> svn_error_t"""
1453    return _diff.svn_diff_output_fns_invoke_output_diff_common(_obj, output_baton, original_start, original_length, modified_start, modified_length, latest_start, latest_length)
1454
1455def svn_diff_output_fns_invoke_output_conflict(_obj: 'svn_diff_output_fns_t', output_baton: 'void *', original_start: 'apr_off_t', original_length: 'apr_off_t', modified_start: 'apr_off_t', modified_length: 'apr_off_t', latest_start: 'apr_off_t', latest_length: 'apr_off_t', resolved_diff: 'svn_diff_t *') -> "svn_error_t *":
1456    """svn_diff_output_fns_invoke_output_conflict(svn_diff_output_fns_t _obj, void * output_baton, apr_off_t original_start, apr_off_t original_length, apr_off_t modified_start, apr_off_t modified_length, apr_off_t latest_start, apr_off_t latest_length, svn_diff_t * resolved_diff) -> svn_error_t"""
1457    return _diff.svn_diff_output_fns_invoke_output_conflict(_obj, output_baton, original_start, original_length, modified_start, modified_length, latest_start, latest_length, resolved_diff)
1458
1459
1460