#!/bin/bash

set -e

rm -rf a/
rm -rf test_preserved/
rm -rf test_umask

umask 0022
mkdir -p a/b
chmod 0700 a
touch a/b/c_file
chmod 775 a/b/c_file

echo Original source directories and files
echo  ls -la
ls -la
ls -la a/b

mkdir test_preserved
umask 0002
echo Copying with --parents with normal mode preservation \(and umask=0002\)
echo cp --parents a/b/c_file test_preserved/
cp --parents a/b/c_file test_preserved/

echo normal case, permissions on directory match their originals
echo  ls -la test_preserved/
ls -la test_preserved/
# a = 0700

ls -la test_preserved/a/b
# c_file = 777

mkdir test_umask
echo Copying with --parents and --no-preserve=mode
echo cp --parents --no-preserve=mode a/b/c_file test_umask/
cp --parents --no-preserve=mode a/b/c_file test_umask/

echo failure case - directory 'a' retains its original permissions even though --no-preserve=mode was used
echo  ls -la test_umask/
ls -la test_umask/

echo note though that mode bits for c_file are set correctly according to umask
echo  ls -la test_umask/a/b/
ls -la test_umask/a/b/


