8 svk co
-r1 /$SVK_DEPOT/ $CO_DIR
11 svk admin dump
/$SVK_DEPOT/ | \
12 ..
/svn-dump-fast-export | \
13 git fast-import
--force --export-marks=..
/marks.txt
15 mkdir
-p $HASH_DIR/{0,1,2,3,4,5,6,7,8,9,a
,b
,c
,d
,e
,f
}{0,1,2,3,4,5,6,7,8,9,a
,b
,c
,d
,e
,f
}
17 for (( REV
=1 ; REV
<=MAX_REV
; ++REV
)) do
18 read COMMIT_MARK COMMIT_HASH
19 echo $COMMIT_MARK $COMMIT_HASH
20 [ $REV -lt 5 ] && continue
22 # Hashify working copy
23 ( cd $CO_DIR ; git update-index
--refresh ) >/dev
/null
24 ( cd $CO_DIR ; git ls-files
-moz |
xargs -0 shasum
) \
26 while read HASH FILE
; do
28 [ -f "$FILE" ] ||
continue
29 [ -x "$FILE" ] && HASH
="$HASH"x
30 HASH_FILE
="$HASH_DIR/${HASH:0:2}/$HASH"
31 ln "$FILE" "$HASH_FILE" 2>/dev
/null || \
32 ln -f "$HASH_FILE" "$FILE"
36 git update-index
--refresh >/dev
/null
37 git ls-files
-dz |
xargs -0 git update-index
--info-only --remove
38 git ls-files
-moz |
xargs -0 git update-index
--info-only --add --replace
39 MISMATCH
=`git reset $COMMIT_HASH | wc -l`
40 [ $MISMATCH -gt 0 ] && echo MISMATCHES
: $MISMATCH && exit 1