File: repotool-mirror-svn.sh

package info (click to toggle)
reposurgeon 4.38-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 23,500 kB
  • sloc: sh: 4,832; makefile: 514; python: 485; lisp: 115; awk: 91; ruby: 19
file content (44 lines) | stat: -rw-r--r-- 1,438 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/sh
## Test repotool mirror of svn repo via svnsync

# /tmp/test-repo-fubar has a fixed name because it gets generated
# into the checkfile as the value of the svn:sync-from-url
# property.  If that changes on each run it's going to cause
# spurious test failures

# shellcheck disable=SC1091
. ./common-setup.sh

need svn

trap 'rm -rf /tmp/test-repo-fubar /tmp/out$$ /tmp/mirror$$' EXIT HUP INT QUIT TERM

# Make a repository from a sample stream.
./svn-to-svn -q -n /tmp/test-repo-fubar <vanilla.svn
# Then exercise the mirror code to make a copy of it.
${REPOTOOL:-repotool} mirror -q file:///tmp/test-repo-fubar /tmp/mirror$$

# This test can fail spuriously due to format skew.  Kevin Caswick
# explains:
# > Note: Test repotool export of svn repo fails on svnadmin, version
# > 1.6.11 as the dump is sorted differently, moving svn:log before
# > svn:author instead of after svn:date. It works fine on svnadmin,
# > version 1.8.10.
(tapcd /tmp/mirror$$; ${REPOTOOL:-repotool} export) >/tmp/out$$

# This test generates randomly time-varying UUIDs.
stem=$(echo "$0" | sed -e 's/.sh//')
case $1 in
    --regress)
	legend=$(sed -n '/^## /s///p' <"$0" 2>/dev/null);
        sed </tmp/out$$ -e '/UUID:/d' | QUIET=${QUIET} ./tapdiffer "${legend}" "${stem}.chk"; ;;
    --rebuild)
	sed </tmp/out$$ -e '/UUID:/d' >"${stem}.chk";;
    --view)
	cat /tmp/out$$;;
    *)
        echo "not ok - $0: unknown mode $1 # SKIP";; 
esac

# end