mirror of
https://github.com/privacyguides/privacyguides.org.git
synced 2025-09-04 17:18:53 +00:00
feat!: Include ZIM files in releases (#3102)
This commit is contained in:
20
tools/symlink-duplicates.sh
Normal file
20
tools/symlink-duplicates.sh
Normal file
@@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
declare -A file_hashes
|
||||
|
||||
find . -type f | while read -r file; do
|
||||
hash=$(sha256sum "$file" | awk '{print $1}')
|
||||
if [[ -n "${file_hashes[$hash]+_}" ]]; then
|
||||
# Duplicate found, replace with symlink to first copy
|
||||
first="${file_hashes[$hash]}"
|
||||
# Remove the duplicate file
|
||||
rm "$file"
|
||||
# Create symlink (relative path)
|
||||
ln -s "$(realpath --relative-to="$(dirname "$file")" "$first")" "$file"
|
||||
echo "Replaced duplicate: $file -> $first"
|
||||
else
|
||||
# First time seeing this hash
|
||||
file_hashes[$hash]="$file"
|
||||
fi
|
||||
done
|
Reference in New Issue
Block a user