git-imerge
pg_similarity
git-imerge | pg_similarity | |
---|---|---|
12 | 3 | |
2,665 | 352 | |
- | - | |
0.0 | 0.0 | |
12 months ago | 7 months ago | |
Python | C | |
GNU General Public License v3.0 only | BSD 3-clause "New" or "Revised" 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.
git-imerge
- Dealing with Diverged Git Branches
- Pijul: Version-Control Post-Git • Goto 2023
-
Save rebase progress and attempt to cherry-pick?
Afaik, there's currently no official way to pause/stash a rebase/merge-in-progress. (There is git-imerge which supports incremental merges/rebases (basically split a big merge into smaller ones), but I never used it and think you'll need to use it from the start of a merge/rebase.)
-
I have a feature branch that is now way behind it's remote parent. How do I make this work?
Try git imerge.
-
What is the best way to undertake a heavyweight merge (dozens of files)?
If the merge is large in the number of commits involved git imerge may be useful to you. It breaks down one big merge into many smaller merges, essentially merging one new commit from each branch, one at a time. The advantage being that you only ever need to consider the conflict between two individual commits at a time.
- Git-imerge: Incremental merge for Git
-
strategy to update 2yo feature branch off of develop
The repo for it is https://github.com/mhagger/git-imerge and the blog post / instructions is at https://wilsonmar.github.io/git-imerge/
- interactive merge in git
-
Jujutsu – A Git-compatible DVCS that is both simple and powerful
Similar ideas have been discussed before in Git, but I don't think anyone has acted on them much. Michael Haggerty's git-imerge tries to make conflicts shareable, but I think it was more of a side-effect of the original goal of optimizing rebase/merge and auto-reducing conflicts to their minimal representation. I'm very curious how conflicts are represented in Jujutsu so I can better understand this power. I'm curious about how conflicts in conflict-resolution commits are handled and other such magic.
That gist seems like a simplified version of https://github.com/mhagger/git-imerge, so check that out if you haven't. (I haven't looked at git-imerge in a long time, so I should read about it again myself.)
pg_similarity
-
Data Cleaning in SQL
For Postgres, there is an extension that provides that.
-
Show HN: Supabase Clippy – ChatGPT for Supabase Docs
Note that pgvector isn't supported on any of the large cloud providers' hosted Postgres offerings, other than Supabase. https://github.com/pgvector/pgvector#hosted-postgres has instructions on how to add your voice to request it to be added!
(It does seem that the ancient https://github.com/eulerto/pg_similarity is supported by RDS and Google Cloud - but it's hard to tell whether attention was paid to its performance characteristics with nearly the rigor that pgvector seems to have been designed.)
-
Official Elasticsearch Python library no longer works with open-source forks
While I don't doubt that you know your usecase and weighed/tried the option.
> Postgres search is essentially an easier to use regex engine.
I'm not sure exactly what you meant to convey here, but if you're searching with LIKE or `~` you're not doing Postgres's proper Full Text Search. You should be dealing with tsvectors[0]
> As soon as you need multiple languages
Postgres FTS supports multiple languages and you can create your own configurations[1]
> advanced autocomplete
I'm not sure what "advanced" autocomplete is but you can get pretty fast trigram searches going[2] (back to LIKE/ILIKE here but obviously this is an isolated usecase). In the end I'd expect auto complete results to actually not hit your DB most of the time (maybe I'm naive but that feels like a caching > cache invalidation > cache pushdown problem to me)
> misspelling detection
pg_similarity_extension[3] might be of some help here, but it may require some wrangling.
> large documents, large datasets,
PG has TOAST[4], and obviously can scale (maybe not necessarily great at it) -- see pg_partman/Timescale/Citus/etc.
> custom scoring
Postgres only has basic ranking features[5], but you can write your own functions and extend it of course.
Solr/ES are definitely the right tools for the job (tm) when the job is search, but you can get surprisingly far with Postgres. I'd argue that many usecases actually don't want/need a perfect full text search solution -- it's often minor features that turn into overkill fests and ops people learning/figuring out how to properly manage and scale an ES cluster and falling into pitfalls along the way.
[0]: https://www.postgresql.org/docs/current/textsearch-intro.htm...
[1]: https://www.postgresql.org/docs/current/textsearch-intro.htm...
[2]: https://about.gitlab.com/blog/2016/03/18/fast-search-using-p...
[3]: https://github.com/eulerto/pg_similarity
[4]: https://www.postgresql.org/docs/current/storage-toast.html
[5]: https://www.postgresql.org/docs/9.5/textsearch-controls.html...
What are some alternatives?
jj - A Git-compatible VCS that is both simple and powerful
elasticsearch-py - Official Python client for Elasticsearch
pgsentinel - postgresql extension providing Active session history
git-mergify-rebase - Merge git changes one commit at a time.
mergify - Merge git changes on commit at a time.
gumtree - An awesome code differencing tool
vasco - vasco: MIC & MINE statistics for Postgres
pre-commit - A framework for managing and maintaining multi-language pre-commit hooks.
tds_fdw - A PostgreSQL foreign data wrapper to connect to TDS databases (Sybase and Microsoft SQL Server)