Provided by: datalad_0.17.1-1_all bug

NAME

       datalad configuration - get and set dataset, dataset-clone-local, or global configuration

SYNOPSIS

       datalad  configuration  [-h] [--scope {global|local|branch}] [-d DATASET] [-r] [-R LEVELS]
              [--version] [{dump|get|set|unset}] [name[=value] ...]

DESCRIPTION

       This command works similar to git-config, but  some  features  are  not  supported  (e.g.,
       modifying  system  configuration),  while  other  features are not available in git-config
       (e.g., multi-configuration queries).

       Query and modification of three distinct configuration scopes is supported:

       - 'branch': the persistent configuration in .datalad/config of a dataset

       branch - 'local':  a  dataset  clone's  Git  repository  configuration  in  .git/config  -
              'global': non-dataset-specific configuration (usually in $USER/.gitconfig)

       Modifications  of the persistent 'branch' configuration will not be saved by this command,
       but have to be committed with a subsequent SAVE call.

       Rules of precedence regarding different configuration scopes are the same as in Git,  with
       two   exceptions:   1)   environment  variables  can  be  used  to  override  any  datalad
       configuration, and have precedence over any other configuration scope (see below). 2)  the
       'branch'  scope  is  considered  in addition to the standard git configuration scopes. Its
       content has lower precedence than Git configuration scopes,  but  it  is  committed  to  a
       branch,  hence  can  be  used  to  ship (default and branch-specific) configuration with a
       dataset.

       Besides storing configuration settings statically via  this  command  or  ``git  config``,
       DataLad  also reads any DATALAD_* environment on process startup or import, and maps it to
       a configuration item.  Their values take  precedence  over  any  other  specification.  In
       variable  names  ``_``  encodes  a  ``.``  in the configuration name, and ``__`` encodes a
       ``-``, such that ``DATALAD_SOME__VAR`` is mapped to ``datalad.some-var``.  Additionally, a
       DATALAD_CONFIG_OVERRIDES_JSON   environment   variable   is  queried,  which  may  contain
       configuration key-value mappings as a JSON-formatted string of a JSON-object::

       DATALAD_CONFIG_OVERRIDES_JSON='{"datalad.credential.example_com.user": "jane", ...}'

       This is useful when characters are part of the configuration key that  cannot  be  encoded
       into  an  environment  variable  name.  If  both  individual configuration variables *and*
       JSON-overrides are used, the  former  take  precedent  over  the  latter,  overriding  the
       respective *individual* settings from configurations declared in the JSON-overrides.

       This  command supports recursive operation for querying and modifying configuration across
       a hierarchy of datasets.

   Examples
       Dump the effective configuration, including an annotation for common items::

        % datalad configuration

       Query two configuration items::

        % datalad configuration get user.name user.email

       Recursively set configuration in all (sub)dataset repositories::

        % datalad configuration -r set my.config=value

       Modify the persistent branch configuration (changes are not committed)::

        % datalad configuration --scope branch set my.config=value

OPTIONS

       {dump|get|set|unset}
              which action to perform. Constraints: value must be one of ('dump',  'get',  'set',
              'unset') [Default: 'dump']

       name[=value]
              configuration  name (for actions 'get' and 'unset'), or name/value pair (for action
              'set').

       -h, --help, --help-np
              show this help message. --help-np forcefully  disables  the  use  of  a  pager  for
              displaying the help message

       --scope {global|local|branch}
              scope  for  getting  or setting configuration. If no scope is declared for a query,
              all configuration sources  (including  overrides  via  environment  variables)  are
              considered  according  to  the  normal  rules  of precedence. For action 'get' only
              'branch' and 'local' (which  include  'global'  here)  are  supported.  For  action
              'dump',  a  scope  selection  is  ignored  and all available scopes are considered.
              Constraints: value must be one of ('global', 'local', 'branch')

       -d DATASET, --dataset DATASET
              specify the dataset to query or to configure. Constraints: Value must be a  Dataset
              or a valid identifier of a Dataset (e.g. a path) or value must be NONE

       -r, --recursive
              if set, recurse into potential subdatasets.

       -R LEVELS, --recursion-limit LEVELS
              limit  recursion into subdatasets to the given number of levels. Constraints: value
              must be convertible to type 'int' or value must be NONE

       --version
              show the module and its version which provides the command

AUTHORS

        datalad is developed by The DataLad Team and Contributors <team@datalad.org>.