[HN Gopher] Show HN: Interactive Smartlog VSCode Extension - An ...
___________________________________________________________________
Show HN: Interactive Smartlog VSCode Extension - An Interactive Git
GUI
Interactive Smartlog is a graphical VSCode extension that presents
a simplified view of the Git log, directly highlighting the
branches and commits that are most relevant to your current work.
And it's not just a visual tool -- it's fully interactive, allowing
you to add/switch/remove branches, stage/unstage files, and manage
commits directly from the GUI. This tool draws inspiration from
Meta's Interactive Smartlog built for the Sapling source control
system, and I've adapted it to work with Git. Transitioning the
functionality from Sapling to Git wasn't just about a one-to-one
feature transfer; it involved changing how data is queried &
presented, as well as introducing UI interactions for several Git
concepts (like branches, staging/unstaging changes, etc) which are
not present in the Sapling source control system. Originally a
personal project to enhance my own workflow, I've published the
extension on the VSCode marketplace for anyone who would like to
use it. I'm keen to hear your feedback and suggestions, as
community input is invaluable in shaping its future updates.
Author : tnesbitt210
Score : 50 points
Date : 2024-03-17 00:58 UTC (22 hours ago)
(HTM) web link (marketplace.visualstudio.com)
(TXT) w3m dump (marketplace.visualstudio.com)
| jaimehrubiks wrote:
| Looks awesome
| gigatexal wrote:
| It does. Though nothing I've seen yet will break me from my CLI
| use of git.
|
| I edit with neovim. Open a terminal within my editor (yea i
| know neovim has magit and others but I'm oldschool) and stage
| things and commit as atomicly as I can, and then go back to
| work.
| 0xCAP wrote:
| As a neovim user who has to resort to vscode only for
| conflict solving, I'm curious: how do you handle conflicts
| without a GUI? No matter how hard I try, I can't seem to go
| even close to vscode's smart rebase, or sublime merge's
| conflict resolution ux, when I stay in the terminal.
| bitwize wrote:
| One of the main things keeping me away from Visual Studio Code
| was its default git integration was so much worse than magit.
| This may actually be better than magit.
| elliotekj wrote:
| Edamagit is pretty good:
| https://marketplace.visualstudio.com/items?itemName=kahole.m...
| adamhartenz wrote:
| Looks interesting. But unfortunately not open-source. That may
| matter to some people.
| franky47 wrote:
| I've been using a visual approach to Git branch management for
| years, using Ungit [1] through a VSCode extension.
|
| VSCode's built-in commit-crafting UI (diffing, staging, stashing,
| committing) is good enough but branch management (viewing,
| switching, rebasing, squashing) is lacking a built-in solution.
| I'll give this one a try, thanks for sharing.
|
| [1] https://github.com/FredrikNoren/ungit
| bobbert wrote:
| Looks good so far, two things:
|
| 1. Rebasing doesn't appear to be supported 2. An extra "Sapling"
| repository has appeared alongside my git repository in the
| "Source Control" tab
|
| I'm looking forward to trying it out more, thanks for publishing
| this.
| tnesbitt210 wrote:
| Thanks for the report!
|
| #2 definitely sounds like a bug - I'll look into that!
|
| #1 - Rebasing should definitely be possible, but only when A)
| the commit you're rebasing onto is not a descendent of the one
| you're currently on, and vice versa and B) The target commit
| should either be on the primary branch (usually origin/main or
| origin/master) or have branched off from the primary branch at
| the same point or later than the commit you're currently on
| does. This condition isn't strictly necessary, but the thinking
| is that usually people want to rebase onto the commit that's
| further ahead.
|
| For any commit where these conditions are met , a rebase icon-
| button should appear when you hover over that commit, to its
| right.
|
| Let me know if you're still having trouble, or if you have any
| follow up UX feedback!
___________________________________________________________________
(page generated 2024-03-17 23:01 UTC)