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…
Reference in a new issue