Extract reconcile #85
No reviewers
Labels
No labels
bug
dependencies
docker
documentation
duplicate
enhancement
good first issue
help wanted
invalid
javascript
question
rust
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: andras/vault-link#85
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "asch/extract-reconcile"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Split off https://github.com/schmelczer/reconcile into its own repo and depend on it as a package
Pull Request Overview
This PR extracts the in-repo reconcile implementation into the external
reconcile-textcrate and updates merge logic across server and client to use this new dependency. It also adds a utility to detect mergeable file types and adjusts module exports.reconcileandsync_libcrates in favor ofreconcile-textis_file_type_mergable, update server and client to usereconcilefor 3-way merges on textreconcile-texttypes in client API and clean up tests and importsReviewed Changes
Copilot reviewed 93 out of 136 changed files in this pull request and generated 1 comment.
Show a summary per file
.md/.txtfilesreconcile-text::reconcileis_filetype_mergablemodulereconcile-texttypes and APIsreconcile-texttypesFiles not reviewed (1)
Comments suppressed due to low confidence (2)
sync-server/src/utils/is_filetype_mergable.rs:1
is_file_type_mergableuses an underscore between "file" and "type", but the module/file is namedis_filetype_mergable. Consider unifying the naming (either remove the underscore or rename the module) for consistency.sync-server/src/server.rs:187
client_erroris used here but not imported; adduse crate::errors::client_error;(or include it in the existing import) to avoid a compilation error.@ -0,0 +117,4 @@return Ok(Json(DocumentUpdateResponse::FastForwardUpdate(latest_version.into(),)));The code only reconciles when
is_binary(...)is true, but then treats the content as UTF-8 text. It should use!is_binary(...)to ensure reconciliation only runs on text data.