sbglasius opened a new pull request, #16316:
URL: https://github.com/apache/grails-core/pull/16316

   ## Problem
   
   The 7.2.x → 8.0.x merge hit an `add/add` conflict on 
`DefaultTransactionServiceSpec` — both branches had independently created the 
file. The resolution kept 8.0.x's version, which had **1** test, and dropped 
7.2.x's **14**.
   
   **The drop was accidental, not a scoping decision.** The resolution was 
half-applied: it took 7.2.x's four Spring transaction imports but not the test 
methods that use them, leaving `PlatformTransactionManager`, 
`TransactionDefinition`, `TransactionStatus` and `TransactionSystemException` 
imported and unused on `8.0.x`. Pre-merge `8.0.x` had neither the imports nor 
the tests, so they arrived together and only half survived.
   
   ## Changes
   
   Restores 7.2.x's suite and keeps 8.0.x's accessor test — 15 tests:
   
   - the full `withTransaction` / `withRollback` / `withNewTransaction` matrix 
across the `Closure`, `TransactionDefinition` and `Map` overloads, each with 
its "datastore does not support transactions" counterpart
   - `getDatastore/setDatastore round-trip`, covering the explicit `datastore` 
field `8.0.x` added to `DefaultTransactionService`
   
   Also drops the class-level comment claiming the overloads were out of scope 
— untrue once the suite is restored, and it referenced "this PR" and "item 14" 
of a plan that is not in the repository.
   
   ## Why the suite ports unchanged
   
   `DefaultTransactionService` differs between the two branches *only* by that 
added field and its accessors. Every method the restored tests exercise is 
byte-identical between 7.2.x and 8.0.x, and 7.2.x's property-style 
`transactionService.datastore = ...` resolves to the new setter.
   
   ## Verification
   
   ```
   ./gradlew :grails-datamapping-core:test --tests 
"org.grails.datastore.gorm.services.DefaultTransactionServiceSpec"
   ```
   
   All 15 pass. `:grails-datamapping-core:codeStyle` is clean and every import 
is used.
   
   `DefaultTenantServiceSpec`, the other `add/add` in that merge, was resolved 
cleanly (only a `{ }` → `{}` whitespace change) and is left alone — its class 
genuinely diverged on 8.0.x with the `RESOLVING` reentrancy guard, so 8.0.x's 
version is the correct one there.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to