Repository navigation
v1.27.0
·
147 commits
to d743c7cd4bdbd0f4a9e5c4f99918a4a00c4d215f
since this release
Added
- A double-click always lands on a branch. It used to check out a commit and detach HEAD; on a remote branch it looked like it worked, but the sidebar dropped the remote prefix and ran
git checkout test, quietly taking you to the local branch of that name — three commits further on than the row you clicked. Now git decides: a local branch is switched to; a remote branch whose name is free locally gets the branch that tracks it, created without asking; anything else — a name already taken by a branch that has moved on, a bare commit, a tag — asks for a branch name at that commit, with an empty field, because any suggestion would be a guess about what the branch is for. - Detached HEAD is reachable from exactly one place, the context menu's Check out this commit, whose label now says what it does. A tag cannot be checked out as a branch at all: its menu entry checks out the commit it points at, and double-clicking it offers a branch there. This reverses the tag checkout added in 1.23.0.
- Edit the message of any commit, not just the last one. Clicking the message in the commit panel opened an editor when the commit was the tip of the branch, and did nothing at all otherwise — the text of a commit four back looked exactly the same, with no hint that anything was possible. It is now the same gesture everywhere: click, type, confirm. On the tip that is still
commit --amend; behind it, the range is replayed with a reword step, which is what the context menu's Edit message already did through a modal prompt. - The panel says what the edit costs before you start. Hovering the message of an older commit reads rewrites 4 commits, and the confirm button says Rewrite Message rather than Update Message, with the count repeated beside it. Rewording anything but the tip gives every commit after it a new SHA, which needs a force push on a published branch — that was never stated anywhere.
- Commits that cannot be reworded no longer look like they can. A merge commit behind the tip (a linear replay would drop one of its sides), the very first commit (no parent to rebase from) and a commit that is not in the current branch's history are all left as plain text. The last one mattered most: the reword builds its sequence with
git log <parent>..HEAD, so a commit living only on another branch would have rewritten a range that does not contain it.
Fixed
- The commit panel flashed open when double-clicking a branch chip. The browser sends click, click, dblclick, and only the last was being stopped, so the first reached the commit row underneath and selected it on the way to the checkout. A single click on a chip no longer selects the commit under it.
- Submenus closed themselves under the cursor. Reaching one of the three Reset modes, or a Delete variant, made the submenu disappear as if the pointer had left the menu. Two causes: a sibling row of the parent menu closed it instantly, so entries you had to move diagonally to reach were unreachable; and the same code renders both menus, so hovering a submenu entry took the "close the open submenu" branch — closing itself.
- Auto-stash covers every way of arriving on a branch — switching, creating a tracking branch, creating a branch at a commit — instead of only the plain checkout it was written for.
Changed
- Recompose a commit with AI now reviews in the same place. It used to prefill the inline editor for the tip and open a modal prompt for anything else; both go through the inline editor now.