datalad save


datalad save [-h] [-m MESSAGE] [-d DATASET] [-u] [--version-tag ID] [-r] [--recursion-limit LEVELS] [-S] [-F MESSAGE_FILE] [PATH [PATH ...]]


Save the current state of a dataset

Saving the state of a dataset records changes that have been made to it. This change record is annotated with a user-provided description. Optionally, an additional tag, such as a version, can be assigned to the saved state. Such tag enables straightforward retrieval of past versions at a later point in time.


Save any content underneath the current directory, without altering any potential subdataset (use –recursive for that):

% datalad save .

Save any modification of known dataset content, but leave untracked files (e.g. temporary files) untouched:

% dataset save -d <path_to_dataset>

Tag the most recent saved state of a dataset:

% dataset save -d <path_to_dataset> --version-tag bestyet



path/name of the dataset component to save. If given, only changes made to those components are recorded in the new state. Constraints: value must be a string [Default: None]

-h, –help, –help-np

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

-m MESSAGE, –message MESSAGE

a description of the state or the changes made to a dataset. Constraints: value must be a string [Default: None]

-d DATASET, –dataset DATASET

“specify the dataset to save. Constraints: Value must be a Dataset or a valid identifier of a Dataset (e.g. a path) [Default: None]

-u, –all-updated

if no explicit paths are given, save changes of all known components in a datasets. [Default: True]

–version-tag ID

an additional marker for that state. Constraints: value must be a string [Default: None]

-r, –recursive

if set, recurse into potential subdataset. [Default: False]

–recursion-limit LEVELS

limit recursion into subdataset to the given number of levels. Constraints: value must be convertible to type ‘int’ [Default: None]

-S, –super-datasets

if set, save a change in a dataset also in its superdataset. [Default: False]


take the commit message from this file. This flag is mutually exclusive with -m. Constraints: value must be a string [Default: None]


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