Index: appfs-mk ================================================================== --- appfs-mk +++ appfs-mk @@ -14,10 +14,12 @@ echo "Unable to find appfs directory." >&2 exit 1 fi +mkdir -p "${appfsdir}/sha1" + function sha1() { local filename filename="$1" @@ -55,11 +57,20 @@ stat_format='%Y' extra_data="$(readlink "${filename}")" ;; file) stat_format='%Y,%s' - extra_data="$(sha1 "${filename}")" + filename_hash="$(sha1 "${filename}")" + extra_data="${filename_hash}" + + filename_intree="${appfsdir}/sha1/${filename_hash}" + + if [ ! -e "${filename_intree}" ]; then + cat "${filename}" > "${filename_intree}.tmp" + + mv "${filename_intree}.tmp" "${filename_intree}" + fi ;; esac stat_data="$(stat --format="${stat_format}" "${filename}")" if [ -z "${extra_data}" ]; then