def __init__(self, *args, **kw):
<EOL>super(Repository, self).__init__(*args, **kw)<EOL>if not (self.local or self.remote):<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>self.update_context()<EOL>if self.exists and self.bare != self.is_bare:<EOL><INDENT>raise ValueError(compact(<EOL>"""<STR_LIT>""",<EOL>requested_state=("<STR_LIT>" if self.bare else "<STR_LIT>"),<EOL>actual_state=("<STR_LIT>" if self.is_bare else "<STR_LIT>"),<EOL>location=format_path(self.local),<EOL>))<EOL><DEDENT>
Initialize a :class:`Repository` object.

Refer to the initializer of the superclass
(:class:`~property_manager.PropertyManager`)
for details about argument handling.

During initialization :exc:`~exceptions.ValueError`
can be raised for any of the following reasons:

- Neither :attr:`local` nor :attr:`remote` is specified.
- The local repository doesn't exist and :attr:`remote`
  isn't specified.
- The local repository already exists but the values of :attr:`bare`
  and :attr:`is_bare` don't match.
- The :attr:`release_scheme` is invalid.
- The :attr:`release_filter` regular expression contains more than one
  capture group (if you need additional groups but without the
  capturing aspect use a non-capturing group).