Linear Git History

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • extremely-linear

    Extremely Linear Git History // git-linearize

    I don't know if this is genius or stupid. But I've created a wrapper [1] for git (called "shit", for "short git") that converts non-padded revisions to their padded counterpart.

    Examples:

    "shit show 14" gets converted to "git show 00000140"

    "shit log 10..14" -> "git log 00000100..00000140"

    [1]: https://github.com/zegl/extremely-linear/blob/main/shit

  • lucky-commit

    Customize your git commit hashes!

    See also Lucky Commit [0], which uses various types of whitespace characters instead of a hash inside the commit, which makes it look more magical.

    I wonder about performance, though. Why is the author's method slower than the package I linked?

    [0]: https://github.com/not-an-aardvark/lucky-commit

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • githashcrash

    Thanks for sharing, this is really cool! Using whitespace is a really clever trick, and running on the GPU makes it even more impressive.

    I've been using githashcrash [1], but it's only running on the CPU, which is why it's a bit slower. :-)

    [1]: https://github.com/Mattias-/githashcrash

  • thefuck

    Magnificent app which corrects your previous console command.

  • Git

    Git Source Code Mirror - This is a publish-only repository but pull requests can be turned into patches to the mailing list via GitGitGadget (https://gitgitgadget.github.io/). Please follow Documentation/SubmittingPatches procedure for any of your improvements.

    Yes, there's also a collision check, but it's not truncating to 7 characters and adding as needed to get past collisions. Rather it's truncating to N and then adding as needed. N=7 for a new repository, but it'll relatively quickly bump that to 8, then 9 etc

    You don't need a very large repository to start bumping it up to 8 etc. E.g. my local redis.git is 9, some local few-thousand commit (partially automated) that I've only ever added to are at 8 etc.

    This changed in v2.11 released in late 2016[1], but because the observable default on a new repository is 7 the "it's 7 unless collisions" has persisted in various places online.

    All of which is to say that if you brute-force the first commit to be 0000001..., it'll start being displayed as , where is a random 0..9a..f character, unless you brute force to 8, 9 etc.

    1. https://github.com/git/git/commit/e6c587c733b4634030b353f402...

  • gut

    git helper scripts (by CervEdin)

    I'd be happy to, this is (roughly) my git config.

    https://github.com/CervEdin/gut/blob/config/.gitconfig

    NB, that some are personal custom scripts, like git-branch-status, which I also publish in the same public repository.

    It's very much opinionated and geared to my use but feel free to use it, submit feedback and/or PR

  • teste

    I was trying to make something like this post a couple of years back and used custom headers, even made this repo with a few zeroes with no salt on the commit message and no shenanigans in the files: https://gitlab.com/pedroteosousa/teste/-/commit/000000005093...

    I have this ugly code that finds the salt given the target hash, and another that actually creates the commit given the salt. Is not very useable, but I'll leave it here for anyone that finds it interesting: https://gitlab.com/pedroteosousa/useless-git-tools/-/tree/ma...

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • I was trying to make something like this post a couple of years back and used custom headers, even made this repo with a few zeroes with no salt on the commit message and no shenanigans in the files: https://gitlab.com/pedroteosousa/teste/-/commit/000000005093...

    I have this ugly code that finds the salt given the target hash, and another that actually creates the commit given the salt. Is not very useable, but I'll leave it here for anyone that finds it interesting: https://gitlab.com/pedroteosousa/useless-git-tools/-/tree/ma...

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts