jj VS pre-commit

Compare jj vs pre-commit and see what are their differences.

jj

A Git-compatible VCS that is both simple and powerful (by martinvonz)

pre-commit

A framework for managing and maintaining multi-language pre-commit hooks. (by pre-commit)
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
jj pre-commit
114 200
9,612 13,078
- 1.6%
10.0 8.1
4 days ago 19 days ago
Rust Python
Apache License 2.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

jj

Posts with mentions or reviews of jj. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-12-07.
  • Jujutsu: A Git-compatible VCS that is both simple and powerful
    1 project | news.ycombinator.com | 12 Dec 2024
  • Ask HN: Git Alternatives – Sapling vs. Jj
    7 projects | news.ycombinator.com | 7 Dec 2024
    have you experienced particularly slow pushes with large repositories at all, and if so were you able to resolve them?

    I did some profiling & it looks like the issue lies with `libgit2`, but I haven’t been able to replicate the issue outside of that work codebase[0].

    [0]: https://github.com/martinvonz/jj/issues/1841#issuecomment-23...

  • Rewrite Git history via drag-and-drop
    4 projects | news.ycombinator.com | 3 Dec 2024
    I'm just going to drop a casual shout-out to jujutsu[1]. It's 100% git-compatible—you can mix and match jj and git commands whenever needed, and your coworkers never need know you're using something else—but it elegantly solves things like rebase/merge conflicts (and solves a lot of other sharp edges in git at the same time).

    It is one of those rare birds that is both more powerful than the tool that it replaces while also being drastically easier to use. I am (was?) a git power user, and it took me all of a day to replace git with jj, and the rest of the week to become essentially as fluent. I will never go back.

    [1] https://github.com/martinvonz/jj

  • Jujutsu (jj), a Git compatible VCS
    1 project | news.ycombinator.com | 20 Oct 2024
    In some cases, yes, but I think the way jj handles conflicts is easier to follow. You can see the conflict resolution in `jj diff` and you can rebase it like a regular commit. rerere's state is harder to understand, I think. See https://github.com/martinvonz/jj/issues/175#issuecomment-107... for some more discussion.
  • How to fork: Best practices and guide
    1 project | news.ycombinator.com | 15 Oct 2024
    This will be easier with jujutsu(https://github.com/martinvonz/jj)?
  • Why some of us like "interdiff" code review systems (not GitHub)
    13 projects | news.ycombinator.com | 10 Sep 2024
    We strongly considered Graphite as an alternative to Gerrit at my last job that I mentioned at the start of this post (which I am no longer at, actually) because it does look like an absolutely excellent product, I will admit. You should all be proud of a smart design and smart set of tools.

    But there's a really really really really really really big problem. Me and the other main engineer on our team use a custom frontend to Git called Jujutsu[1] for all my development. Jujutsu is about 1000x better than Git. So that's nice.

    But gt, the graphite client, is not open source. I have no idea how to make them work together. I have no idea how to extend Jujutsu to handle Graphite stacks, because I don't even think there's an API to handle any of this.

    I even wrote a Gerrit integration for Jujutsu to handle this, and Gerrit + Jujutsu is absolutely a force to be reckoned with IMO, even if the UX isn't as nice as Graphite's.

    Please! Make gt open source and make it possible for third parties to make and update stacks. This isn't just useful for jj but all kinds of automation that wants to contribute patches -- imagine tools like Google's internal "Code Review ML models" that might recommend you rename a variable based on context. They will suggest the fix for you or even apply it!

    [1] https://github.com/martinvonz/jj

  • Sapling: Source control that's user-friendly and scalable
    6 projects | news.ycombinator.com | 10 Sep 2024
  • Circles of Truth: Overcomplicating simple commands
    1 project | dev.to | 16 Aug 2024
    Honestly, that's less keystrokes than adding a shellAlias. If you aren't sold on using nix to manage your system's configuration, this seems overcomplicated. If you use nix, then you are already probably frustrated at keeping your nix configuration in sync with quick little optimizations you do on a regular basis. With nix, everything is source controlled. If you are a dotfiler, then you would still have to commit your changes. I guess that's true in my solution as well. The git add in my update is probably the most dubious element of this entire schrade. That is unless, you are using jj.
  • Jujutsu: A Next Generation Replacement for Git
    5 projects | news.ycombinator.com | 8 Jul 2024
  • A Git story: Not so fun this time
    5 projects | news.ycombinator.com | 3 Jul 2024

pre-commit

Posts with mentions or reviews of pre-commit. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-12-10.
  • Crafting a Custom SAM Template for Your AWS Lambda Function, Resource, and Operations
    5 projects | dev.to | 10 Dec 2024
    Just give you an idea of how to implement a template for serverless in your organization; you can create multiple cases and embed the practice of your organization to the template like pre-commit, cicd, lambda-layer-secret, lambda-layer-powertools and more
  • Speed up CI with uv ⚡
    8 projects | dev.to | 2 Nov 2024
    When using pre-commit for linting:
  • 12 Steps to Organize and Maintain Your Python Codebase for Beginners
    5 projects | dev.to | 30 Oct 2024
    Instead of running these tools manually every time you make changes, you can automate the process with pre-commit hooks. Pre-commit hooks run automatically before each commit, blocking the commit if any tool fails.
  • How I use git
    5 projects | news.ycombinator.com | 23 Oct 2024
    Our team is small and we use:

      git hooks from https://pre-commit.com
  • How to Estimate Cloud Costs with Terraform and InfraCost
    5 projects | dev.to | 6 Sep 2024
    You can also add InfraCost as part of the pre-commit. With pre-commit, you can define some hooks that you can easily run before you push your code. There are multiple ways to install pre-commit, and you can find examples here.
  • How Should You Use an Auto-Formatter?
    5 projects | dev.to | 28 Jul 2024
    In the case of pre-commit hooks, the runtime either has to be installed manually by every user (in the case of Husky) or is handled in Python (in the case of pre-commit). Running Node.js through Python/pyenv introduces an additional layer of complexity, which can lead to issues like OpenSSL library incompatibilities.
  • Using TruffleHog and pre-commit hook to prevent secret exposure
    3 projects | dev.to | 25 Jul 2024
    I'm using pre-commit, follow the link to get installation instructions.
  • How to review as a Pro
    2 projects | dev.to | 18 Jun 2024
    Not only can you check how well your code follows certain rules but also add auto-formatting options. This way, most inconsistencies are fixed automatically, saving time. Linters start up can be automated, for example, with pre-commit tool for python and this logic can be integrated into GitHub PR or new commits workflow. So before a new Pull Request is reviewed, it's the author who resolves any code style issues.
  • How to setup Black and pre-commit in python for auto text-formatting on commit
    3 projects | dev.to | 29 Mar 2024
    Today we are going to look at how to setup Black (a python code formatter) and pre-commit (a package for handling git hooks in python) to automatically format you code on commit.
  • Implementing Quality Checks In Your Git Workflow With Hooks and pre-commit
    6 projects | dev.to | 13 Dec 2023
    # See https://pre-commit.com for more information # See https://pre-commit.com/hooks.html for more hooks repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v3.2.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer - id: check-yaml - id: check-toml - id: check-added-large-files - repo: local hooks: - id: tox lint name: tox-validation entry: pdm run tox -e test,lint language: system files: ^src\/.+py$|pyproject.toml|^tests\/.+py$ types_or: [python, toml] pass_filenames: false - id: tox docs name: tox-docs language: system entry: pdm run tox -e docs types_or: [python, rst, toml] files: ^src\/.+py$|pyproject.toml|^docs\/ pass_filenames: false - repo: https://github.com/pdm-project/pdm rev: 2.10.4 # a PDM release exposing the hook hooks: - id: pdm-lock-check - repo: https://github.com/jumanjihouse/pre-commit-hooks rev: 3.0.0 hooks: - id: markdownlint

What are some alternatives?

When comparing jj and pre-commit you can also consider the following projects:

git-branchless - High-velocity, monorepo-scale workflow for Git

husky - Git hooks made easy 🐶 woof!

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.

gitleaks - Find secrets with Gitleaks 🔑

forgit - :zzz: A utility tool powered by fzf for using git interactively.

ruff - An extremely fast Python linter and code formatter, written in Rust.

EdenSCM - A Scalable, User-Friendly Source Control System. [Moved to: https://github.com/facebook/sapling]

semgrep - Lightweight static analysis for many languages. Find bug variants with patterns that look like source code.

git-imerge - Incremental merge for git

Poetry - Python packaging and dependency management made easy

git-issue - Git-based decentralized issue management

pre-commit-golang - Pre-commit hooks for Golang with support for monorepos, the ability to pass arguments and environment variables to all hooks, and the ability to invoke custom go tools.

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured

Did you konow that Rust is
the 5th most popular programming language
based on number of metions?