Pack local Git changes
pack_changesPacks local Git commits, staged/unstaged edits, and untracked files into a portable .gitferry bundle for transfer and apply without a shared remote or network.
Instructions
Read a local Git repository and write a portable .gitferry bundle of commits, staged/unstaged changes, and untracked files. only=repo instead captures tracked files as a snapshot. Review untracked files for secrets before sharing. No network transfer is performed.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"cwd": "<cwd>"
},
"name": "pack_changes"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | Yes | Absolute path to the git repository (or any directory inside it) | |
| base | No | Ref/sha the bundle applies onto (default: merge-base with the upstream tracking branch) | |
| only | No | Select all, uncommitted, staged, unstaged, committed, or repo (tracked-file snapshot). Default all. Include flags can further narrow the selection; repo is exclusive. | |
| output | No | Output bundle path; defaults to <repo>-<branch>-<sha>.gitferry in cwd | |
| portable | No | Write a plain ZIP for git + unzip targets instead of the smaller Brotli-wrapped format (default false) | |
| includeStaged | No | Include staged (index) changes (default true) | |
| includeCommits | No | Include unpushed commits (default true) | |
| includeUnstaged | No | Include unstaged working-tree changes (default true) | |
| includeWorktree | No | Include staged AND unstaged changes; master switch over includeStaged/includeUnstaged (default true) | |
| includeUntracked | No | Include untracked files (default true) |