Part of bzrlib.config View In Hierarchy
Known subclasses: bzrlib.config.GlobalConfig, bzrlib.config.LocationConfig
If several processes try to write the config file, the accesses need to be serialized.
Daughter classes should decorate all methods that update a config with the @needs_write_lock decorator (they call, directly or indirectly, the _write_config_file() method. These methods (typically set_option() and variants must reload the config file from disk before calling _write_config_file()), this can be achieved by calling the self.reload() method. Note that the lock scope should cover both the reading and the writing of the config file which is why the decorator can't be applied to _write_config_file() only.
This should be enough to implement the following logic: - lock for exclusive write access, - reload the config file from disk, - set the new value - unlock
This logic guarantees that a writer can update a value without erasing an update made by another writer.
Method | __init__ | Base class for configuration files using an ini-like syntax. |
Method | lock_write | Takes a write lock in the directory containing the config file. |
Method | unlock | Undocumented |
Method | break_lock | Undocumented |
Method | remove_user_option | Remove a user option and save the configuration file. |
Method | _create_from_string | Undocumented |
Method | _write_config_file | Undocumented |
Inherited from IniBasedConfig:
Class Method | from_string | Create a config object from a string. |
Method | reload | Reload the config file from disk. |
Method | _get_parser | Undocumented |
Method | _get_matching_sections | Return an ordered list of (section_name, extra_path) pairs. |
Method | _get_section | Override this to define the section used by the config. |
Method | _get_sections | Returns an iterator of the sections specified by name. |
Method | _get_options | Return an ordered list of (name, value, section, config_id) tuples. |
Method | _get_option_policy | Return the policy for the given (section, option_name) pair. |
Method | _get_change_editor | Undocumented |
Method | _get_signature_checking | See Config._get_signature_checking. |
Method | _get_signing_policy | See Config._get_signing_policy |
Method | _get_user_id | Get the user id from the 'email' key in the current section. |
Method | _get_user_option | See Config._get_user_option. |
Method | _gpg_signing_command | See Config.gpg_signing_command. |
Method | _log_format | See Config.log_format. |
Method | _validate_signatures_in_log | See Config.validate_signatures_in_log. |
Method | _acceptable_keys | See Config.acceptable_keys. |
Method | _post_commit | See Config.post_commit. |
Method | _string_to_signature_policy | Convert a string to a signing policy. |
Method | _string_to_signing_policy | Convert a string to a signing policy. |
Method | _get_alias | Undocumented |
Method | _get_nickname | Undocumented |
Inherited from Config (via IniBasedConfig):
Method | config_id | Returns a unique ID for the config. |
Method | get_editor | Get the users pop up editor. |
Method | get_change_editor | Undocumented |
Method | get_mail_client | Get a mail client to use |
Method | expand_options | Expand option references in the string in the configuration context. |
Method | get_user_option | Get a generic option - no special process, no default. |
Method | get_user_option_as_bool | Get a generic option as a boolean. |
Method | get_user_option_as_list | Get a generic option as a list - no special process, no default. |
Method | get_user_option_as_int_from_SI | Get a generic option from a human readable size in SI units, e.g 10MB |
Method | gpg_signing_command | What program should be used to sign signatures? |
Method | log_format | What log format should be used |
Method | validate_signatures_in_log | Show GPG signature validity in log |
Method | acceptable_keys | Comma separated list of key patterns acceptable to |
Method | post_commit | An ordered list of python functions to call. |
Method | user_email | Return just the email component of a username. |
Method | username | Return email-style username. |
Method | ensure_username | Raise errors.NoWhoami if username is not set. |
Method | signature_checking | What is the current policy for signature checking?. |
Method | signing_policy | What is the current policy for signature checking?. |
Method | signature_needed | Is a signature needed when committing ?. |
Method | gpg_signing_key | GPG user-id to sign commits |
Method | get_alias | Undocumented |
Method | get_nickname | Undocumented |
Method | get_bzr_remote_path | Undocumented |
Method | suppress_warning | Should the warning be suppressed or emitted. |
Method | get_merge_tools | Undocumented |
Method | find_merge_tool | Undocumented |
Method | _expand_options_in_list | Expand options in a list of strings in the configuration context. |
Method | _expand_options_in_string | Expand options in the string in the configuration context. |
Method | _expand_option | Undocumented |
Parameters | file_name | The configuration file path. |
If the directory doesn't exist it is created.
Parameters | option_name | The option to be removed. |
section_name | The section the option is defined in, default to the default section. |