![The cook the thief the wife the lover](https://loka.nahovitsyn.com/217.jpg)
![git annex remote git annex remote](https://benjam.info/blog/posts/2016-01-04-git-annex-music/webapp.png)
Set up the repo: # Clone your repo "myrepo" This will let you have a git repo "myrepo" with related S3 bucket that holds all of the big files you don't really want in your git repository. What is a good way to use git-annex in our workflow?Īs an aside, what are other options that might make such a workflow better/easier to manage? We often end up with the test data either not being tracked in git or unable to be downloaded from the remote location. The work is reviewed and merged (we use Github for hosting and follow a forking model where all work is done by a developer on their own fork and merged into the main repository through Pull requests)ĭeveloper 2 fetches/merges with upstream and tries to run the tests on his machine. Although we have been able to set it up and use it, we have had our set of troubles.Ī common action that we frequently perform that has given us trouble is:ĭeveloper 1 adds some tests for a new feature and adds corresponding data for the tests using git-annex. In most cases (like, it seems, yours), just using a regular git remote and annex-copying data there is just as good, less a hassle to set up, and most importantly you need one anyway to recover your data.Our development team has been using git for version control and using git-annex to store large binary files (data-binaries, images, test-binaries etc).
![git annex remote git annex remote](https://www.linux-magazine.com/var/linux_magazin/storage/images/issues/2013/157/git-annex/figure-2/601608-1-eng-US/Figure-21_reference.png)
GIT ANNEX REMOTE FULL
You want to split the (small but often needed) git access from data access (large amounts of data), and your data hoster gives you just rsync (or webdav or s3 or whichever protocol) access, not full shell access.In many cases you don't even need a special remote then reasons to use a special remote are: (where the -from origin is more for illustration if you leave it off, git annex will know what to do as well). In cases like yours (where you host that storage yourself), you don't need any special remote then - the regular (typically but not necessarily bare) git repository you use as your origin can also store the large files, and can be used by a later checkout just as $ git clone ssh://host/path/repo So in practice, you will need another git repository to replicate the master branch, which contains all the information about what goes where. Think of it as a a library's cellar: A library may build an additional room to store its books there, but if you want to build a library back from the cellar, you don't have any index, don't know which book is in which catalogue, and you don't have a librarian that can help you find your books. Git annex initremote mybupbackuprepo type=bup encryption=none buprepo=/path/to/my/special/remoteīut I'm still not able to see any files (or even some broken symlinks) and, obviously, also not able to get any of my data when using git annex sync -content or git annex get myawesomefile.Ī special remote is just storing the file data, not the git repository. As far as I understood (from following the official guide, the following should work: cd /path/to/new/folder/to/extract/the/backup in case my local machine would break down). Then I'm able to use my bup special remote as I would use an additional repository.īut now I'd like to access my bup repo without using the first, local repo (e.g. Git annex initremote mybupbackuprepo type=bup encryption=none buprepo=/path/to/my/special/remote/location Git commit -m 'this works on my local repository' My workflow is as follows: cd /path/to/my/local/folder the bup special remote or the rsync special remote or, as soon as it lands on Debian Stable, the borg special remote). What I'd be interested in is using just one git annex repository on my local machine and additionally special remotes (e.g.
![git annex remote git annex remote](https://git-annex.branchable.com/repomap.png)
![git annex remote git annex remote](https://www.haskell.org/communities/05-2015/html/gitannex.png)
This works well as long as I have at least one "real" git-annex repository (not a special remote). I'm using git-annex in version 7.20190129 as it is provided on my Debian Stable (Buster) machine to keep big files under version control and have them distributed over multiple machines and drives.
![The cook the thief the wife the lover](https://loka.nahovitsyn.com/217.jpg)