This commit is contained in:
parent
6d9f525f64
commit
abd4e1192f
1 changed files with 50 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
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue