DATALAD-DROP(1)
π datalad drop β the manual page, but make it make sense
okay bestie, buckle up, because datalad drop is the manual page everyone skips and then regrets skipping. it's datalad drop from the General Commands Manual, and it's genuinely iconic once you get it. π
β¨ NAME β¨
datalad drop β drop the content of individual files, or of entire (sub)datasets. that's the whole vibe. it un-gets your gets. π«Ά
πΈ SYNOPSIS πΈ
datalad drop [-h] [--what {filecontent|allkeys|datasets|all}]
[--reckless {modification|availability|undead|kill}] [-d DATASET]
[-r] [-R LEVELS] [-J NJOBS] [--nocheck] [--if-dirty IF_DIRTY]
[--version] [PATH ...]
copy it exactly like that, bestie, i'm not retyping it and neither should you π
π DESCRIPTION π
This command is the antagonist of get. (villain era, lowkey.) It can undo the retrieval of file content, and it can undo the installation of subdatasets. so if get said "yes queen, download it", drop says "actually, no π
".
Dropping is a safe-by-default operation. Before dropping any information, the command confirms the continued availability of file-content (see e.g., configuration annex.numcopies), and it also checks the state of all dataset branches from at least one known dataset sibling. Also, before it removes an entire dataset annex, it confirms that the annex is no longer marked as existing in the network of dataset siblings. so it's thorough. it's giving responsible main character energy. π
Importantly: all checks regarding version history availability and local annex availability are performed using the current state of remote siblings as known to the local dataset. Why? performance reasons, and resilience in case of absent network connectivity. But bestie, if you want decisions based on up-to-date info, the advice is literally right there: execute a dataset update before dropping dataset components. no cap. β
π¦ Examples π¦
Drop single file content:
% datalad drop <path/to/file>
Drop all file content in the current dataset:
% datalad drop
Drop all file content in a dataset and all its subdatasets:
% datalad drop -d <path/to/dataset> -r
Disable the check that ensures the configured minimum number of remote sources for dropped data:
% datalad drop <path/to/content> --reckless availability
Drop (uninstall) an entire dataset. heads up: this will fail if subdatasets are present:
% datalad drop --what all
Kill a dataset recklessly, existing subdatasets and all β this will be fast, but it will disable any and all safety checks:
% datalad drop --what all, --reckless kill --recursive
β οΈ that last one is literally a--reckless killwith--recursiveand--what all. it's fast because it has zero chill and zero guardrails. know what you're doing, okay? π
π OPTIONS π
PATHβ path of a dataset or dataset component to be dropped. Constraints: value must be a string or value must beNONE.-h,--help,--help-npβ show this help message.--help-npforcefully disables the use of a pager for displaying the help message (for when you do not want to be trapped inless, we've all been there π).--what {filecontent|allkeys|datasets|all}β select what type of items shall be dropped. let's break it down, bestie:- with
filecontent, only the file content (git-annex keys) of files in a dataset's worktree will be dropped. - with
allkeys, content of any version of any file in any branch (including, but not limited to the worktree) will be dropped. this effectively empties the annex of a local dataset. π - with
datasets, only complete datasets will be dropped (impliesallkeysmode for each such dataset), but no filecontent will be dropped for any files in datasets that are not dropped entirely. - with
all, content for any matching file or dataset will be dropped entirely.
- with
Constraints: value must be one of (filecontent, allkeys, datasets, all) [Default: filecontent].
--reckless {modification|availability|undead|kill}β disable individual or all data safety measures that would normally prevent potentially irreversible data-loss. yes, irreversible, read it again. the modes:- with
modification, unsaved modifications in a dataset will not be detected. this improves performance at the cost of permitting potential loss of unsaved or untracked dataset components. - with
availability, detection of dataset/branch-states that are only available in the local dataset, and detection of an insufficient number of file-content copies, will be disabled. especially that second one is a potentially expensive check which might involve numerous network transactions. - with
undead, detection of whether a to-be-removed local annex is still known to exist in the network of dataset-clones is disabled. this could cause zombie-records of invalid file availability. π§ iconic name, less iconic consequence. - with
kill, all safety-checks are disabled.
- with
Constraints: value must be one of (modification, availability, undead, kill).
-d DATASET,--dataset DATASETβ specify the dataset to perform drop from. if no dataset is given, the current working directory is used as operation context. Constraints: value must be aDatasetor a valid identifier of aDataset(e.g. a path) or value must beNONE.-r,--recursiveβ if set, recurse into potential subdatasets. go deep, bestie π¦-R LEVELS,--recursion-limit LEVELSβ limit recursion into subdatasets to the given number of levels. Constraints: value must be convertible to typeintor value must beNONE.-J NJOBS,--jobs NJOBSβ how many parallel jobs (where possible) to use."auto"corresponds to the number defined bydatalad.runtime.max-annex-jobsconfiguration item. Constraints: value must be convertible to typeintor value must beNONEor value must be one of (auto,).--nocheckβ DEPRECATED: use--reckless availability. it's over, bestie, let it go.--if-dirty IF_DIRTYβ DEPRECATED and IGNORED: use--recklessinstead. literally does nothing, it's just here for the memories. π«Ά--versionβ show the module and its version which provides the command.
π AUTHORS π
datalad is developed by The DataLad Team and Contributors <team@datalad.org>. absolute legends, fr fr. π
and that's the page! β¨ cute little sign-off for the fine print: this is datalad drop from version 1.1.5, dated 2025-06-15, brought to you by the General Commands Manual and delivered straight to your terminal with love. π now go drop responsibly β or don't, but like, know that you chose that. π
π
π¦ where this page comes from
- debian trixie: datalad 1.1.5-2.1 Β· MIT
- ubuntu resolute: datalad 1.1.5-2.1 Β· MIT
- ubuntu stonking: datalad 1.1.5-2.1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms