Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: commit-check/commit-check
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v2.6.1
Choose a base ref
...
head repository: commit-check/commit-check
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v2.7.0
Choose a head ref
  • 3 commits
  • 20 files changed
  • 1 contributor

Commits on May 15, 2026

  1. feat: block force pushes via pre-push hook (#412)

    * feat: block force pushes via pre-push hook
    
    Adds a `check-no-force-push` pre-push hook that detects and blocks
    `git push --force` / `git push -f` by inspecting pushed ref ancestry
    via `git merge-base --is-ancestor`.
    
    ## Detection logic
    
    Reads git's pre-push stdin (<local ref> <local sha> <remote ref> <remote sha>)
    and evaluates:
    
    - Remote SHA is zero -> new branch push -> pass
    - merge-base returns 0 -> fast-forward -> pass
    - Returns 1 -> force push detected -> fail
    - Returns 128 -> git error, pass (safe default)
    
    ## Standalone mode
    
    When run without stdin, --no-force-push checks whether pushing HEAD to its
    configured upstream would require force, using git ls-remote and optional
    git fetch to resolve the remote commit.
    
    Closes #203
    
    * docs: add push safety section to README and examples
    
    * test: add coverage for validate_push API and push rule fallback
    
    * Add force option to documentation for next version
    
    * fix: fetch remote ref before force-push check
    
    * chore: revert labeler.yml changes
    
    * fix: use pre-commit push metadata
    
    * fix: ensure pre-push hook always runs and remove -p short flag
    
    - Add always_run: true to check-no-force-push hook in .pre-commit-hooks.yaml
      to prevent pre-commit from skipping the hook when zero files changed
      (e.g. force push with identical tree, different history)
    - Remove -p short flag from --no-force-push CLI argument; the flag is
      exclusively used in pre-commit hooks, not interactive CLI use
    shenxianpeng authored May 15, 2026
    Configuration menu
    Copy the full SHA
    657d391 View commit details
    Browse the repository at this point in the history
  2. docs: improve Why Commit Check comparison table (#413)

    * docs: improve Why Commit Check comparison table
    
    - Fix commitlint signed-off-by: change from ✅ to Partial (requires community plugin)
    - Add YACC (Yet Another Commit Checker) column for complete competitive landscape
    - Add 3 new comparison rows: Open source & free, Client-side enforcement, AI-native
    - Fix YACC author validation, co-author ignore, org-level config based on official docs
    - Add footnotes for commitlint signed-off-by, YACC context, and YACC ignore semantics
    
    * chore: Apply suggestion from @shenxianpeng
    shenxianpeng authored May 15, 2026
    Configuration menu
    Copy the full SHA
    284c6df View commit details
    Browse the repository at this point in the history

Commits on May 16, 2026

  1. feat: add 156 common imperative verbs to imperatives list (#414)

    Add frequently-used verbs that were missing from the imperatives set,
    including 'block' and 'improve' as requested. Total verbs: 234 → 390.
    
    New verbs organized by category:
    - Auth/security: grant, revoke, restrict, encrypt, decrypt, sanitize
    - Data ops: batch, broadcast, compress, duplicate, marshal, shuffle, sort
    - Lifecycle: abort, suspend, resume, terminate, pause, discard, dispose
    - I/O & networking: attach, detach, bind, mount, disconnect, route, flush
    - Debug/observability: debug, trace, track, measure, infer, notify, warn
    - UI/UX: hide, toggle, switch, mask, outline
    - Engineering: migrate, integrate, isolate, inject, schedule, throttle,
      document, rebase, squash, reformat, redirect, relocate
    - General: compose, embed, expose, exclude, ignore, skip, lock, minimize,
      maximize, navigate, reconcile, retry, reuse, rewrite, setup, spawn
    shenxianpeng authored May 16, 2026
    Configuration menu
    Copy the full SHA
    e44b79a View commit details
    Browse the repository at this point in the history
Loading