diffsitter
keepass-diff
Our great sponsors
diffsitter | keepass-diff | |
---|---|---|
15 | 2 | |
1,517 | 274 | |
- | - | |
8.7 | 6.7 | |
6 days ago | 5 months ago | |
Rust | Rust | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
diffsitter
-
AST-grep(sg) is a CLI tool for code structural search, lint, and rewriting
Or https://github.com/afnanenayet/diffsitter. I've tried both and I like them. No preference or notable opinions on them yet!
-
Enable new diff option linematch (#14537) · neovim/neovim@04fbb1d
For git diff's I've been using https://github.com/afnanenayet/diffsitter
-
Difftastic, the Fantastic Diff: How it works
One more tree-sitter based diffing tool - diffsitter
https://github.com/afnanenayet/diffsitter
-
What Comes After Git
Several threads here point to difftastic: https://github.com/Wilfred/difftastic
I know a lot of people who have a lot of hope for diffsitter (or something like it): https://github.com/afnanenayet/diffsitter
Personally, I think the reason most "good" semantic diff tools are proprietary is that they are huge amounts of effort that are mostly "hacks" and "heuristics" bandaged together in ways that people don't want to let out how the sausage was made.
But I also "general, language agnostic AST-based semantic diff" is a mountain peak we cannot reach (probably ever), and I believe my experiments found an interesting local maxima that people are maybe sleeping on (lexer-based diffs rather than parser-based diffs): https://github.com/WorldMaker/tokdiff
-
Fast Kernel Headers: Tree -v1: Eliminate the Linux kernel's "Dependency Hell"
https://github.com/afnanenayet/diffsitter there are quiet a few projects such as this one, attempting to solve the issue. :)
-
Thinking about programming systems and not just languages and environments
There’s an interesting project in the semantic diff/merge space that I have been keeping an eye out for https://github.com/afnanenayet/diffsitter
-
What if Git worked with Programming Languages?
I have never used any of them, but it look like tree-sitter based diff tools are exactly what you are searching for (like difftastic, gumtree or diffsitter).
I believe Unison is the only attempt to do this at a programming language/environment level.
For Git diffs, there is Diffsitter, which uses Tree Sitter to generate semantic diffs of code files: https://github.com/afnanenayet/diffsitter
I have not used it, but it is high on my todo list.
-
Difftastic: A syntactic diff tool
Looks great, I'll try it! FYI, there is a very similar project called diffsitter https://github.com/afnanenayet/diffsitter
- diffsitter - a tree-sitter based AST difftool to get meaningful semantic diffs
keepass-diff
-
KeePassXC 2.7.0 Released
The sync conflicts happened to me whenever I left keepass databases open and changed it on multiple devices. Usually, those changes were adding new accounts into the databases or changing a password on one while adding something on the other. This regularly happened when working in a team.
I assumed people would switch from Keepass + database synced on a private server to something else when they started working in teams and need better/easier permission models. :)
As you have mentioned it, I have written the tool keepass-diff (<https://github.com/Narigo/keepass-diff/>) to help me for exactly these conflicts and I could quickly resolve the issues with it. It was still useful enough to let me keep using Keepass. Was it not working for you or was it too hard to use because of how it needs to be set up first? Would you have stayed with Keepass + sync if something similar to this was integrated into UI clients?
-
LastPass users warned their master passwords are compromised
I had this problem as well, these conflicts may happen when you keep Keepass clients open and add passwords on two different machines.
I have written a CLI tool in Rust called keepass-diff that may help you with this: https://github.com/Narigo/keepass-diff
What are some alternatives?
difftastic - a structural diff that understands syntax 🟥🟩
similar - A high level diffing library for rust based on diffs
semantic-source - Parsing, analyzing, and comparing source code across many languages
keepassxc - KeePassXC is a cross-platform community-driven port of the Windows application “Keepass Password Safe”.
nvim-treesitter-context - Show code context
keepass-rs - Rust KeePass database file parser for KDB, KDBX3 and KDBX4, with experimental support for KDBX4 writing.
tree-sitter-json - JSON grammar for tree-sitter
KeePass2.x - unofficial mirror of KeePass2.x source code
dark - Darklang main repo, including language, backend, and infra
git-credential-keepassxc - Helper that allows Git (and shell scripts) to use KeePassXC as credential store
git-merge-driver - Example of how to configure a custom git merge driver
sad - CLI search and replace | Space Age seD