Closed mih closed 1 year ago
This is the culprit, I think. It makes no sense to unconditionally use the location of an absent (sub)dataset as the dataset
argument. I think the rule should be
state=present
dataset=path
dataset=get_dataset_root(path)
and path=path
maybe the code needs additional protection against a "dataset" command not actually having a path
argument, but I am not aware of any that would also work with an absent (sub)dataset.
see also https://github.com/datalad/datalad-gooey/issues/238
The safeguard you propose sounds good to me
see also #238
Thanks for linking that!
The safeguard you propose sounds good to me
Sadly, it also has side-effect. Suppose a user click on an absent dataset to drop
it against -- even if that makes no sense. They will end up with a preconfigured drop
dialog trying to drop the entire super dataset, because the path
is not "added" to the multi-value path widget, it is only placed into its editor.
-> Failed: Dataset('/tmp/myproject/input').get(get_data=False, recursive=True) datalad.support.exceptions.NoDatasetFound: No installed dataset found at /tmp/myproject/input
Users would need to specify the containing dataset and then limit to the subdataset of interest. This is rather cumbersome.