-
Notifications
You must be signed in to change notification settings - Fork 8
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
Keep both local and remote nodes with mismatched kinds #26
Closed
Commits on Feb 1, 2019
-
Add
MergedNode::descendants()
.This returns an iterator that yields the merged node's descendants, in level order.
Configuration menu - View commit details
-
Copy full SHA for 3252307 - Browse repository at this point
Copy the full SHA 3252307View commit details -
Add
{Local, Remote}Only
merge states; removeLocalWithNewStructure
.Before `Unchanged`, `Local` meant "keep local and maybe upload", and `LocalWithNewStructure` meant "keep local and always upload". Now that `Unchanged` exists, `Local` means "keep local and upload", so `LocalWithNewStructure` is redundant. Further, it wasn't obvious that `Local { remote_node: None }` meant the item only exists locally, and should be uploaded unconditionally, and `Remote { local_node: None }` meant the item only exists remotely, and should be applied unconditionally. This commit changes `Local` and `Remote` to mean "exists on both sides, but prefer one", and adds `LocalOnly`, `RemoteOnly`, and `RemoteOnlyWithNewStructure` to mean "exists on one side, so take unconditionally". To that end, this commit treats remotely changed user content roots as `Unchanged`. As of bug 1432614, roots don't have user-editable titles, so applying remote title changes is unnecessary. However, we also don't mark the roots as `Local`, because that would mean we'd reupload the root _every time_ it was changed remotely. Finally, we want callers to easily determine whether to apply remote changes, and upload local and new changes. This commit adds `MergeState::{should_apply, should_upload}()` for that.
Configuration menu - View commit details
-
Copy full SHA for 16a0cb2 - Browse repository at this point
Copy the full SHA 16a0cb2View commit details
Commits on Feb 2, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 395b86b - Browse repository at this point
Copy the full SHA 395b86bView commit details
Commits on Feb 5, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 69c9cd0 - Browse repository at this point
Copy the full SHA 69c9cd0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1986fed - Browse repository at this point
Copy the full SHA 1986fedView commit details
Commits on Feb 6, 2019
-
Track item validity states and flag invalid items for reupload.
This ports the merger parts of https://bugzilla.mozilla.org/show_bug.cgi?id=1515784.
Configuration menu - View commit details
-
Copy full SHA for c54538b - Browse repository at this point
Copy the full SHA c54538bView commit details
Commits on Feb 12, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 30e14a4 - Browse repository at this point
Copy the full SHA 30e14a4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5fffe4b - Browse repository at this point
Copy the full SHA 5fffe4bView commit details -
Configuration menu - View commit details
-
Copy full SHA for ece9d31 - Browse repository at this point
Copy the full SHA ece9d31View commit details
Commits on Feb 14, 2019
-
Configuration menu - View commit details
-
Copy full SHA for eeec5ba - Browse repository at this point
Copy the full SHA eeec5baView commit details
Commits on Feb 17, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 776579c - Browse repository at this point
Copy the full SHA 776579cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 91124bf - Browse repository at this point
Copy the full SHA 91124bfView commit details -
Keep both local and remote nodes with mismatched kinds.
For mismatched kinds, we keep both nodes with new GUIDs. This is an edge case: Places maintenance on Desktop can change an item's kind without changing its GUID, but this should be rare. In general, we can't meaningfully pick a side when two items have different kinds (a bookmark and a folder with children? a bookmark and a separator?), so we keep both, with new structure, to avoid possible data loss. See #13.
Configuration menu - View commit details
-
Copy full SHA for b2410ff - Browse repository at this point
Copy the full SHA b2410ffView commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.