# HG changeset patch # User Aleksej Bobylev # Date 1488386772 -7200 # Node ID 9b02985442a0e1226edb346a56c91874a7a2ba11 # Parent 86a8c2d50361427b860e07502f65bf124f4b8922 cook: cook_copy_files() and cook_copy_folders(): don't over-copy already copied files/folders keeping hardlinked files/folders at the same time. diff -r 86a8c2d50361 -r 9b02985442a0 cook --- a/cook Tue Feb 28 18:32:09 2017 +0100 +++ b/cook Wed Mar 01 18:46:12 2017 +0200 @@ -1189,7 +1189,9 @@ for i in $@; do for j in $(find . -name $i ! -type d); do mkdir -p $fs$(dirname ${j#.}) - cp -a $j $fs$(dirname ${j#.}) + # Option -l used here to prevent hardinked files to become individual files, + # please don't remove it: package with individual files becomes bigger. + [ -e "$fs${j#.}" ] || cp -al $j $fs$(dirname ${j#.}) done done cd - >/dev/null @@ -1207,7 +1209,9 @@ for i in $@; do for j in $(find . -name $i -type d); do mkdir -p $fs$(dirname ${j#.}) - cp -a $j $fs$(dirname ${j#.}) + # Option -l used here to prevent hardinked folders to become individual folders, + # please don't remove it: package with individual folders becomes bigger. + [ -d "$fs${j#.}" ] || cp -al $j $fs$(dirname ${j#.}) done done cd - >/dev/null