Conflict Prediction
squirex conflict predicts merge conflicts between branches before you run git merge, analyzing Apex method signatures and SOQL dependency overlaps.
Usageโ
squirex conflict -b main,feature/my-branch
Outputโ
Conflict Prediction: main โ feature/my-branch
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
HIGH RISK:
AccountController.cls :: getActiveAccounts()
โข main: returns List<Account> with 3 SOQL filters
โข feature: adds 2 additional WHERE clauses โ query result incompatible
MEDIUM RISK:
ContactService.cls :: createContact()
โข Both branches modified parameter list (different signatures)
NO CONFLICT:
OpportunityHandler.cls โ only modified in feature branch
How It Worksโ
SquireX parses both branches' Apex ASTs and identifies:
- Signature conflicts โ same method, different parameter types or return types
- SOQL dependency conflicts โ same SOQL target, diverging field lists
- DML target conflicts โ both branches performing DML on the same SObject type in the same method