KBI0032: Pushing to RIA-store between OSs, and other improvements

authors:

Michał Szczepanik <m.szczepanik@fz-juelich.de>

discussion:

https://github.com/psychoinformatics-de/knowledge-base/pull/125

keywords:

datalad-next, RIA, macOS, linux, windows, cross-platform

software-versions:

datalad-next_1.4.1, datalad_1.0.2, datalad_1.1.2

DataLad versions prior to 1.1.2 can display the following error when pushing to a RIA store from macOS to a linux server [1]:

Unable to remove <remote-store-path>/...//.../transfer/<annex-key> or to obtain write permission in parent directory. -caused by- stat -f%Dp <remote-store-path>/...//.../transfer failed:
copy: 1 failed

This can be translated as: DataLad tried to execute the stat command on Linux, with macOS-specific parameterization (-f%Dp).

This particular behavior was fixed in DataLad v.1.1.2 (changelog). The fix, together with a set of other improvements to to the RIA functionality of DataLad, had been first shipped in the DataLad-next extension, in v.1.4.1 (changelog-next).

Additionally, the 1.4 release of DataLad-next replaces most of the RIA implementation, including the ORA special remote, and the create-sibling-ria command. The new implementation brings uniform support for Windows clients, progress reporting for uploads and downloads via SSH, and a faster and more robust behavior for SSH-based operations (from changelog-next).

DataLad-next is a separate Python package (DataLad extension), and can be installed e.g. with pip. It is also available as a Debian package [2]. It needs to be enabled (git config --global --add datalad.extensions.load next) after installation to allow it to override default DataLad behavior.

Footnotes