gecko-dev/third_party/rust/dogear
Lina Cambridge e8dfe2ce56 Bug 1579728 - Use completion ops to upload synced bookmark tombstones. r=markh
The latest version of Dogear adds completion ops for deleting local
items (to apply incoming tombstones), inserting new local tombstones
(to stage deletions for non-syncable and invalid items), and uploading
tombstones (to avoid an extra scan of `moz_bookmarks_deleted`).

These ops are only emitted for GUIDs that exist in both trees. We'll
remove any local tombstones for items that don't exist or are already
deleted on the server, and flag any remote tombstones for items that
don't exist in Places as merged.

Differential Revision: https://phabricator.services.mozilla.com/D45310

--HG--
extra : moz-landing-system : lando
2019-09-17 06:27:12 +00:00
..
src
.cargo-checksum.json
CODE_OF_CONDUCT.md
Cargo.toml
LICENSE
README.md

README.md

Dogear

Dogear is a library that implements bookmark tree merging for Firefox Sync. It takes two trees—a valid, consistent local tree, and a possibly inconsistent remote tree—and produces a complete merged tree, with all conflicts and inconsistencies resolved.

Dogear implements the merge algorithm only; it doesn't handle syncing, storage, or application. It's up to the crate that embeds Dogear to store local and incoming bookmarks, describe how to build a tree from a storage backend, persist the merged tree back to storage, and upload records for changed bookmarks.

Requirements

  • Rust 1.31.0 or higher