1 if [ -z "$REG_DIR" ]; then
2 echo "ERROR: You cannot run tests by hand" >&2
8 export PATH=$PWD/..:$PATH
11 export TOUCH_DATE="200701010000.00"
12 export GIT_AUTHOR_DATE="2007-01-01 00:00:00 UTC"
13 export GIT_COMMITTER_DATE="2007-01-01 00:00:00 UTC"
14 export GIT_AUTHOR_NAME="Author Name"
15 export GIT_AUTHOR_EMAIL="author@email"
16 export GIT_COMMITTER_NAME="Commiter Name"
17 export GIT_COMMITTER_EMAIL="commiter@email"
30 sed -e "s,$PWD,PATH,g" \
31 -e "s,$REG_DIR/\.\./,,g" \
32 -e "s,^Usage: guilt-,Usage: guilt ,g" \
33 -e "s,\.\.\. initial, initial,g" \
34 -e "s,^Already on\( branch\)\? [\"']\([^\"']*\)[\"']$,Already on \"\2\",g" \
35 -e "s,^Switched to branch [\"']\([^\"']*\)[\"'],Switched to branch \"\1\",g"
40 sed -e 's:^\([0-9]*\) bytes (\([0-9]*\.[0-9]* .B\)) copied.*$:\1 bytes (\2) copied:'
47 "$@" 2>&1 | replace_path && return 0
51 # usage: shouldfail <cmd>..
66 find .git/refs/patches -type f -exec dump_ref {} \; 2> /dev/null || true
67 find .git/refs/patches -type d -exec dump_reg {} \; 2> /dev/null || true
68 find .git/patches -exec dump_reg {} \;
72 function setup_git_repo
74 # set up the repo so we have something interesting to run guilt on
77 git commit -s -m "initial" 2> /dev/null > /dev/null
78 # the commit should be d4850419ccc1146c7169f500725ce504b9774ed0
81 function setup_guilt_repo
83 mkdir -p .git/patches/master
85 # patch to modify a file
86 cp "$REG_DIR/data/modify.patch" .git/patches/master/modify
88 # patch to add a new file
89 cp "$REG_DIR/data/add.patch" .git/patches/master/add
91 # patch to remove an existing file
92 cp "$REG_DIR/data/remove.patch" .git/patches/master/remove
94 # patch to change a mode
95 cp "$REG_DIR/data/mode.patch" .git/patches/master/mode
97 # the series file of all the things
98 cp "$REG_DIR/data/series" .git/patches/master/series
101 touch .git/patches/master/status
104 touch .git/patches/master/status
106 touch -a -m -t "$TOUCH_DATE" .git/patches/master/modify
107 touch -a -m -t "$TOUCH_DATE" .git/patches/master/add
108 touch -a -m -t "$TOUCH_DATE" .git/patches/master/remove
109 touch -a -m -t "$TOUCH_DATE" .git/patches/master/mode
112 function reset_git_repo
116 git reset --hard d4850419ccc1146c7169f500725ce504b9774ed0
128 if [ $UNAME_S = "Linux" ]
133 declare incr n1 n2 num1 num2
139 n1=$((${2} - ${1} + 1))
147 # /usr/bin/awk -v n1=${num1} -v n2=${num2} -v add=${incr} 'BEGIN{ for(i=n1; i<=n2; i+=add) print i;}' | /usr/bin/sed 's/.+e.+/0/'
148 /usr/bin/awk -v n1=${num1} -v n2=${num2} -v add=${incr} 'BEGIN{ for(i=n1; i<=n2; i+=add) print i;}' | /usr/bin/sed -E '/e/s/^.+e.+$/0/'