Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clone list of revertibles #23424

Merged
merged 16 commits into from
Jan 9, 2025

Conversation

jikim-msft
Copy link
Contributor

Description

13865

This PR adds a helper function that takes in the list of revertibles and returns the cloned revertibles in order.

@github-actions github-actions bot added area: dds Issues related to distributed data structures area: dds: tree base: main PRs targeted against main branch labels Jan 2, 2025
packages/dds/tree/src/shared-tree/treeCheckout.ts Outdated Show resolved Hide resolved
packages/dds/tree/src/test/utils.ts Outdated Show resolved Hide resolved
packages/dds/tree/src/test/utils.ts Outdated Show resolved Hide resolved
packages/dds/tree/src/test/utils.ts Outdated Show resolved Hide resolved
@jikim-msft jikim-msft marked this pull request as ready for review January 6, 2025 17:57
@jikim-msft jikim-msft requested a review from a team as a code owner January 6, 2025 17:57
@github-actions github-actions bot added the public api change Changes to a public API label Jan 6, 2025
@github-actions github-actions bot added the area: framework Framework is a tag for issues involving the developer framework. Eg Aqueduct label Jan 7, 2025
@jikim-msft jikim-msft changed the title clone list of revertibles Clone list of revertibles Jan 7, 2025
jikim-msft added a commit that referenced this pull request Jan 8, 2025
#### Description


[27911](https://dev.azure.com/fluidframework/internal/_workitems/edit/27911)

Related PR: #23424

Enhance `TreeCheckout.clone()` with Early Branch Validation

This PR adds upfront validation in `TreeCheckout`'s `clone()` method to
verify that the target branch shares a common ancestry with the source
branch before attempting to clone revertibles. This validation:

1. Fails fast if branches are unrelated, providing clearer error
messages
2. Moves the compatibility check from `revert()` to `clone()`, giving
developers earlier feedback
3. Improves developer experience by catching invalid clone attempts
immediately rather than waiting until revert time

The change is supported by new test cases that verify the behavior of
cloned revertibles across related and unrelated branches.

---------

Co-authored-by: yann-achard-MS <[email protected]>
@jikim-msft jikim-msft enabled auto-merge (squash) January 8, 2025 23:14
Copy link
Contributor

@jenn-le jenn-le left a comment

Choose a reason for hiding this comment

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

minor comments

@jikim-msft jikim-msft disabled auto-merge January 8, 2025 23:28
@jikim-msft jikim-msft enabled auto-merge (squash) January 8, 2025 23:33
Copy link
Contributor

github-actions bot commented Jan 8, 2025

🔗 No broken links found! ✅

Your attention to detail is admirable.

linkcheck output


> [email protected] ci:check-links /home/runner/work/FluidFramework/FluidFramework/docs
> start-server-and-test "npm run serve -- --no-open" 3000 check-links

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"


> [email protected] serve
> docusaurus serve --no-open

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

> [email protected] check-links
> linkcheck http://localhost:3000 --skip-file skipped-urls.txt

Crawling...

Stats:
  170508 links
    1603 destination URLs
    1842 URLs ignored
       0 warnings
       0 errors


@jikim-msft jikim-msft merged commit 29dd73a into microsoft:main Jan 9, 2025
30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: dds: tree area: dds Issues related to distributed data structures area: framework Framework is a tag for issues involving the developer framework. Eg Aqueduct base: main PRs targeted against main branch public api change Changes to a public API
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants