datalad create - create a new dataset from scratch.
datalad create [-h] [-f] [-D DESCRIPTION]
[-d PATH] [--no-annex] [--nosave]
[--annex-version ANNEX_VERSION]
[--annex-backend ANNEX_BACKEND] [--native-metadata-type LABEL]
[--shared-access MODE] [--git-opts STRING]
[--annex-opts STRING] [--annex-init-opts STRING]
[--text-no-annex] [--fake-dates] [PATH]
This command initializes a new dataset at a given location, or the
current directory. The new dataset can optionally be registered in an
existing superdataset (the new dataset's path needs to be located within the
superdataset for that, and the superdataset needs to be given explicitly).
It is recommended to provide a brief description to label the dataset's
nature *and* location, e.g. "Michael's music on black laptop".
This helps humans to identify data locations in distributed scenarios. By
default an identifier comprised of user and machine name, plus path will be
generated.
This command only creates a new dataset, it does not add any
content to it, even if the target directory already contains additional
files or directories.
Plain Git repositories can be created via the --no-annex flag.
However, the result will not be a full dataset, and, consequently, not all
features are supported (e.g. a description).
To create a local version of a remote dataset use the `install`
command instead.
- NOTE
- Power-user info: This command uses git init and git annex init to prepare
the new dataset. Registering to a superdataset is performed via a git
submodule add operation in the discovered superdataset.
- PATH
- path where the dataset shall be created, directories will be created as
necessary. If no location is provided, a dataset will be created in the
current working directory. Either way the command will error if the target
directory is not empty. Use FORCE to create a dataset in a non-empty
directory. Constraints: value must be a string, or Value must be a Dataset
or a valid identifier of a Dataset (e.g. a path) [Default: None]
- -h, --help,
--help-np
- show this help message. --help-np forcefully disables the use of a pager
for displaying the help message
- -f, --force
- enforce creation of a dataset in a non-empty directory. [Default:
False]
- -D DESCRIPTION,
--description DESCRIPTION
- short description to use for a dataset location. Its primary purpose is to
help humans to identify a dataset copy (e.g., "mike's dataset on lab
server"). Note that when a dataset is published, this information
becomes available on the remote side. Constraints: value must be a string
[Default: None]
- -d PATH, --dataset
PATH
- specify the dataset to perform the create operation on. If a dataset is
given, a new subdataset will be created in it. Constraints: Value must be
a Dataset or a valid identifier of a Dataset (e.g. a path) [Default:
None]
- --no-annex
- if set, a plain Git repository will be created without any annex.
[Default: False]
- --nosave
- by default all modifications to a dataset are immediately saved. Giving
this option will disable this behavior. [Default: True]
- --annex-version
ANNEX_VERSION
- select a particular annex repository version. The list of supported
versions depends on the available git-annex version. This should be left
untouched, unless you know what you are doing. Constraints: value must be
convertible to type 'int' [Default: None]
- --annex-backend
ANNEX_BACKEND
- set default hashing backend used by the new dataset. For a list of
supported backends see the git-annex documentation. The default is
optimized for maximum compatibility of datasets across platforms
(especially those with limited path lengths). Constraints: value must be a
string [Default: 'MD5E']
- --native-metadata-type
LABEL
- Metadata type label. Must match the name of the respective parser
implementation in DataLad (e.g. "xmp"). This option can be given
multiple times. Constraints: value must be a string [Default: None]
- --shared-access
MODE
- configure shared access to a dataset, see `git init --shared`
documentation for complete details on the supported scenarios. Possible
values include: 'false', 'true', 'group', and 'all'. [Default: None]
- --git-opts
STRING
- option string to be passed to git calls. Constraints: value must be a
string [Default: None]
- --annex-opts
STRING
- option string to be passed to git annex calls. Constraints: value must be
a string [Default: None]
- --annex-init-opts
STRING
- option string to be passed to git annex init calls. Constraints: value
must be a string [Default: None]
- --text-no-annex
- if set, all text files in the future would be added to Git, not annex.
Achieved by adding an entry to .GITATTRIBUTES file. See
http://git-annex.branchable.com/tips/largefiles/ and NO_ANNEX DataLad
plugin to establish even more detailed control over which files are placed
under annex control. [Default: None]
- --fake-dates
- Configure the repository to use fake dates. The date for a new commit will
be set to one second later than the latest commit in the repository. This
can be used to anonymize dates. [Default: False]
datalad is developed by The DataLad Team and Contributors
<team@datalad.org>.