-
Notifications
You must be signed in to change notification settings - Fork 537
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
Branching APIs #22550
Branching APIs #22550
Conversation
🔗 No broken links found! ✅ Your attention to detail is admirable. linkcheck output
|
⯅ @fluid-example/bundle-size-tests: +1.98 KB
Baseline commit: 1d9f4c9 |
/** | ||
* Get a {@link TreeBranch} from a {@link ITree}. | ||
* @remarks The branch can be used for "version control"-style coordination of edits on the tree. | ||
* @privateRemarks This function will be removed if/when the branching API becomes public, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Honestly, these private remarks probably want to be public (standard remarks). @privateRemarks
don't end up in our API docs, and I think this information is potentially useful to end-users experimenting with this API.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't want to promise anything more than we need to regarding the future public API.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The point isn't to make promises about what the API will look like. It's to note to users that the current API shape is not what we expect it to look like long term.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry - I thought I had added a line that says "This API is subject to change...", and I did, but only on the second overload. Either way though, are we expected to write a disclaimer along with every alpha API we expose? I don't think it's a bad idea, but we should probably have something standard if so.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it depends on the kind of experimental API. In some cases, we'll be adding an API that we actually potentially expect to promote more or less as-is. In other cases, we're forced to do things like this (adding a free function, rather than a method on some existing type) to avoid breaking changes. In the latter case, I think it's helpful to note that API is exposed in a less-than-ideal format to avoid breaking changes, so users are prepared for the shape to change when it gets promoted.
I don't think it's critical, but I think it helps set some useful expectations for users and for other devs on the team.
Description
This exposes the branching APIs on the SharedTree checkout objects as alpha APIs.
See the changeset for more details.