Skip to content

GitAttributes template: add *.groupproj (plus .sql/.ps1/.md) - #3

Open
omonien wants to merge 1 commit into
masterfrom
feature/gitattributes-groupproj
Open

GitAttributes template: add *.groupproj (plus .sql/.ps1/.md)#3
omonien wants to merge 1 commit into
masterfrom
feature/gitattributes-groupproj

Conversation

@omonien

@omonien omonien commented Aug 12, 2026

Copy link
Copy Markdown
Owner

Problem

*.groupproj is not declared in the GitAttributes template, so Delphi project
groups are exempt from EOL normalization
— their line endings depend on each
developer's local core.autocrlf setting rather than on the repository's rules.

A .groupproj belongs to the same toolchain as .dproj (the IDE reads and rewrites
both), so it should be normalized the same way.

Found while auditing a Delphi project against these standards:

$ git check-attr text -- Zielsteuerung_Wiet.groupproj
Zielsteuerung_Wiet.groupproj: text: unspecified     # <-- not covered

$ git check-attr text -- tests/SDETests.dproj
tests/SDETests.dproj: text: set                     # correctly covered

Change

  • *.groupproj text eol=crlf — the actual fix.
  • *.sql, *.ps1, *.md — also common in Delphi repositories (migration scripts,
    build scripts, documentation) and likewise unspecified until now.
  • Version header 2.02.1, which brings the template in line with
    Delphi Style Guide EN.md (already at 2.1) as its own header asks for
    ("keep in sync with Style Guide headers"). Delphi GitIgnore.txt is untouched
    and still reads 2.0 — worth a separate look, but out of scope here.

Comments are in English, matching the rest of the template.

Notes

Purely additive — no existing rule is changed or removed. For existing repositories
the header's advice applies unchanged: run git add --renormalize . after updating.

Verified on a real project: after adding the line, check-attr reports
text: set eol=crlf for the group files, --renormalize reports no content change
(the blobs were already normalized), and both project groups still build green.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated the template version to 2.1.
    • Improved line-ending consistency for Delphi project groups, SQL, PowerShell, and Markdown files.

… 2.1

*.groupproj was not declared, so Delphi project groups were exempt from EOL
normalization: their line endings depended on each developer's local
core.autocrlf setting. A .groupproj belongs to the same toolchain as .dproj
and should be treated the same way.

Also added .sql, .ps1 and .md -- all common in Delphi repositories (migration
scripts, build scripts, documentation) and all previously unspecified.

Found while auditing a Delphi project against these standards: the project's
.groupproj files reported "text: unspecified" from git check-attr, while every
.dproj was correctly normalized.

Note for existing repositories: run "git add --renormalize ." after updating,
as the header already states.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 8f29d812-4eb0-487f-8e7c-e3ece97bfb88

📥 Commits

Reviewing files that changed from the base of the PR and between 0a3a9ef and b69cbc7.

📒 Files selected for processing (1)
  • Delphi GitAttributes.txt

📝 Walkthrough

Walkthrough

The Delphi Git attributes template changes from version 2.0 to 2.1 and adds CRLF normalization rules for project groups, SQL, PowerShell, and Markdown files.

Changes

Git attributes normalization

Layer / File(s) Summary
Template version and normalization rules
Delphi GitAttributes.txt
The template version changes to 2.1. CRLF normalization rules are added for .groupproj, .sql, .ps1, and .md files, with explanatory comments.

Estimated code review effort: 1 (Trivial) | ~2 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the GitAttributes additions and names the main file types affected.
Description check ✅ Passed The description is detailed and relevant, but it omits the template's Language section and maintainer post-merge checklist.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/gitattributes-groupproj

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant