Git-annex metadata mri_convert/ -s fstags+=makeinstall Git-annex metadata mri_convert/ -s fstags=makecheck When adding metadata to an annex file, it is best to start with a clean checkout of the repository and be in the 'dev' branch. Git-annex metadata mri_convert/Īssigning metadata to a datafile is the job of a source code administrator, similar to adding a datafile. To show all the metadata associated with a file: Git-annex get -metadata fstags=makeinstall. To get only the data files required for installation: It is essential that data files get tagged properly so that our servers and diskspace are not overwhelmed when only a known subset of the data is required. The data files have been broken down into the following 2 categories:įiles required for build time checks - makecheckįiles required for a local installation - makeinstall Freesurfer utilizes tags so that subsets of the data can be retrieved without having to download everything. Git -annex provides the ability to tag data files. Then, after making modifications, re-add it to the annex: To modify the contents of a data file, first unlock it, which eliminates the symlink: Or to retrieve everything under the current directory: Then, to retrieve the contents of a data file: This must be done every time you want to download new annex data: Git commit -m "added test to subdirectory"įirst, fetch the state of the remote data source. NOTE: Please make sure the file you are adding has group-writable and world-readable permissions otherwise, people will not be able to pull your new file from the server.Ĭhmod 664 # optional - just make sure it's world readable The following example assumes we want to add an example test script and test data tarball called '' to a subdirectory. Generally, only the freesurfer source code administrators should add a file to the annex - especially since only users at the Martinos Center will have write access to the filesystem. Git remote add datasrc file:///space/freesurfer/repo/annex.gitįor those developing outside of Martinos, run:Īfterwards, the output of git remote -v should look something like this:ĭatasrc file:///space/freesurfer/repo/annex.git (fetch)ĭatasrc file:///space/freesurfer/repo/annex.git (push) For those developing on the Martinos filesystem, cd into your repository and run: Instructions to do this are described below.Īs described in the build guide, the annex data source must be setup as a remote repository. It's broken because you have yet to pull the actual data files from the separate annex repository in /space/freesurfer/repo/annex.git. For example, if you were to create a fresh clone of the freesurfer repository from github, you would see that mri_convert/ is actually a broken relative symlink to a hashed file in the. When you commit a new data file with git annex, the main repo is aware of this new file, but it will actually store it as a symlink. Git annex is a tool for storing large files outside of the main repository. Additional documentation can be found on the git-annex website. For basic instructions on retrieving annex data, visit the build guide. This page details how to work with git-annex, the software used for storing and retrieving these data files in the freesurfer git repo, and it's mostly meant as a guide for internal maintainers. Think of source code as text files, and think of data files as binary files not required for compilation. Instead, they should be stored in a separate space, reserved for times when retrieval is required, like for updating test data, performing local installations, etc. The freesurfer repository contains many large binary files that can't be stored directly on github. Please refer to this site/make edits here for the most updated information:
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |