datalad-rerun [-h] [--since SINCE] [-d DATASET] [-b NAME] [-m MESSAGE] [--onto base] [REVISION]


Re-execute previous datalad run commands.

This will unlock any dataset content that is on record to have been modified by the command in the specified revision. It will then re-execute the command in the recorded path (if it was inside the dataset). Afterwards, all modifications will be saved.


Re-execute the command from the previous commit.

$ datalad rerun

Re-execute any commands in the last five commits.

$ datalad rerun –since=HEAD~5

Do the same as above, but re-execute the commands on top of HEAD~5 in a detached state.

$ datalad rerun –onto= –since=HEAD~5

Re-execute all previous commands and compare the old and new results.

$ # on master branch $ datalad rerun –branch=verify –since= $ # now on verify branch $ datalad diff –revision=master.. $ git log –oneline –left-right –cherry-pick master…



rerun command(s) in REVISION. By default, the command from this commit will be executed, but the –since option can be used to construct a revision range. Constraints: value must be a string [Default: ‘HEAD’]

-h, –help, –help-np

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

–since SINCE

If SINCE is a commit-ish, the commands from all commits that are reachable from REVISION but not SINCE will be re-executed (in other words, the commands in git log SINCE..REVISION). If SINCE is an empty string, it is set to the parent of the first commit that contains a recorded command (i.e., all commands in git log REVISION will be re-executed). Constraints: value must be a string [Default: None]

-d DATASET, –dataset DATASET

specify the dataset from which to rerun a recorded command. If no dataset is given, an attempt is made to identify the dataset based on the current working directory. If a dataset is given, the command will be executed in the root directory of this dataset. Constraints: Value must be a Dataset or a valid identifier of a Dataset (e.g. a path) [Default: None]

-b NAME, –branch NAME

create and checkout this branch before rerunning the commands. Constraints: value must be a string [Default: None]

-m MESSAGE, –message MESSAGE

use MESSAGE for the reran commit rather than the recorded commit message. In the case of a multi-commit rerun, all the reran commits will have this message. Constraints: value must be a string [Default: None]

–onto base

start point for rerunning the commands. If not specified, commands are executed at HEAD. This option can be used to specify an alternative start point, which will be checked out with the branch name specified by –branch or in a detached state otherwise. As a special case, an empty value for this option means to use the commit specified by –since. Constraints: value must be a string [Default: None]


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