Skip to content

Heads up: master history rewritten on 2026-04-21 — re-fetch your clone #454

Description

@ejolly

TL;DR: master history was rewritten on 2026-04-21 (commits stripped of large historical artifacts). If you have a local clone, re-fetch or re-clone.

What happened

The cosanlab/master branch has been rewritten via git filter-repo to strip ~63 MB of bloat from commit history: old notebook snapshots with embedded image outputs, stale docs builds (docs/auto_examples/, scripts/nilearn_cache/), a forgotten dist/*.egg, and other files that were deleted years ago but left unreachable-yet-packed bytes in .git.

This was done in preparation for the 0.6.0 rewrite in #453 — the install-from-git path (pip/uv install nltools @ git+...) was fetching nearly 200 MB for every consumer.

Effects

  • Every commit SHA on master has changed (except pre-2015 root commits — nothing was stripped from them).
  • The tree at HEAD is byte-identical to pre-rewrite — no code/content changes, just fewer artifacts in old commits.
  • All release tags (v0.3., v0.4., v0.5.*) remapped to their rewritten equivalents. git checkout v0.5.1 still gives you the v0.5.1 tree.
  • PyPI releases unaffected — release artifacts are independent of commit SHAs.
  • GitHub Releases pages unaffected — release URLs and asset downloads still work.
  • nltools.org docs unaffected — served from gh-pages, which was not rewritten.
  • 29 long-stale feature branches deleted (add_divide, align_bug, bug_fix, documentation, modular, more_templates, etc. — all predating the 0.6.0 effort).

If you have a local clone

Your clone still points at old commit SHAs that are no longer reachable from any branch or tag. To sync:

git fetch --all --prune --prune-tags
git reset --hard origin/master    # if you were on master
# or delete your branch and re-clone

Local commits/branches you made on top of old master: cherry-pick them onto the new master, or use git rebase --onto origin/master <old-master-sha>.

Rollback / recovery

Full pre-rewrite state is preserved at backup/master-pre-rewrite-20260421 (annotated tag). If you need to reference an old commit by its pre-rewrite SHA, GitHub retains unreachable commits for ~90 days — you can still fetch them directly via git fetch origin <old-sha>.

Closing this issue once things stabilize. Feel free to tag me if something breaks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions