commit - e9071c627f6d0a04a388b95402dbddd7ecfc3f52
commit + 0c467db4cf6f6f9f5df31b8d2e03ea4edd13e6cd
blob - 962e327b7f5096c5030bcf11507d4bde11446fb8
blob + 85d073258d11da96c0d7330d6a337793aa42aa77
--- dulwich/config.py
+++ dulwich/config.py
import os
import sys
import warnings
-
from typing import (
BinaryIO,
Iterable,
Iterator,
- List,
KeysView,
+ List,
MutableMapping,
Optional,
Tuple,
return False
raise ValueError("not a valid boolean string: %r" % value)
- def set(self, section: KeyLike, name: BytesLike, value: ValueLike) -> None:
+ def set(
+ self,
+ section: KeyLike,
+ name: BytesLike,
+ value: Union[ValueLike, bool]
+ ) -> None:
"""Set a configuration value.
Args:
value: value of the setting
"""
raise NotImplementedError(self.set)
-
- def set_boolean(self, section: KeyLike, name: BytesLike, value: bool) -> None:
- """Set a boolean configuration value.
-
- Args:
- section: Tuple with section name and optional subsection namee
- name: Name of the configuration value, including section
- and optional subsection
- value: value of the setting
- """
- text = b"true" if value else b"false"
- self.set(section, name, text)
def items(self, section: KeyLike) -> Iterator[Tuple[bytes, Value]]:
"""Iterate over the configuration pairs for a specific section.
self,
section: KeyLike,
name: BytesLike,
- value: ValueLike,
+ value: Union[ValueLike, bool],
) -> None:
section, name = self._check_section_and_name(section, name)
- if not isinstance(value, (bytes, bool)):
+ if isinstance(value, bool):
+ value = b"true" if value else b"false"
+
+ if not isinstance(value, bytes):
value = value.encode(self.encoding)
self._values.setdefault(section)[name] = value
except KeyError:
pass
- def set(self, section: KeyLike, name: BytesLike, value: ValueLike) -> None:
+ def set(
+ self,
+ section: KeyLike,
+ name: BytesLike,
+ value: Union[ValueLike, bool]
+ ) -> None:
if self.writable is None:
raise NotImplementedError(self.set)
return self.writable.set(section, name, value)
blob - 264ab907e6d89a032af4c3251432c66331a9e14f
blob + 80c2ad575723a1452ebcc6bd4b34a2fe267fc7e1
--- dulwich/repo.py
+++ dulwich/repo.py
cf = ConfigFile()
cf.set("core", "repositoryformatversion", "0")
if self._determine_file_mode():
- cf.set_boolean("core", "filemode", True)
+ cf.set("core", "filemode", True)
else:
- cf.set_boolean("core", "filemode", False)
+ cf.set("core", "filemode", False)
- cf.set_boolean("core", "bare", bare)
- cf.set_boolean("core", "logallrefupdates", True)
+ cf.set("core", "bare", bare)
+ cf.set("core", "logallrefupdates", True)
cf.write_to_file(f)
self._put_named_file("config", f.getvalue())
self._put_named_file(os.path.join("info", "exclude"), b"")