33 lines
658 B
Bash
Executable File
33 lines
658 B
Bash
Executable File
#!/bin/bash
|
|
|
|
MAP_FILE=".sync-map"
|
|
|
|
if [ ! -f "$MAP_FILE" ]; then
|
|
echo "No .sync-map found"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Syncing external files INTO repo..."
|
|
|
|
while IFS=: read -r src dest
|
|
do
|
|
eval source_file="$src"
|
|
eval dest_file="$dest"
|
|
# skip empty or comment lines
|
|
[ -z "$source_file" ] && continue
|
|
case "$source_file" in \#*) continue ;; esac
|
|
|
|
if [ ! -f "$source_file" ]; then
|
|
echo "Missing external file: $source_file"
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p "$(dirname "$dest_file")"
|
|
cp "${source_file}" "$dest_file"
|
|
|
|
git add "$dest_file"
|
|
echo "Copied + staged: $dest_file"
|
|
done < "$MAP_FILE"
|
|
|
|
echo "Done syncing IN"
|