Merge branch 'master' of ssh://git-annex.branchable.com
This commit is contained in:
commit
52695e5925
3 changed files with 63 additions and 0 deletions
|
@ -0,0 +1,45 @@
|
||||||
|
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%.
|
||||||
|
|
||||||
|
EDIT: As a clarification, I would expect git-annex to also drop the old versions of the file if enough copies exist…
|
||||||
|
|
||||||
|
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
|
|
@ -0,0 +1,13 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="guzik.sergey@9391b6c15e4938a539e36fbe5bab71df07111d2e"
|
||||||
|
nickname="guzik.sergey"
|
||||||
|
avatar="http://cdn.libravatar.org/avatar/69073e903eefa0bc2755123b26441a2f"
|
||||||
|
subject="comment 1"
|
||||||
|
date="2019-01-13T14:50:44Z"
|
||||||
|
content="""
|
||||||
|
The behaviour you described is intended, git annex preserves all versions of all files. Those old file are refered in git annex documentation as `unused`, so you can search for this term. Following are main commands:
|
||||||
|
|
||||||
|
- [git annex unused](https://git-annex.branchable.com/git-annex-unused/)
|
||||||
|
- [git annex dropunused](https://git-annex.branchable.com/git-annex-dropunused/)
|
||||||
|
- [git annex drop --unused](https://git-annex.branchable.com/git-annex-drop/)
|
||||||
|
"""]]
|
5
doc/forum/Sync_files_via_remote_server.mdwn
Normal file
5
doc/forum/Sync_files_via_remote_server.mdwn
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
I have two local devices set up with the same remote server (a bare repo following https://git-annex.branchable.com/tips/centralized_git_repository_tutorial/on_your_own_server/)
|
||||||
|
|
||||||
|
I can sync and move files to/from each device. But I can't see the files pushed by one device on the other (or vice-versa).
|
||||||
|
|
||||||
|
So from desktop I sync file "a" and from android I sync file "b" but I can't do "git annex copy b --from origin" on the desktop.
|
Loading…
Add table
Add a link
Reference in a new issue