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