Skip to content

chore(git): remove orphan gitlinks (.claude, bms-monorepo, evo-ai-docs)#102

Merged
dpaes merged 2 commits into
developfrom
chore/remove-claude-gitlink
May 21, 2026
Merged

chore(git): remove orphan gitlinks (.claude, bms-monorepo, evo-ai-docs)#102
dpaes merged 2 commits into
developfrom
chore/remove-claude-gitlink

Conversation

@daniloleonecarneiro

@daniloleonecarneiro daniloleonecarneiro commented May 21, 2026

Copy link
Copy Markdown
Contributor

Summary

CI quebra com:

fatal: No url found for submodule path '.claude' in .gitmodules
fatal: No url found for submodule path 'bms-monorepo' in .gitmodules
fatal: No url found for submodule path 'evo-ai-docs' in .gitmodules
Error: The process '/usr/bin/git' failed with exit code 128

Causa: no commit 73646ae (chore(submodules): update submodule commits and add new submodules), três paths foram adicionados ao índice como gitlinks (mode 160000) sem entries correspondentes em .gitmodules:

Path SHA Em .gitmodules?
.claude e8b141d
bms-monorepo 374e13c
evo-ai-docs 9cf73e9

Em todo checkout/CI o git submodule update --init aborta no primeiro path órfão. .gitignore já tinha .claude/* (ignora conteúdo, não a entrada gitlink na árvore); bms-monorepo/ e evo-ai-docs/ nunca foram ignorados.

Fix

  • git rm --cached .claude bms-monorepo evo-ai-docs — remove os 3 gitlinks órfãos do índice.
  • .gitignore: adicionar .claude, .claude/, bms-monorepo/ e evo-ai-docs/ para impedir que sejam re-adicionados.

.claude/ é config local per-developer do Claude Code. bms-monorepo/ e evo-ai-docs/ são clones-irmãos locais que devem ficar fora deste superproject — se forem virar submodules de verdade, isso é mudança separada com entries em .gitmodules.

Test plan

  • git ls-tree HEAD | awk '$2=="commit"' — só lista os 10 submodules registrados em .gitmodules.
  • git status no working tree limpo — .gitignore cobre os 3 diretórios.
  • CI verde após merge — git submodule update --init não levanta mais o fatal: No url found.
  • Devs com .claude/, bms-monorepo/, evo-ai-docs/ locais não veem como untracked após pull.

@sourcery-ai

sourcery-ai Bot commented May 21, 2026

Copy link
Copy Markdown
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Removes an orphaned .claude gitlink that was causing submodule-related CI failures and tightens .gitignore rules so .claude as a directory or file is never tracked while still ignoring any contents under it.

File-Level Changes

Change Details Files
Remove orphan .claude gitlink from the index and harden ignore rules so local Claude config is never tracked or treated as a submodule.
  • Delete the .claude gitlink entry from version control so Git no longer treats it as a submodule without a matching .gitmodules entry.
  • Update .gitignore to ignore .claude and .claude/ in addition to .claude/*, preventing the directory itself (and its contents) from being tracked if present locally.
.claude
.gitignore

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@daniloleonecarneiro daniloleonecarneiro changed the title chore(git): remove orphan .claude gitlink chore(git): remove orphan gitlinks (.claude, bms-monorepo, evo-ai-docs) May 21, 2026
Danilo Leone added 2 commits May 20, 2026 22:51
`.claude` was committed in 73646ae as a gitlink (mode 160000) without a
matching entry in `.gitmodules`. CI fails on `git submodule update --init`
with `fatal: No url found for submodule path '.claude' in .gitmodules`.

Remove the gitlink from the index and broaden `.gitignore` so the local
Claude Code config dir cannot be re-added as a tracked entity.
Same root cause as the `.claude` removal: both `bms-monorepo` and
`evo-ai-docs` were committed in 73646ae as gitlinks (mode 160000) without
matching entries in `.gitmodules`. CI fails on `git submodule update --init`
with `fatal: No url found for submodule path '...'`.

Remove both gitlinks and broaden `.gitignore` so the local sibling clones
cannot be re-added as tracked entities.
@daniloleonecarneiro daniloleonecarneiro force-pushed the chore/remove-claude-gitlink branch from 7dc88ac to 12a1583 Compare May 21, 2026 01:55
@dpaes

dpaes commented May 21, 2026

Copy link
Copy Markdown

Code review — EVO-1241 prerequisite (orphan gitlinks)

Code is correct. Removes the .claude, bms-monorepo, evo-ai-docs gitlinks (mode 160000, no .gitmodules entry, added in 73646ae) and ignores them, fixing git submodule update --init across CI/checkout. Verified: on this branch Lint Dockerfiles and Validate Docker Compose both pass — and those same jobs fail on #101 purely because of these orphan gitlinks. So this PR unblocks the whole monorepo CI.

🟢 LOW — .gitignore ends up with .claude, .claude/ and .claude/* (redundant, harmless).

⚠️ The real gate here is process, not code: the card flags "Necessário conversar com o Davidson antes". This touches the submodule structure — if bms-monorepo / evo-ai-docs are meant to become real submodules, this PR hides them. Not a review call to make unilaterally.

No verdict — awaiting Davidson's decision.

@dpaes

dpaes commented May 21, 2026

Copy link
Copy Markdown

Code review — EVO-1241 — Round 2 (delta vs the 03:03 review)

No commits pushed since round 1 (head still chore(git): remove orphan bms-monorepo / evo-ai-docs gitlinks, 01:55). My round-1 read stands: the code is correct — it removes the orphan 160000 gitlinks (.claude, bms-monorepo, evo-ai-docs, introduced by 73646ae with no .gitmodules entry) and unbreaks git submodule update --init. I re-confirmed this branch makes Lint Dockerfiles and Validate Docker Compose pass, which is what unblocks the rest of the stack's CI.

The real gate here is process, not code: the card flags "Necessário conversar com o Davidson antes" — if bms-monorepo/evo-ai-docs are meant to become real submodules, this PR hides them instead. That sign-off is the blocker.

🟢 L-4 (.gitignore lists .claude, .claude/, .claude/* — redundant, harmless) — unchanged nit.

No verdict from me — awaiting Davidson's sign-off; consolidated status on the Linear card.

@dpaes

dpaes commented May 21, 2026

Copy link
Copy Markdown

Code LGTM (round-2 re-review). The gitlink cleanup is correct — it removes the orphan 160000 entries (.claude, bms-monorepo, evo-ai-docs) with no .gitmodules entry and unbreaks git submodule update --init; verified it makes Lint Dockerfiles and Validate Docker Compose pass, which unblocks the rest of the stack's CI.

⚠️ Not approving/merging yet — by design. The card flags "Necessário conversar com o Davidson antes": if bms-monorepo/evo-ai-docs are meant to become real submodules, this PR hides them instead. That sign-off is the gate, and this is the first merge in the chain (#102 → #90 → #3 → submodule bump → #101). Holding the formal approve + merge until Davidson clears it.

@dpaes

dpaes commented May 21, 2026

Copy link
Copy Markdown

Update: the reviewer (@daniel.paes) has authorized proceeding with the full merge chain, so the hold above is lifted. Merging now as the first link (#102 → #90 → #3). The submodule-pointer bump and #101 are intentionally left for the release coordination (not part of this pass).

@dpaes dpaes merged commit 4d873c2 into develop May 21, 2026
3 checks passed
@dpaes dpaes deleted the chore/remove-claude-gitlink branch May 21, 2026 22:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants