datalad create-sibling-github [-h] [--dataset DATASET] [-r] [-R LEVELS] [-s NAME] [--existing MODE] [--github-login NAME] [--github-passwd PASSWORD] [--github-organization NAME] [--access-protocol ACCESS_PROTOCOL] [--publish-depends SIBLINGNAME] [--dryrun] REPONAME
Create dataset sibling on Github.
A repository can be created under a user’s Github account, or any organization a user is a member of (given appropriate permissions).
Recursive sibling creation for subdatasets is supported. A dataset hierarchy is represented as a flat list of Github repositories.
Github cannot host dataset content. However, in combination with other data sources (and siblings), publishing a dataset to Github can facilitate distribution and exchange, while still allowing any dataset consumer to obtain actual data content from alternative sources.
For Github authentication user credentials can be given as arguments. Alternatively, they are obtained interactively or queried from the systems credential store. Lastly, an oauth token stored in the Git configuration under variable hub.oauthtoken will be used automatically. Such a token can be obtained, for example, using the commandline Github interface (https://github.com/sociomantic/git-hub) by running: git hub setup (if no 2FA is used).
Github repository name. When operating recursively, a suffix will be appended to this name for each subdataset. 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
–dataset DATASET, -d DATASET¶
specify the dataset to create the publication target for. If no dataset is given, an attempt is made to identify the dataset based on the current working directory. Constraints: Value must be a Dataset or a valid identifier of a Dataset (e.g. a path) [Default: None]
if set, recurse into potential subdataset. [Default: False]
-R LEVELS, –recursion-limit LEVELS¶
limit recursion into subdataset to the given number of levels. Constraints: value must be convertible to type ‘int’ [Default: None]
-s NAME, –name NAME¶
name to represent the Github repository in the local dataset installation. Constraints: value must be a string [Default: ‘github’]
desired behavior when already existing or configured siblings are discovered. ‘skip’: ignore; ‘error’: fail immediately; ‘reconfigure’: use the existing repository and reconfigure the local dataset to use it as a sibling. Constraints: value must be one of (‘skip’, ‘error’, ‘reconfigure’) [Default: ‘error’]
Github user name or access token. Constraints: value must be a string [Default: None]
Github user password. Constraints: value must be a string [Default: None]
If provided, the repository will be created under this Github organization. The respective Github user needs appropriate permissions. Constraints: value must be a string [Default: None]
Which access protocol/URL to configure for the sibling. Constraints: value must be one of (‘https’, ‘ssh’) [Default: ‘https’]
add a dependency such that the given existing sibling is always published prior to the new sibling. This equals setting a configuration item ‘remote.SIBLINGNAME.datalad-publish-depends’. This option can be given more than once to configure multiple dependencies. Constraints: value must be a string [Default: None]
If this flag is set, no communication with Github is performed, and no repositories will be created. Instead would-be repository names are reported for all relevant datasets. [Default: False]