diff options
author | Martin Pool <mbp@samba.org> | 2001-09-06 05:52:40 +0000 |
---|---|---|
committer | Martin Pool <mbp@samba.org> | 2001-09-06 05:52:40 +0000 |
commit | 99cdaff70da08dffb209ba58cd5cae4b1a4fb736 (patch) | |
tree | c717a9a176231faf5c408678a85d4b7fbfe109fe /testsuite/rsync.fns | |
parent | c36b5017b8ecfd4ec05d60278558bda785b0659a (diff) | |
download | rsync-99cdaff70da08dffb209ba58cd5cae4b1a4fb736.tar.gz |
Add a makepath() function to cope with machines that do not have
'mkdir -p'. (Stone knives and bearskins...)
Diffstat (limited to 'testsuite/rsync.fns')
-rw-r--r-- | testsuite/rsync.fns | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/testsuite/rsync.fns b/testsuite/rsync.fns index 369d38c8..8dd91a1b 100644 --- a/testsuite/rsync.fns +++ b/testsuite/rsync.fns @@ -77,6 +77,30 @@ hands_setup() { + +#################### +# Many machines do not have "mkdir -p", so we have to build up long paths. +# How boring. +makepath () { + p="$1" + ( + # Absolut Unix. + if echo $p | grep '^/' >/dev/null + then + cd / + fi + + # This will break if $1 contains a space. + for c in `echo $p | tr '/' ' '` + do + [ -d "$c" ] || mkdir "$c" || return $? + cd "$c" || return $? + done + ) +} + + + ########################### # Run a test (in '$1') then compare directories $2 and $3 to see if # there are any difference. If there are, explain them. |