Skip to content

Porcelain 0.8.0

Choose a tag to compare

@sultanofcardio sultanofcardio released this 27 Aug 04:30
· 69 commits to main since this release
07748ba

First release under the Porcelain name, and the first release of this fork at
all. Nothing was ever published under the old name, so this carries everything:
the JetBrains-style workflow inherited from upstream plus the work done since.

Install

Download porcelain-0.8.0.vsix below, then either:

code --install-extension porcelain-0.8.0.vsix

or run Extensions: Install from VSIX… from the Command Palette.

Works in VS Code and Cursor alike. Needs VS Code 1.86 or later, for the
detached windows the diff surfaces use.

What is new in this fork

Compare Versions. Select two commits in the Git Log, right-click, and see
everything that differs between them. It is the net difference between the two
snapshots, always read oldest to newest whichever order you selected them in,
so work added and later reverted between them correctly shows as no change.

Floating diff windows. Diffs open in their own compact window instead of
competing with your code for editor space. A Changes window lists the files; a
single diff window is reused for every file you open, so diff tabs never pile
up. Pin one to keep it. The conflicts view and the three-way merge editor open
the same way. Set porcelain.diff.openIn to editorTab to keep everything in
the main window instead.

A Commit panel without staging. The checkboxes are the commit, so the
separate Staged group is gone and a file no longer appears twice. Merge
conflicts nest inside Changes the way IntelliJ shows them.

A log that reads like IntelliJ's. Columns are author, graph, summary,
relative date, hash. Commits outside the current branch are dimmed rather than
the rest being washed in blue.

Its own identity. New icon, and THIRD-PARTY-NOTICES.md ships in the
package carrying the Apache 2.0 notice for the bundled JetBrains icons, the
CC BY 4.0 attribution for Codicons, and the licence text of all 59 bundled npm
packages.

Coming from BranchShift

The extension ID is now sultanofcardio.porcelain and commands are
porcelain.*. This is a clean break with no aliases, so any keybindings bound
to branchshift.* need repointing.

Full detail in CHANGELOG.md.