https://www.merriam-webster.com/grammar/cannot-vs-can-not-is-there-a-difference
50 lines
2.4 KiB
ReStructuredText
50 lines
2.4 KiB
ReStructuredText
.. _summary_config:
|
|
|
|
Summary
|
|
-------
|
|
|
|
This has been a substantial amount of information regarding various configuration
|
|
types, methods, and files. After this lecture, you have greatly broadened
|
|
your horizon about configurations of datasets:
|
|
|
|
- Configurations exist at different scopes and for different tools. Each
|
|
of such configuration scopes exists in an individual file, on a *system-wide*,
|
|
*global* (user-specific) or *local* (repository specific) level. In addition
|
|
to Git's *local* scope in ``.git/config``, DataLad introduces its own configurations within
|
|
``.datalad/config`` that apply to a specific dataset, but are committed and
|
|
therefore distributed. More specialized scopes take precedence over more global scopes.
|
|
|
|
- Almost all configurations can be set with the :gitcmd:`config` command.
|
|
Its structure looks like this:
|
|
|
|
.. code-block:: bash
|
|
|
|
git config --local/--global/--system --add/remove-all/--list section.[subsection.]variable "value"
|
|
|
|
- The ``.git/config`` configuration file is not version controlled, other
|
|
configuration files (``.gitmodules``, ``.gitattributes``, ``.datalad/config``)
|
|
however are, and can be shared together with the dataset. Non-shared configurations
|
|
will take precedence over shared configurations in a dataset clone.
|
|
|
|
- Other tools than Git can be configured with the :gitcmd:`config` command
|
|
as well. If configurations needs to be written to a file other than a
|
|
``.git(/)config`` file, supply a path to this file with the ``-f/--file`` flag
|
|
in a :gitcmd:`config` command.
|
|
|
|
- The ``.gitattributes`` file is the only configuration file the :gitcmd:`config`
|
|
command cannot write to, because it has a different layout. However, run-procedures or
|
|
the user can write simple rules into it that determine which files are annexed
|
|
and which are stored in Git.
|
|
|
|
- DataLad's ``run-procedure``\s offer an easy and fast alternative to DIY
|
|
configurations, structuring, or processing of the dataset, and offer means to share or ship configurations together with a dataset.
|
|
They can be applied already at creation of a dataset with ``datalad create -c <procedure>``,
|
|
or executed later with a :dlcmd:`run-procedure` command.
|
|
|
|
Now what can I do with it?
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Configurations are not a closed book for you anymore. What will probably be
|
|
especially helpful is your new knowledge about ``.gitattributes`` and
|
|
DataLad's ``run-procedure`` command that allow you to configure the behavior
|
|
of git-annex in your dataset.
|