Merge branch 'master' of ssh://git-annex.branchable.com
This commit is contained in:
commit
4f6ca37b27
2 changed files with 97 additions and 0 deletions
50
doc/bugs/interrupting_migration_causes_problems.mdwn
Normal file
50
doc/bugs/interrupting_migration_causes_problems.mdwn
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
Killing a migration from WORM to SHA256 with ^C breaks things; future attempts to do the migration fail:
|
||||||
|
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
BASE=/tmp/migrate-bug
|
||||||
|
|
||||||
|
set -x
|
||||||
|
|
||||||
|
chmod -R +w $BASE
|
||||||
|
rm -rf $BASE
|
||||||
|
mkdir -p $BASE
|
||||||
|
cd $BASE
|
||||||
|
|
||||||
|
# create annex
|
||||||
|
git init .
|
||||||
|
git annex init
|
||||||
|
|
||||||
|
# make a big (sparse) file and add it
|
||||||
|
dd if=/dev/zero of=bigfile bs=1 count=0 seek=1G
|
||||||
|
git annex add --backend WORM bigfile
|
||||||
|
git commit -m 'added bigfile'
|
||||||
|
|
||||||
|
# look at status
|
||||||
|
git annex status
|
||||||
|
|
||||||
|
# now migrate it, but kill migration during checksum
|
||||||
|
# Simulate ^C by making a new process group and sending SIGINT
|
||||||
|
setsid git annex migrate --backend SHA256 bigfile &
|
||||||
|
PID=$!
|
||||||
|
sleep 1
|
||||||
|
kill -INT -$PID
|
||||||
|
wait
|
||||||
|
|
||||||
|
# look at status
|
||||||
|
git annex status
|
||||||
|
|
||||||
|
# this migration fails
|
||||||
|
git annex migrate --backend SHA256 bigfile
|
||||||
|
|
||||||
|
# but fsck says everything's OK
|
||||||
|
git annex fsck
|
||||||
|
|
||||||
|
The error:
|
||||||
|
|
||||||
|
migrate bigfile
|
||||||
|
git-annex: /tmp/migrate-bug/.git/annex/objects/K9/V1/WORM-s1073741824-m1321566308--bigfile/WORM-s1073741824-m1321566308--bigfile: createLink: already exists (File exists)
|
||||||
|
failed
|
||||||
|
git-annex: migrate: 1 failed
|
||||||
|
|
||||||
|
|
47
doc/bugs/old_data_isn__39__t_unused_after_migration.mdwn
Normal file
47
doc/bugs/old_data_isn__39__t_unused_after_migration.mdwn
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
Old data isn't listed as unused after migrating backends:
|
||||||
|
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
BASE=/tmp/migrate-bug-2
|
||||||
|
set -x
|
||||||
|
chmod -R +w $BASE
|
||||||
|
rm -rf $BASE
|
||||||
|
mkdir -p $BASE
|
||||||
|
cd $BASE
|
||||||
|
|
||||||
|
# create annex
|
||||||
|
git init .
|
||||||
|
git annex init
|
||||||
|
|
||||||
|
# make a big (sparse) file and add it
|
||||||
|
dd if=/dev/zero of=bigfile bs=1 count=0 seek=1G
|
||||||
|
git annex add --backend WORM bigfile
|
||||||
|
git commit -m 'added bigfile'
|
||||||
|
|
||||||
|
# migrate it
|
||||||
|
git annex migrate --backend SHA256 bigfile
|
||||||
|
|
||||||
|
# status shows 2 keys taking up 2G
|
||||||
|
git annex status
|
||||||
|
|
||||||
|
# but nothing is unused
|
||||||
|
git annex unused
|
||||||
|
|
||||||
|
Output:
|
||||||
|
|
||||||
|
++ git annex status
|
||||||
|
supported backends: SHA256 SHA1 SHA512 SHA224 SHA384 SHA256E SHA1E SHA512E SHA224E SHA384E WORM URL
|
||||||
|
supported remote types: git S3 bup directory rsync web hook
|
||||||
|
known repositories:
|
||||||
|
ede95a82-1166-11e1-a475-475d55eb0f8f -- here
|
||||||
|
local annex keys: 2
|
||||||
|
local annex size: 2 gigabytes
|
||||||
|
visible annex keys: 1
|
||||||
|
visible annex size: 1 gigabyte
|
||||||
|
backend usage:
|
||||||
|
WORM: 1
|
||||||
|
SHA256: 1
|
||||||
|
++ git annex unused
|
||||||
|
unused . (checking for unused data...) (checking master...) ok
|
||||||
|
|
||||||
|
The two files are hardlinked, so it's not taking up extra space, but it would be nice to be able to remove the old keys.
|
Loading…
Add table
Add a link
Reference in a new issue