git smart-pull is a great tool for avoiding the messiness of git rebases when there’s changed content.
I long ago inlined the full ruby gem into a single executable file to avoid the hassle of installing it in various ruby environments. It’s worked well!
Ruby 3.2.0 broke my script in a tiny way and broke the underlying gem. The patch has sat unmerged for months and now with bundler/inline I have a better solution than keeping a spare inlined script… forking the project and pointing a wrapper script with bundler/inline at my own repo.
I’m applying patches from PRs in upstream (eg
hub merge https://github.com/geelen/git-smart/pull/25).
It’s an elegant solution that I’ll re-use for other ruby scripts in my development environment.