MCPcopy
hub / github.com/timbrel/GitSavvy

github.com/timbrel/GitSavvy @st3-2.39.1 sqlite

repository ↗ · DeepWiki ↗ · release st3-2.39.1 ↗
2,408 symbols 7,918 edges 155 files 389 documented · 16%
README

GitSavvy

tests License

Sublime Text plugin providing probably all git has to offer:

  • basic Git functionality; init, add, commit, amend, checkout, pull, push, etc.
  • special views for status, branches, and tags. Try git: status
  • a superb "Repo History", like gitk, just with more features; try git: Repo History.
  • Rebasing just from that "Repo History". Edit a commit, reword a commit, autosquash commits, apply a fixup, whatever... the [r] menu
  • a "Line History", just select something in a view and search the Command Palette for git: Line History
  • likewise a "File History"
  • git diff view, allowing user to stage, unstage and reset (discard) files, hunks or individual lines
  • fixup/squash helpers everywhere, for example from the "Line History"
  • GitHub integration

    • issue/collaborator referencing when committing
    • opening the current file or a commit on GitHub at the selected line
    • make a new PR from the current branch
  • GitHub-style blame view, showing hunk metadata and ability to view the commit that made the change

Note: GitSavvy requires Git versions at or greater than 2.18.0.

Note: Sublime Text 2 is not supported. Also, GitSavvy takes advantage of modern features of Sublime Text (like annotations). For the best experience, use the latest Sublime Text dev build. Or not, I mean it could also crash you, what am I to recommend here.

Documentation

The documentation is probably outdated. Yeah it's sad but you can contribute and I will eventually get onto it but every special view has help available, just press ?.

Feature documentation can be found here. It can also be accessed from within Sublime by opening the command palette and typing GitSavvy: help.

Highlights

Inline-diff Status dashboard
(Un)stage and revert individual lines and hunks. Display and overview and offer actions to manipulate your project state.
Branch dashboard Tags dashboard
View and manipulate local and remote branches. View and manipulate local and remote tags.
Github integration Rebase dashboard
Reference issues and collaborators in commits. Open files on GitHub in the browser, with lines pre-selected. Squash, edit, move, rebase, undo, redo.

Installation

Simple

  1. Install the Sublime Text Package Control plugin if you don't have it already.
  2. Open the command palette and start typing Package Control: Install Package.
  3. Enter GitSavvy.

Less simple

If you want more control over what you pull down, or if you'd like to submit changes to GitSavvy, you should pull down the repository directly in the Packages folder and restart the editor. You still have to run Package Control: Satisfy Dependencies after that!

Core symbols most depended-on inside this repo

get
called by 324
core/commands/log_graph.py
git
called by 248
core/git_command.py
set
called by 145
core/commands/log_graph.py
get
called by 91
core/settings.py
flash
called by 79
core/utils.py
when
called by 71
tests/mockito/mockito.py
thenReturn
called by 52
tests/mockito/invocation.py
enqueue_on_worker
called by 41
core/runtime.py

Shape

Method 1,341
Function 555
Class 504
Route 8

Languages

Python100%

Modules by API surface

core/commands/log_graph.py174 symbols
core/interfaces/rebase.py88 symbols
common/ui.py77 symbols
core/interfaces/status.py70 symbols
core/interfaces/branch.py67 symbols
tests/mockito/matchers.py66 symbols
core/commands/log_graph_rebase_actions.py62 symbols
core/commands/inline_diff.py57 symbols
core/ui_mixins/quick_panel.py52 symbols
core/parse_diff.py52 symbols
core/commands/diff.py50 symbols
core/commands/flow.py49 symbols

For agents

$ claude mcp add GitSavvy \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact