This commit is contained in:
parent
e8839a4357
commit
4de1aeacc2
1 changed files with 43 additions and 0 deletions
|
@ -0,0 +1,43 @@
|
||||||
|
When a changed version of a file is created after `git annex unlock && change-file && git annex add` the old file inside `.git/annex/objects` is retained and cannot be removed with `git annex drop`.
|
||||||
|
When I checkout a commit which has the old version of the file I can easily `git annex drop` it and then it also vanishes from `.git/annex/objects`.
|
||||||
|
|
||||||
|
Look at the following script which reproduces the behavior.
|
||||||
|
Is this behavior intended?
|
||||||
|
|
||||||
|
My use case is a big music library which does not fit onto my laptop.
|
||||||
|
So for updating the metadata in the files I basically run `git annex get <folder> && git annex unlock <folder>` then update all files in that folder and then run `git annex add <folder> && git commit && git copy --to remote && git annex drop <folder>`.
|
||||||
|
This works perfectly but the problem is, that all old versions of changed files are retained in `.git/annex/objects` which in no time filled my drive to 100%.
|
||||||
|
|
||||||
|
The script:
|
||||||
|
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
cd /tmp
|
||||||
|
git init client
|
||||||
|
cd client
|
||||||
|
git annex init
|
||||||
|
git annex numcopies 1
|
||||||
|
dd if=/dev/zero of=zero bs=1M count=4
|
||||||
|
git annex add zero
|
||||||
|
git commit -m 'Checkin'
|
||||||
|
cd ..
|
||||||
|
git clone client remote
|
||||||
|
cd client
|
||||||
|
git remote add remote ../remote
|
||||||
|
git annex sync
|
||||||
|
git annex copy --to remote
|
||||||
|
git annex drop zero
|
||||||
|
git annex get zero
|
||||||
|
git annex unlock zero
|
||||||
|
echo test >> zero
|
||||||
|
git annex add zero
|
||||||
|
git commit -m 'Update'
|
||||||
|
git annex copy --to remote
|
||||||
|
git annex drop zero
|
||||||
|
cd ..
|
||||||
|
tree {client,remote}/.git/annex/objects
|
||||||
|
cd client
|
||||||
|
git checkout master~
|
||||||
|
git annex drop zero
|
||||||
|
git checkout master
|
||||||
|
cd ..
|
||||||
|
tree {client,remote}/.git/annex/objects
|
Loading…
Add table
Reference in a new issue