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

feat: add merge feature #201

Merged
merged 1 commit into from
Sep 21, 2024
Merged

feat: add merge feature #201

merged 1 commit into from
Sep 21, 2024

Conversation

louib
Copy link
Collaborator

@louib louib commented Dec 29, 2023

This is a re-implementation of the merge feature, which I initially attempted to implement in #155

This new implementation is heavily inspired from the KeePassXC implementation.

I've been using this commit for over 6 months without any issues. I'd like to get the PR merged so that I don't have to rebase constantly, even though there are still some features missing. I prefixed the name of the cargo feature with an underscore so that it is hidden from docs.rs. I'll remove the underscore once we have feature parity with the KeePassXC implementation. The main merge feature missing is database metadata merging. I will add an issue to track this once this PR is merged.

Apart from the missing features, my main concern with the current implementation is that it is not as efficient as it could be. The main reason for this is that the children of a node are stored as a list, which makes it inefficient to find a node in the tree even if we have the path to that node. Optimizing that would require a bigger refactoring, and I honestly don't think it's worth it for a first draft of the feature.

@louib louib mentioned this pull request Dec 29, 2023
4 tasks
@louib louib force-pushed the add_merge_feature_refactor branch 7 times, most recently from 7648765 to e47f5d6 Compare January 6, 2024 17:25
@louib louib force-pushed the add_merge_feature_refactor branch 2 times, most recently from 4631161 to 4bcbb69 Compare January 23, 2024 04:47
@louib louib force-pushed the add_merge_feature_refactor branch 2 times, most recently from 1a12e45 to b4b8a88 Compare February 16, 2024 04:22
@louib louib force-pushed the add_merge_feature_refactor branch from 645e406 to 332c890 Compare May 19, 2024 22:09
@louib louib force-pushed the add_merge_feature_refactor branch from 332c890 to eff0282 Compare June 22, 2024 19:46
@louib louib force-pushed the add_merge_feature_refactor branch 7 times, most recently from 744ed0b to 31e43ae Compare August 27, 2024 17:13
@louib louib marked this pull request as ready for review September 21, 2024 00:56
@sseemayer sseemayer merged commit 75c8783 into master Sep 21, 2024
7 checks passed
@sseemayer sseemayer deleted the add_merge_feature_refactor branch September 21, 2024 06:51
@sseemayer
Copy link
Owner

This looks great already! Thanks for teaching me some new cfg flags 😀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants