Provided by: datalad_0.11.6-1ubuntu2_all bug


       datalad rerun - re-execute previous `datalad run` commands.


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


       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.

   Report mode
       When  called  with  --report,  this  command  reports  information  about  what  would  be
       re-executed  as  a  series  of  records.  There  will be a record for each revision in the
       specified revision range. Each of these will have  one  of  the  following  "rerun_action"

       -  run: the revision has a recorded command that would be re-executed - skip: the revision
       does not have a recorded command and would be
         skipped - pick: the revision does not have a recorded command and would be cherry

       The decision to skip rather than cherry pick a revision is based on whether  the  revision
       would be reachable from HEAD at the time of execution.

       In  addition,  when a starting point other than HEAD is specified, there is a rerun_action
       value "checkout", in which case the record includes information  about  the  revision  the
       would be checked out before rerunning any commands.


       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...

       NOTE   Currently the "onto" feature only sets the working tree of the current dataset to a
              previous state. The working trees of any subdatasets remain unchanged.


              rerun command(s) in REVISION. By default, the command  from  this  commit  will  be
              executed, but --since 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]

       --script FILE
              extract the commands into FILE rather than rerunning. Use  -  to  write  to  stdout
              instead.  This  option  implies  --report.  Constraints:  value  must  be  a string
              [Default: None]

              Don't actually re-execute anything, just display what would be done. Note:  If  you
              give  this  option,  you  most  likely  want  to  set  --output-format to 'json' or
              'json_pp'. [Default: False]

              Consider the specification of inputs and outputs in the run record to be  explicit.
              Don't  warn  if the repository is dirty, and only save modifications to the outputs
              from the original record. Note that when several run commits  are  specified,  this
              applies  to every one. Care should also be taken when using --onto because checking
              out a new HEAD can easily fail when the working tree has  modifications.  [Default:


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

                                            2019-08-19                           datalad rerun(1)