@mutable_property<EOL><INDENT>def bare(self):<DEDENT>
return self.is_bare if self.exists else True<EOL>
Whether the local repository should have a working tree or not (a boolean or :data:`None`).

This property specifies whether the local repository should have a
working tree or not:

- :data:`True` means the local repository doesn't need and shouldn't
  have a working tree (in older versions of `vcs-repo-mgr` this was the
  default and only choice).

- :data:`False` means the local repository does need a working tree
  (for example because you want to create new commits).

The value of :attr:`bare` defaults to auto-detection using
:attr:`is_bare` for repositories that already exist locally, if only to
preserve compatibility with versions of `vcs-repo-mgr` that didn't have
working tree support.

For repositories that don't exist locally yet, :attr:`bare` defaults to
:data:`True` so that :func:`create()` defaults to creating repositories
without a working tree.

If :attr:`bare` is explicitly set and the local clone already exists it
will be checked by :func:`__init__()` to make sure that the values of
:attr:`bare` and :attr:`is_bare` match. If they don't an exception will
be raised.