Skip to main content

TUI toolkit for cherry-picking files between git branches

Project description

Cherry Files Toolkit

A terminal UI (built with Textual) for moving work between git branches at the file level — pick the final state of the files you want and apply them to another branch as one clean commit, no commit-by-commit cherry-picking.

It ships two tools side by side:

  • Cherry Files Picker — select files from your current branch and commit their current content onto a target branch.
  • Cherry Files Diff — see every file added, modified, or deleted on a branch since it diverged from its base, grouped as a scannable tree.

The idea

This project is a new iteration of my previous Cherry Files Picker. The goal is the same — move the final state of selected files between branches as one clean commit — but this version upgrades the UI to a full TUI and adds a second module, Cherry Files Diff, for understanding branch divergence at a glance.

Install

pip install cherry-files-toolkit

Requires Python 3.10+ and git on your PATH.

Usage

Run it from inside any git repository:

cherry-files-toolkit

Press Ctrl+Q to quit.

Cherry Files Picker (right panel)

Transfers the final approved state of selected files from your working branch to another branch:

  1. Source branch is pre-filled with your current branch.
  2. Pick a target branch — where the work should land.
  3. Search and select the files to move. Selections persist while you filter.
  4. Write a commit title and description, review the selected files, and hit Cherry Pick Files. The toolkit commits those files' current content onto the target branch in a single commit.

Use it when you know which files are done and want them on another branch without replaying the messy commit history that produced them.

Cherry Files Diff (left panel)

Explains branch divergence at the file level, so you can recover context on a branch you don't know well:

  1. Pick the divergent branch (the one with the work) and its base branch.
  2. Start Diff Checker finds the point where they diverged and lists every file created, modified, or deleted since — with per-category counts and a directory tree for fast scanning.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cherry_files_toolkit-0.1.0.tar.gz (3.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cherry_files_toolkit-0.1.0-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file cherry_files_toolkit-0.1.0.tar.gz.

File metadata

  • Download URL: cherry_files_toolkit-0.1.0.tar.gz
  • Upload date:
  • Size: 3.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for cherry_files_toolkit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f618b3974a25331f39a92ab6c4388bfc7d70c16737494f5aad882730076179ed
MD5 26e7e543a771f2ec733121c173ba2c00
BLAKE2b-256 7804f540286ace784287e304b3c083111a206fdd2e6ab6e05351bd553a3f637f

See more details on using hashes here.

File details

Details for the file cherry_files_toolkit-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cherry_files_toolkit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a1d415c70e2eb9aa197e851181bd6d1426620b45a20aaf4b946f067631cc0439
MD5 455271ac8f4a1a526256dd7151337a97
BLAKE2b-256 e44df9a0241435a1ead37ac20a1c6d646690ecea9678829e154b292f6512dafa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page