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

Enable branch cloning with point-in-time replay #201

Open
jeremystretch opened this issue Jan 27, 2025 · 1 comment
Open

Enable branch cloning with point-in-time replay #201

jeremystretch opened this issue Jan 27, 2025 · 1 comment
Assignees
Labels
complexity: high Expected to require a large amont of time and effort to implement relative to other tasks status: accepted type: feature A new feature or functionality
Milestone

Comments

@jeremystretch
Copy link
Contributor

Plugin Version

v0.5.2

Proposed functionality

Implement the ability to clone an unmerged branch by replicating main and replaying the existing branch's changelog on the new branch.

In the event of an error (e.g. a unique constraint violation) during the replay, it should pause at the last successful change applied. This will leave the new branch in a partially-cloned state, wherein the user can create, modify, and delete objects as with a normal branch. The user should also have the option to resume replaying the changelog from the original branch at any time.

Once the changelog from the original branch has been fully applied to the new branch, the user should have the option to replace the original branch with the cloned branch.

Use case

Cloning a branch will provide a path for users to resolve issues such as the one captured in bug #32, which cannot be remedied by altering objects within the original branch as the changelog is always replayed in chronological order.

External dependencies

N/A

@jeremystretch jeremystretch added complexity: high Expected to require a large amont of time and effort to implement relative to other tasks status: accepted type: feature A new feature or functionality labels Jan 27, 2025
@jeremystretch jeremystretch self-assigned this Jan 27, 2025
@jeremystretch jeremystretch changed the title Enable branch clonin with point-in-time replay Enable branch cloning with point-in-time replay Jan 27, 2025
@jeremystretch
Copy link
Contributor Author

After spending a few days on this, the scope has widened a bit to include the ability to "pull" changes from one branch into another at any time (as opposed to only when creating a new branch). It also allows the user to select a starting and/or ending change denoting the subset of changes from the source branch to be copied. This should afford users a good deal of flexibility in copying changes to a new branch to resolve conflicts.

@jeremystretch jeremystretch added this to the v0.6 milestone Feb 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
complexity: high Expected to require a large amont of time and effort to implement relative to other tasks status: accepted type: feature A new feature or functionality
Projects
None yet
Development

No branches or pull requests

1 participant