LAAC-LSCP / ChildProject

Python package for the management of day-long recordings of children.
https://childproject.readthedocs.io
MIT License
13 stars 5 forks source link

pushing makes local file into symbolic links? #363

Closed marisacasillas closed 2 years ago

marisacasillas commented 2 years ago

hello!

i just made my first commit to a GIN dataset following the push instructions here and it turned my local files into symbolic links:

i'm also having problems with datalad get right now (i posted an issue on EL1000/Cougar) so maybe it's just me! if so, sorry!

lucasgautheron commented 2 years ago

Hello!

I don't think you did anything wrong: your files were uploaded just fine to GIN (https://gin.g-node.org/EL1000/cougar/src/main/scripts/tt-report)

DataLad is built on git annex, and git annex has two ways to store contents:

  1. As normal git files (then they are simply stored in the git repository as normal)
  2. As "annexed" files. In that case, git only stores a pointer to the actual contents of the file, which is itself stored into the annex. When you do datalad save, DataLad decides, based on the rules defined in .gitattributes, whether to store each file in the annex or using vanilla git. Apparently the rules for cougar are such that those files were annexed . I have opened an issue about this on DataLad's github. I'll rewrite the .gitattributes file so that nothing in scripts/ gets annexed, not just files at the root of scripts.

Any way: if you need to edit annexed files, all you need to do is datalad unlock scripts/tt-report and they will be unlocked (transformed backed from symlinks to actual files). Then you can edit them and datalad save and datalad push your changes when you are done.

marisacasillas commented 2 years ago

got it, thank you!