You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a branch is being merged, enable the user to select specific changes to "squash." Squashing collapses one or more successive operations within a branch into the first operation for the affected object.
For example, consider the following set of actions performed within a branch:
Create a site named "Site 1" with status "Active"
Create a device within the site
Change the site's status to "Planned"
Assign the site to a region
Add another device to the site
In this example, changes 1, 3, and 4, can be safely collapsed into a single create operation. We can expose this ability by including a "squash" checkbox next to each planned change when merging a branch. (It might also make sense to include a "squash all" option, but feasibility needs to be explored further.)
Use case
The primary driver for this functionality is to enable users to rectify conflicts preventing a branch from being merged. (This issue is largely captured under #32.) For example, consider the following series of events:
Branch A is created.
A new site named Site 1 is created in Branch A.
A new site with the same name is created in the main database.
A user attempts to merge Branch A. This fails due to the duplicate site name.
The user renames Site 1 to Site 2 within the branch.
The user attempts again to merge Branch A. This still fails because the change set is replayed in chronological order: The initial creation of the site will always fail before the following update is processed.
With the ability to squash changes, the update to the site object can be squashed into the original create action, rectifying the conflict and allowing the branch to be merged successfully.
External dependencies
N/A
The text was updated successfully, but these errors were encountered:
Plugin Version
v0.5.2
Proposed functionality
When a branch is being merged, enable the user to select specific changes to "squash." Squashing collapses one or more successive operations within a branch into the first operation for the affected object.
For example, consider the following set of actions performed within a branch:
In this example, changes 1, 3, and 4, can be safely collapsed into a single create operation. We can expose this ability by including a "squash" checkbox next to each planned change when merging a branch. (It might also make sense to include a "squash all" option, but feasibility needs to be explored further.)
Use case
The primary driver for this functionality is to enable users to rectify conflicts preventing a branch from being merged. (This issue is largely captured under #32.) For example, consider the following series of events:
With the ability to squash changes, the update to the site object can be squashed into the original create action, rectifying the conflict and allowing the branch to be merged successfully.
External dependencies
N/A
The text was updated successfully, but these errors were encountered: