@@ -10,26 +10,31 @@ FILES=$(echo "${ALL_FILES[*]}" | awk '{gsub(/ /,"\n"); print $0;}' | awk -v d="|
10
10
11
11
echo " Checking for file changes: \" ${FILES} \" ..."
12
12
13
- STAGED_FILES+ =$( git diff --diff-filter=ACMUXTR --name-only | grep -E " (${FILES} )" | awk -v d=" |" ' {s=(NR==1?s:s d)$0}END{print s}' )
13
+ TRACKED_FILES =$( git diff --diff-filter=ACMUXTR --name-only | grep -E " (${FILES} )" | awk -v d=" |" ' {s=(NR==1?s:s d)$0}END{print s}' )
14
14
15
- # Find unstaged changes
16
- UNSTAGED_FILES+ =$( git status --porcelain | awk ' {$1=""; print $0 } ' | grep -E " (${FILES} )" | awk -v d=" |" ' {s=(NR==1?s:s d)$0}END{print s}'
15
+ # Find untracked changes
16
+ UNTRACKED_FILES =$( git ls-files --others --exclude-standard | grep -E " (${FILES} )" | awk -v d=" |" ' {s=(NR==1?s:s d)$0}END{print s}' )
17
17
18
18
CHANGED_FILES=" "
19
19
20
- if [[ -n " $STAGED_FILES " && -n " $UNSTAGED_FILES " ]]; then
21
- CHANGED_FILES=" $STAGED_FILES | $UNSTAGED_FILES "
22
- elif [[ -n " $STAGED_FILES " && -z " $UNSTAGED_FILES " ]]; then
23
- CHANGED_FILES=" $STAGED_FILES "
24
- elif [[ -n " $UNSTAGED_FILES " && -z " $STAGED_FILES " ]]; then
25
- CHANGED_FILES=" $UNSTAGED_FILES "
20
+ if [[ -n " $TRACKED_FILES " && -n " $UNTRACKED_FILES " ]]; then
21
+ CHANGED_FILES=" $TRACKED_FILES | $UNTRACKED_FILES "
22
+ elif [[ -n " $TRACKED_FILES " && -z " $UNTRACKED_FILES " ]]; then
23
+ CHANGED_FILES=" $TRACKED_FILES "
24
+ elif [[ -n " $UNTRACKED_FILES " && -z " $TRACKED_FILES " ]]; then
25
+ CHANGED_FILES=" $UNTRACKED_FILES "
26
26
fi
27
27
28
+ CHANGED_FILES=$( echo " $CHANGED_FILES " | awk ' {gsub(/\|/,"\n"); print $0;}' | sort -u | awk -v d=" |" ' {s=(NR==1?s:s d)$0}END{print s}' )
29
+
28
30
if [[ -n " $CHANGED_FILES " ]]; then
29
31
echo " Found uncommited changes"
30
32
echo " ---------------"
31
- printf ' %s\n ' " $( echo $ CHANGED_FILES | awk ' {gsub(/\|/," "); print $0;}' ) "
33
+ echo " $ CHANGED_FILES" | awk ' {gsub(/\|/,"\n "); print $0;}'
32
34
echo " ---------------"
35
+
36
+ CHANGED_FILES=$( echo " $CHANGED_FILES " | awk ' {gsub(/\|/,"\n"); print $0;}' | awk -v d=" $INPUT_SEPARATOR " ' {s=(NR==1?s:s d)$0}END{print s}' )
37
+
33
38
echo " ::set-output name=files_changed::true"
34
39
echo " ::set-output name=changed_files::$CHANGED_FILES "
35
40
else
0 commit comments