• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

veeso / cucco / 36457878385
95%

Build:
DEFAULT BRANCH: main
Ran 28 Sep 2026 05:26PM UTC
Jobs 1
Files 8
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

28 Sep 2026 05:24PM UTC coverage: 95.3%. First build
36457878385

push

github

web-flow
feat!: migrate koji fork to cucco (#1)

* feat(commit): run pre-commit and post-commit hooks

Wraps the cocogitto commit with `pre-commit` and `post-commit` git
hooks, matching `git commit` behavior. A failing `pre-commit` hook
aborts the commit; a failing `post-commit` hook is reported as a
warning and does not abort, matching `git commit`.

Staging is always performed by koji (via gix) regardless of whether
hooks are enabled, so `--all` and `--all --no-verify` produce the
same staged set: tracked modified/deleted files only, matching the
documented `--all` flag and `git commit -a` semantics. Cocogitto's
own staging is bypassed.

Adds `--no-verify` to skip both hooks (conflicts with `--hook`).

* fix(commit): refresh stat and invalidate TREE cache when staging via gix

`stage_tracked` updates index entries' blob ids in-place but left two
gix-index pieces stale, which manifested only when cocogitto (libgit2)
wrote the commit afterwards:

- The TREE extension still pointed at the pre-edit root tree, so
  libgit2's `index.write_tree()` returned the cached old tree id —
  producing a commit whose tree equals its parent's (empty diff).
- The entry `stat` (mtime/size/ino) was not refreshed from disk, so
  `git status` reported the file as modified after commit even though
  index, HEAD and worktree blobs all matched.

Drop the TREE extension and rewrite `entry.stat` from the worktree
file's metadata before writing the index.

* fix(commit): make --all match git add -A and handle missing index

Stage untracked files (matching documented `git add -A` semantics) and
gracefully open `.git/index` via `at_or_default` so `koji -a` works in
a fresh repo before any commit exists.

* feat!: rename project to cucco

The crate, binary and library are now named cucco. The project config file is .cucco.toml and the user config lives under cucco/config.toml.

BREAKING CHANGE: .koji.toml and koji/config.toml are no longer read; rename them to .cucco.toml and cucco/config.... (continued)

153 of 171 new or added lines in 6 files covered. (89.47%)

1460 of 1532 relevant lines covered (95.3%)

246.88 hits per line

Uncovered Changes

Lines Coverage ∆ File
18
88.55
src/lib/commit.rs
Jobs
ID Job ID Ran Files Coverage
1 36457878385.1 28 Sep 2026 05:26PM UTC 8
95.3
GitHub Action Run
Source Files on build 36457878385
  • Tree
  • List 8
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #36457878385
  • 92ed991d on github
  • Next Build on main (#36539012521)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc