Skip to content

feat(tree): no-commit option on applyChange#27665

Open
yann-achard-MS wants to merge 1 commit into
microsoft:mainfrom
yann-achard-MS:no-commit
Open

feat(tree): no-commit option on applyChange#27665
yann-achard-MS wants to merge 1 commit into
microsoft:mainfrom
yann-achard-MS:no-commit

Conversation

@yann-achard-MS

@yann-achard-MS yann-achard-MS commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Description

Adds an optional parameter to TreeBranchAlpha.applyChange that makes it possible not to generate a commit for the applied change. This makes sense when the change being applied does not correspond to a real commit but instead correspond to rebase.

This is used in #27649.

Breaking Changes

None

@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Hi! Thank you for opening this PR. Want me to review it?

Based on the diff (91 lines, 6 files), I've queued these reviewers:

  • Correctness — logic errors, race conditions, lifecycle issues
  • Security — vulnerabilities, secret exposure, injection
  • API Compatibility — breaking changes, release tags, type design
  • Performance — algorithmic regressions, memory leaks
  • Testing — coverage gaps, hollow tests

How this works

  • Adjust the reviewer set by ticking/unticking boxes above. Reviewer toggles alone don't trigger anything.

  • Tick Start review below to dispatch the review fleet.

  • After review finishes, tick Start review again to request another run — it auto-resets after each dispatch.

  • This comment updates as new commits land; your reviewer selections are preserved.

  • Start review

@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

🔗 No broken links found! ✅

Your attention to detail is admirable.

linkcheck output

1: starting server using command "npm run serve -- --no-open"
and when url "[ 'http://127.0.0.1:3000' ]" is responding with HTTP status code 200
running tests using command "npm run check-links"


> fluid-framework-website@0.0.0 serve
> docusaurus serve --no-open

[SUCCESS] Serving "build" directory at: http://localhost:3000/

> fluid-framework-website@0.0.0 check-links
> linkcheck http://localhost:3000 --skip-file skipped-urls.txt

Crawling...

Stats:
  294296 links
    1937 destination URLs
    2187 URLs ignored
       0 warnings
       0 errors


@yann-achard-MS yann-achard-MS marked this pull request as ready for review July 10, 2026 00:07
@yann-achard-MS yann-achard-MS requested a review from a team as a code owner July 10, 2026 00:07
Copilot AI review requested due to automatic review settings July 10, 2026 00:07

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.

Comment thread packages/dds/tree/src/simple-tree/api/tree.ts
Comment on lines +359 to +360
* @param generateCommit - whether to generate a commit for this change. Defaults to true.
* Typically set to false when applying the net change corresponding to a rebase.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

What do we mean by "generate a commit" here? This isn't immediately clear to me. Might be worth expanding on that here and/or expanding on the rebase example.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Based on the tests below, this seems to be whether or not we emit change events in response to the applied change? If so, I think we should clarify that here.

@github-actions

Copy link
Copy Markdown
Contributor

Bundle size comparison

Base commit: 55636a25ae8942e87dc83b267fd1595095eda681
Head commit: 75e785b44351591ecfffead04e777ae93b75cee9

Notable changes

No bundles changed by ≥ 500 bytes parsed.

Per-bundle deltas

@fluid-example/bundle-size-tests

  • azureClient.js: parsed 619098 → 619154 (+56), gzip 164828 → 164874 (+46)
  • odspClient.js: parsed 591824 → 591880 (+56), gzip 158938 → 158983 (+45)
  • aqueduct.js: parsed 525587 → 525622 (+35), gzip 140703 → 140735 (+32)
  • fluidFramework.js: parsed 392807 → 393038 (+231), gzip 111526 → 111585 (+59)
  • sharedTree.js: parsed 382194 → 382418 (+224), gzip 108914 → 108964 (+50)
  • containerRuntime.js: parsed 303937 → 303951 (+14), gzip 83200 → 83207 (+7)
  • sharedString.js: parsed 175984 → 175991 (+7), gzip 49445 → 49453 (+8)
  • experimentalSharedTree.js: parsed 160798 → 160798 (0), gzip 45804 → 45804 (0)
  • matrix.js: parsed 159845 → 159852 (+7), gzip 45411 → 45419 (+8)
  • loader.js: parsed 145256 → 145270 (+14), gzip 39063 → 39077 (+14)
  • odspDriver.js: parsed 104329 → 104350 (+21), gzip 32625 → 32635 (+10)
  • directory.js: parsed 66616 → 66623 (+7), gzip 18532 → 18541 (+9)
  • 748.js: parsed 58793 → 58793 (0), gzip 17827 → 17827 (0)
  • map.js: parsed 46709 → 46716 (+7), gzip 14310 → 14318 (+8)
  • odspPrefetchSnapshot.js: parsed 45642 → 45656 (+14), gzip 15277 → 15285 (+8)
  • 985.js: parsed 44491 → 44491 (0), gzip 13726 → 13726 (0)
  • summarizerDelayLoadedModule.js: parsed 30749 → 30749 (0), gzip 7753 → 7753 (0)
  • socketModule.js: parsed 26476 → 26483 (+7), gzip 7887 → 7895 (+8)
  • createNewModule.js: parsed 12480 → 12480 (0), gzip 4786 → 4786 (0)
  • summaryModule.js: parsed 3797 → 3797 (0), gzip 1860 → 1860 (0)
  • connectionState.js: parsed 724 → 724 (0), gzip 429 → 429 (0)
  • sharedTreeAttributes.js: parsed 666 → 673 (+7), gzip 432 → 442 (+10)
  • debugAssert.js: parsed 429 → 429 (0), gzip 299 → 299 (0)
  • FluidFramework-HashFallback.js: parsed 422 → 422 (0), gzip 316 → 316 (0)

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.

3 participants