@@ -42,15 +42,13 @@ if [ ! -f "${MERGE_FILE}" ]; then
4242 echo " # Files and folders to merge when syncing ${TEMPLATE_REPO_DIR} back in to this repository" > ${MERGE_FILE}
4343fi
4444
45- # Read the .template-ignore file into an array
46- while IFS= read -r line || [ -n " $line " ]; do
47- IGNORED_PATHS+=(" $line " )
48- done < " $IGNORE_FILE "
45+ TMP_SYNC_IGNORE=${PWD} /tmp-sync-ignore
46+ mkdir -p " ${TMP_SYNC_IGNORE} "
47+ cp " ${IGNORE_FILE} " " ${TMP_SYNC_IGNORE} /.gitignore"
4948
50- # Read the .template-merge file into an array
51- while IFS= read -r line || [ -n " $line " ]; do
52- MERGED_PATHS+=(" $line " )
53- done < " $MERGE_FILE "
49+ TMP_SYNC_MERGE=${PWD} /tmp-sync-merge
50+ mkdir -p " ${TMP_SYNC_MERGE} "
51+ cp " ${MERGE_FILE} " " ${TMP_SYNC_MERGE} /.gitignore"
5452
5553# Check if a file is ignored.
5654is_ignored () {
@@ -61,27 +59,25 @@ is_ignored() {
6159 return 0
6260 fi
6361
64- for ignored in " ${IGNORED_PATHS[@]} " ; do
65- if [[ -n " $ignored " && " $file " =~ $ignored ]]; then
66- return 0
67- fi
68- done
69- return 1
62+ pushd " ${TMP_SYNC_IGNORE} " > /dev/null
63+ git check-ignore -q " ${file} "
64+ R=$?
65+ popd > /dev/null
66+ return $R
7067}
7168
7269is_merge () {
7370 local file=${1}
7471
75- for merged in " ${MERGED_PATHS[@]} " ; do
76- if [[ -n " $merged " && " $file " =~ $merged ]]; then
77- return 0
78- fi
79- done
80- return 1
72+ pushd " ${TMP_SYNC_MERGE} " > /dev/null
73+ git check-ignore -q " ${file} "
74+ R=$?
75+ popd > /dev/null
76+ return $R
8177}
8278
8379# Navigate to the template directory
84- cd " ${TEMPLATE_REPO_DIR} " || exit
80+ pushd " ${TEMPLATE_REPO_DIR} " || exit
8581FILES_ADDED=()
8682FILES_WITH_CHANGES=()
8783
@@ -127,6 +123,9 @@ while IFS= read -r -d '' file || [[ -n $file ]]; do
127123 fi
128124done < <( find . -type f -print0)
129125
126+ popd
127+ rm -rf " ${TMP_SYNC_IGNORE} " " ${TMP_SYNC_MERGE} "
128+
130129echo ------------------------------------------
131130echo " ${# FILES_ADDED[@]} files added, ${# FILES_WITH_CHANGES[@]} files with changes detected."
132131
0 commit comments