Provided by: datalad_0.14.0-1_all bug

NAME

       datalad publish - publish a dataset to a known sibling.

SYNOPSIS

       datalad  publish  [-h]  [-d  DATASET]  [--to  LABEL] [--since SINCE] [--missing MODE] [-f]
              [--transfer-data {auto|none|all}] [-r] [-R LEVELS]  [--git-opts  STRING]  [--annex-
              opts STRING] [--annex-copy-opts STRING] [-J NJOBS] [PATH ...]

DESCRIPTION

       This makes the last saved state of a dataset available to a sibling or special remote data
       store of a dataset. Any target sibling must already exist and be known to the dataset.

       Optionally, it is possible to limit publication to change sets relative  to  a  particular
       point  in  the version history of a dataset (e.g. a release tag). By default, the state of
       the local dataset is evaluated against the last known state of the target sibling.  Actual
       publication  is  only  attempted if there was a change compared to the reference state, in
       order to speed up processing of large collections of datasets. Evaluation with respect  to
       a  particular "historic" state is only supported in conjunction with a specified reference
       dataset. Change sets are also evaluated recursively,  i.e.   only  those  subdatasets  are
       published  where  a  change  was  recorded  that  is  reflected in to current state of the
       top-level reference dataset.  See "since" option for more information.

       Only publication of  saved  changes  is  supported.  Any  unsaved  changes  in  a  dataset
       (hierarchy) have to be saved before publication.

       NOTE   Power-user  info:  This  command  uses  git  push,  and git annex copy to publish a
              dataset. Publication targets are either  configured  remote  Git  repositories,  or
              git-annex special remotes (if they support data upload).

       NOTE   This  command  is  deprecated.  It  will be removed from DataLad eventually, but no
              earlier than the 0.15 release.  The  PUSH  command  (new  in  0.13.0)  provides  an
              alternative interface. Critical differences are that PUSH transfers annexed data by
              default and does not handle sibling creation (i.e. it does  not  have  a  --MISSING
              option).

OPTIONS

       PATH   path(s), that may point to file handle(s) to publish including their actual content
              or to subdataset(s) to be published. If a file handle is published with  its  data,
              this implicitly means to also publish the (sub)dataset it belongs to. '.' as a path
              is treated in a special way in the sense, that it is passed to subdatasets in  case
              RECURSIVE is also given. Constraints: value must be a string

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

       -d DATASET, --dataset DATASET
              specify the (top-level) dataset to be  published.  If  no  dataset  is  given,  the
              datasets  are determined based on the input arguments. Constraints: Value must be a
              Dataset or a valid identifier of a Dataset (e.g. a path)

       --to LABEL
              name of the target sibling. If no name is given an attempt is made to identify  the
              target  based on the dataset's configuration (i.e. a configured tracking branch, or
              a single sibling that is configured for publication). Constraints: value must be  a
              string

       --since SINCE
              specifies  commit-ish  (tag, shasum, etc.) from which to look for changes to decide
              whether pushing is necessary. If '^' is given, the last state of the current branch
              at  the  sibling  is  taken  as a starting point. An empty string ('') for the same
              effect is still supported). Constraints: value must be a string

       --missing MODE
              action to perform, if a sibling does not exist in a given dataset.  By  default  it
              would  fail  the  run  ('fail'  setting).  With  'inherit'  a 'create-sibling' with
              '--inherit-settings' will be used to create sibling on the remote. With 'skip' - it
              simply  will  be  skipped.  Constraints:  value  must be one of ('fail', 'inherit',
              'skip') [Default: 'fail']

       -f, --force
              enforce doing publish activities (git push etc) regardless of the analysis if  they
              seemed needed.

       --transfer-data {auto|none|all}
              ADDME. Constraints: value must be one of ('auto', 'none', 'all') [Default: 'auto']

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

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

       --git-opts STRING
              option string to be passed to git calls. Constraints: value must be a string

       --annex-opts STRING
              option string to be passed to git annex calls. Constraints: value must be a string

       --annex-copy-opts STRING
              option string to be passed to git annex copy calls. Constraints: value  must  be  a
              string

       -J NJOBS, --jobs NJOBS
              how  many  parallel  jobs (where possible) to use. "auto" corresponds to the number
              defined by 'datalad.runtime.max-annex-jobs' configuration item. Constraints:  value
              must be convertible to type 'int', or value must be one of ('auto',)

AUTHORS

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