improve error when srcs is used with directories with the same post-hash name

This commit is contained in:
Jeff Huffman 2023-01-21 05:33:20 -05:00
parent 2773ad7600
commit 183939da54
No known key found for this signature in database
GPG Key ID: 7F1A93286A8960C7

View File

@ -992,13 +992,22 @@ stripHash() {
unpackCmdHooks+=(_defaultUnpack)
_defaultUnpack() {
local fn="$1"
local destination
if [ -d "$fn" ]; then
destination="$(stripHash "$fn")"
if [ -e "$destination" ]; then
echo "Cannot copy $fn to $destination: destination already exists!"
echo "Did you specify two \"srcs\" with the same \"name\"?"
return 1
fi
# We can't preserve hardlinks because they may have been
# introduced by store optimization, which might break things
# in the build.
cp -pr --reflink=auto -- "$fn" "$(stripHash "$fn")"
cp -pr --reflink=auto -- "$fn" "$destination"
else