Skip to content

Shrink repo: rewrite history to remove GIFs, host demo videos on GitHub#9

Open
jonico wants to merge 23 commits into
Postman-Devrel:mainfrom
jonico:compress-gifs-to-mp4
Open

Shrink repo: rewrite history to remove GIFs, host demo videos on GitHub#9
jonico wants to merge 23 commits into
Postman-Devrel:mainfrom
jonico:compress-gifs-to-mp4

Conversation

@jonico
Copy link
Copy Markdown

@jonico jonico commented Jun 4, 2026

Summary

This branch rewrites the entire history of the repository to remove the large GIF assets, and updates the README to source demo videos from GitHub user-attachment URLs (uploaded via #10) instead of repo-hosted files.

Net effect:

  • Large GIF blobs stripped from history → smaller repo
  • No MP4s checked in either — videos live on github.com/user-attachments/assets/...
  • README rendering: 4 inline video players (verified — user-attachments URLs are the only path that survives GitHub's markdown sanitizer)

Videos referenced (uploaded in #10):

  • Sync demo
  • Codegen demo
  • Mock-server demo
  • API AI-readiness demo

Repo size impact

Measured as total clone footprint on disk (du -sh after git clone), which is what new contributors actually pay:

Clone Total .git Working tree
git clone … (current main) 191 MB 96 MB 95 MB
git clone --single-branch --branch <rewritten-main> ~0.5 MB ~0.3 MB ~0.15 MB
Reduction (per-branch) −190.5 MB (−99.7%)

The four GIFs accounted for nearly all of it:

File Size
assets/postman-plugin-codegen.gif 32.15 MiB
assets/postman-plugin-sync.gif 25.64 MiB
assets/postman-plugin-mock-server.gif 20.39 MiB
assets/postman-plugin-api-ai-check.gif 16.23 MiB
Total 94.41 MiB

After the rewrite, the largest blob in this branch is scripts/postman_client.py at 52 KiB — no binary assets remain.

⚠️ Caveat: other branches still carry the GIFs

A force-push of this branch to main alone will not shrink a default git clone of the upstream repo, because the GIF blobs are still reachable from 5 other branches. To get the full benefit, those branches need to be deleted (or rewritten) after the merge.

Maintainer integration steps

1. Force-push this branch to main

# From an up-to-date local clone of upstream:
git fetch https://github.com/jonico/postman-claude-code-plugin.git compress-gifs-to-mp4
git checkout main
git reset --hard FETCH_HEAD
git push --force-with-lease origin main

Or via the GitHub UI: temporarily lift branch protection on main, then run the above. Re-enable protection afterward.

2. Delete the GIF-carrying branches

Status of each branch (verified via `gh api .../compare/main...`):

Branch Ahead of main Behind Associated PR Recommendation
`feature/add-postman-context` 0 4 #7 MERGED ✅ Safe to delete
`oauth-support` 0 1 #6 MERGED ✅ Safe to delete
`task/add_postman_cli_skills` 0 16 #3 MERGED ✅ Safe to delete
`feature/private-network-search` 5 19 (diverged) #1 MERGED ⚠️ Has 5 unmerged commits — review before deleting
`jia.kim/revert-context` 1 0 #8 OPEN ❌ Do not delete — has open PR

To delete the three safe branches:

# Via git CLI (from an up-to-date local clone):
git push origin --delete feature/add-postman-context oauth-support task/add_postman_cli_skills

# Or via gh CLI:
gh api -X DELETE repos/Postman-Devrel/postman-claude-code-plugin/git/refs/heads/feature/add-postman-context
gh api -X DELETE repos/Postman-Devrel/postman-claude-code-plugin/git/refs/heads/oauth-support
gh api -X DELETE repos/Postman-Devrel/postman-claude-code-plugin/git/refs/heads/task/add_postman_cli_skills

3. Decide on the two remaining branches

`feature/private-network-search` — its original PR is merged but the branch has 5 commits ahead of main. Inspect with `git log main..feature/private-network-search` to see if anything is worth preserving. If not, delete the same way.

`jia.kim/revert-context` (PR #8 open) — either:

  • Close PR Revert "Add Postman Context to skills" #8 and delete the branch, or
  • Apply the same history rewrite to that branch (drop the GIFs from its history): `git filter-repo --invert-paths --path-glob 'assets/*.gif'` on a local checkout, then force-push.

4. (Optional) Trigger GitHub-side garbage collection

After branches are deleted, the GIF blobs become unreachable but may persist in GitHub's pack storage for a while. New clones will not include them, but to force an immediate repack, open a support request at https://support.github.com asking for a manual GC. Otherwise, GitHub eventually GCs unreachable objects on its own schedule.

Important — this is not a normal merge

Because the history was rewritten, commits on this branch do not share ancestry with `main`. A standard PR merge is not possible. To integrate, a maintainer must force-push this branch to `main` (per step 1 above) rather than using the GitHub merge button.

Everyone with a local clone will need to re-clone or hard-reset to the new `main` after the force-push.

Test plan

  • Confirm all four videos render as inline players on the rendered README
  • Step 1: force-push completed; verify `git clone --single-branch --branch main` is ~0.5 MB
  • Step 2: delete the 3 safe branches; verify default `git clone` size drops
  • Step 3: decide on `feature/private-network-search` and `jia.kim/revert-context`
  • Coordinate with other contributors so they re-sync their local clones

SterlingChin and others added 22 commits February 20, 2026 11:58
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…rel#1)

Search Strategy update to utilize private network search
…man_cli_skills

Add postman cli workflow skills
Signed-off-by: Yoichi Kawasaki <yokawasa@gmail.com>
Signed-off-by: Yoichi Kawasaki <yokawasa@gmail.com>
…rget

fix: use pull_request_target for labeler to support fork PRs
…ostman-context

Add Postman Context to skills
History rewrite that removes the large GIF assets from repo history.
Demo videos in the README now reference GitHub user-attachment URLs
(uploaded via issue Postman-Devrel#10) rather than being checked into assets/.
@jonico jonico force-pushed the compress-gifs-to-mp4 branch from ebe23ab to 6b9faa7 Compare June 4, 2026 13:32
@jonico jonico changed the title Shrink repo by rewriting history to replace GIFs with MP4s Shrink repo: rewrite history to remove GIFs, host demo videos on GitHub Jun 4, 2026
@jonico jonico marked this pull request as ready for review June 4, 2026 13:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants