File tree Expand file tree Collapse file tree 1 file changed +13
-9
lines changed
Expand file tree Collapse file tree 1 file changed +13
-9
lines changed Original file line number Diff line number Diff line change @@ -89,15 +89,19 @@ git checkout dev
8989info " Merging main into dev..."
9090if git merge main --no-edit; then
9191 success " Successfully merged main into dev"
92- # Report any openspec/changes files modified by the merge (may indicate main overwrote dev's plans)
93- CHANGED_OPENSPEC=$( git diff --name-only HEAD^1..HEAD -- " openspec/changes/" 2> /dev/null || true)
94- if [ -n " $CHANGED_OPENSPEC " ]; then
95- warn " The following openspec/changes files were modified by the merge (main's version was merged in):"
96- echo " $CHANGED_OPENSPEC " | sed ' s/^/ /'
97- echo " "
98- echo " Review the changes. To restore dev's version of a file (before merge):"
99- echo " git checkout HEAD^1 -- <file>"
100- echo " "
92+ # Report any openspec/changes files modified by the merge only when a merge commit was created.
93+ # When already up to date, Git does not create a merge commit; diffing HEAD^1..HEAD would then
94+ # compare dev to its single parent and falsely report dev's own openspec changes as merge changes.
95+ if git rev-parse --verify HEAD^2 > /dev/null 2>&1 ; then
96+ CHANGED_OPENSPEC=$( git diff --name-only HEAD^1..HEAD -- " openspec/changes/" 2> /dev/null || true)
97+ if [ -n " $CHANGED_OPENSPEC " ]; then
98+ warn " The following openspec/changes files were modified by the merge (main's version was merged in):"
99+ echo " $CHANGED_OPENSPEC " | sed ' s/^/ /'
100+ echo " "
101+ echo " Review the changes. To restore dev's version of a file (before merge):"
102+ echo " git checkout HEAD^1 -- <file>"
103+ echo " "
104+ fi
101105 fi
102106else
103107 error " Merge conflict detected!"
You can’t perform that action at this time.
0 commit comments