Skip to content

Commit 5404c18

Browse files
committed
Fix review finding on dev sync script
1 parent 870db6a commit 5404c18

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

scripts/sync-dev-from-main.sh

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -89,15 +89,19 @@ git checkout dev
8989
info "Merging main into dev..."
9090
if 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
102106
else
103107
error "Merge conflict detected!"

0 commit comments

Comments
 (0)