dulwich.config module

Reading and writing Git configuration files.

TODO:
  • preserve formatting when updating configuration files
  • treat subsection names as case-insensitive for [branch.foo] style subsections
class dulwich.config.CaseInsensitiveDict(**kwds)

Bases: collections.OrderedDict

Initialize an ordered dictionary. The signature is the same as regular dictionaries, but keyword arguments are not recommended because their insertion order is arbitrary.

get(k[, d]) → D[k] if k in D, else d. d defaults to None.
classmethod make(dict_in=None)
setdefault(k[, d]) → od.get(k,d), also set od[k]=d if k not in od
class dulwich.config.Config

Bases: object

A Git configuration.

get(section, name)

Retrieve the contents of a configuration setting.

Parameters:
  • section – Tuple with section name and optional subsection namee
  • subsection – Subsection name
Returns:

Contents of the setting

Raises:

KeyError – if the value is not set

get_boolean(section, name, default=None)

Retrieve a configuration setting as boolean.

Parameters:
  • section – Tuple with section name and optional subsection name
  • name – Name of the setting, including section and possible subsection.
Returns:

Contents of the setting

Raises:

KeyError – if the value is not set

has_section(name)

Check if a specified section exists.

Parameters:name – Name of section to check for
Returns:boolean indicating whether the section exists
iteritems(section)

Iterate over the configuration pairs for a specific section.

Parameters:section – Tuple with section name and optional subsection namee
Returns:Iterator over (name, value) pairs
itersections()

Iterate over the sections.

Returns:Iterator over section tuples
set(section, name, value)

Set a configuration value.

Parameters:
  • section – Tuple with section name and optional subsection namee
  • name – Name of the configuration value, including section and optional subsection
Param:

Value of the setting

class dulwich.config.ConfigDict(values=None, encoding=None)

Bases: dulwich.config.Config, _abcoll.MutableMapping

Git configuration stored in a dictionary.

Create a new ConfigDict.

get(section, name)

Retrieve the contents of a configuration setting.

Parameters:
  • section – Tuple with section name and optional subsection namee
  • subsection – Subsection name
Returns:

Contents of the setting

Raises:

KeyError – if the value is not set

iteritems(section)

Iterate over the configuration pairs for a specific section.

Parameters:section – Tuple with section name and optional subsection namee
Returns:Iterator over (name, value) pairs
itersections()

Iterate over the sections.

Returns:Iterator over section tuples
set(section, name, value)

Set a configuration value.

Parameters:
  • section – Tuple with section name and optional subsection namee
  • name – Name of the configuration value, including section and optional subsection
Param:

Value of the setting

class dulwich.config.ConfigFile(values=None, encoding=None)

Bases: dulwich.config.ConfigDict

A Git configuration file, like .git/config or ~/.gitconfig.

Create a new ConfigDict.

classmethod from_file(f)

Read configuration from a file-like object.

classmethod from_path(path)

Read configuration from a file on disk.

write_to_file(f)

Write configuration to a file-like object.

write_to_path(path=None)

Write configuration to a file on disk.

class dulwich.config.StackedConfig(backends, writable=None)

Bases: dulwich.config.Config

Configuration which reads from multiple config files..

classmethod default()
classmethod default_backends()

Retrieve the default configuration.

See git-config(1) for details on the files searched.

get(section, name)

Retrieve the contents of a configuration setting.

Parameters:
  • section – Tuple with section name and optional subsection namee
  • subsection – Subsection name
Returns:

Contents of the setting

Raises:

KeyError – if the value is not set

set(section, name, value)

Set a configuration value.

Parameters:
  • section – Tuple with section name and optional subsection namee
  • name – Name of the configuration value, including section and optional subsection
Param:

Value of the setting

dulwich.config.lower_key(key)
dulwich.config.parse_submodules(config)

Parse a gitmodules GitConfig file, returning submodules.

Parameters:config – A ConfigFile
Returns:list of tuples (submodule path, url, name), where name is quoted part of the section’s name.