Skip to content

v19.5.0

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Oct 20:14
· 5 commits to main since this release
v19.5.0
baba0c2

Added

  • Adds a reachability check to Add Remote — the confirm step probes the URL and, when it can't be reached, says why and offers Add Remote Anyway, Change URL, or a retry; the name defaults to origin on a repository with no remotes
  • Adds Publish Repository to branch and worktree rows in the views when their repository has no remotes
  • Adds Remove Remote to the error shown when a push can't reach a remote that has never been fetched from (e.g. one just added with a mistyped URL)
  • Adds a Publish Repository… call to action to the Commit Graph's Pull Requests panel when the repository has no remotes

Changed

  • Changes Publish Repository in the Commit Graph and views to open the push wizard's chooser (Publish Repository… or Add Remote…) with the clicked action pre-selected, rather than handing straight to VS Code's publish flow — Add Remote… continues into the publish confirm without a fetch step, and a multi-repository push now skips (and names) repositories without remotes instead of failing
  • Changes views and the Commit Graph to keep updating during long-running activity, such as a long rebase or a build writing into the working tree, where they used to wait until it stopped
  • Changes how a branch's merge target is chosen when none is saved or detected — the default branch is found from local branches first (an upstream remote's, then origin's) and the remote is asked only when they name none, the default branch itself is measured against its own upstream, and a branch created from another branch is measured against it until that branch is merged; the guess for a branch created with git checkout -b is no longer saved
  • Improves performance when working across several worktrees of one repository — staging changes, or a merge, rebase or cherry-pick pausing, in one worktree no longer refreshes the views and Commit Graph state of every other worktree, switching branches in one worktree refreshes the others once instead of twice, and locking or unlocking a worktree no longer discards the others' cached Git data
  • Changes Push to Here… to push onto the branch's upstream rather than a remote branch named like the local one — they differ when, e.g., local foo tracks origin/bar
  • Improves staging, unstaging, discarding, and committing when another Git process (VS Code's Git extension, a terminal, an AI agent) briefly holds the index lock — GitLens now waits and retries instead of failing with an index.lock error
  • Improves how views and the Commit Graph follow Git's ignore rules when watching for file changes — changes in folders ignored by a nested .gitignore (such as a package's dist/) no longer trigger refreshes, and info/exclude in linked worktrees, a ~/ path in core.excludesFile, the global ~/.config/git/ignore file, and core.ignorecase are now respected

Fixed

  • Fixes a push to an unreachable HTTPS remote (e.g. a mistyped host) reporting a generic error rather than that the remote could not be reached
  • Fixes the views and the Commit Graph's context menus choosing between Publish Branch and Publish Repository by whether any repository in the workspace has remotes — each row now follows its own repository, and a remote without a recognized host no longer counts as no remote
  • Fixes Add Remote and Fetch hanging (or closing silently) when the fetch failed, leaving the remote behind — it now warns and offers Remove Remote
  • Fixes pressing Enter on an invalid value in a wizard input (a remote URL, a branch name) navigating away — the field now stays open with the message until the value is valid
  • Fixes Don't Ask Again appearing on push confirmations it cannot skip — the no-remotes chooser, the publish step, and the behind-upstream guard
  • Fixes GitLens terminal links (commits, branches, tags, ranges, and git commands) not working in multi-repository workspaces — links now use the repository containing the terminal's working directory, when shell integration reports it (#5986) — thanks to PR #5196 by yuezichong (@qianxunslimg)
  • Fixes opening the changes of a file that was deleted (or renamed away) and re-added failing with "file not found" — the comparison now shows an empty previous version (#5914) — thanks to PR #5930 by Andrés Martínez (@amartinez1224)
  • Fixes Open Blame Prior to this Change on a line whose change added the file (including a file that was deleted or renamed away and re-added) opening an empty file picker or a blank document — it now says the file didn't exist before that change (#5914)
  • Fixes Azure DevOps work items whose type keeps its content outside Description, such as a Bug's Repro Steps or a custom field on an inherited process, showing no description (#6047)
  • Fixes Removed Azure DevOps work items, and completed ones with no closed date, showing as open in Start Work's issue list, autolinks, and a branch's associated issues (#6013, #6041)
  • Fixes the Azure DevOps Server integration on Team Foundation Server 2018 — work item details on autolinks, pull requests for commits, pull request details, and team review requests no longer fail on unsupported REST API versions (#6048)
  • Fixes Azure DevOps repositories cloned with a legacy https://{org}.visualstudio.com/DefaultCollection/… remote never showing pull requests, work items or commit authors, and filling the log with Invalid Azure repository descriptor errors (#5999) — also fixes remotes that name no project (…/DefaultCollection/_git/{repo}, {org}.visualstudio.com/_git/{repo} and dev.azure.com/{org}/_git/{repo}), whose project is named after the repository
  • Fixes Azure DevOps repositories named after their project and cloned without the project segment (…/{collection}/_git/{repo}, as TFS 2018 offers them) never showing pull requests or commit authors (#6000)
  • Fixes Azure DevOps showing no authored or review-requested pull requests in Launchpad, including those requested of the user's teams, for accounts whose profile id differs from their identity in an organization; Launchpad also categorizes those pull requests as the user's (#6032)
  • Fixes Jira issues in a done status with no resolution set showing as open in autolinks, hovers, and a branch's associated issues
  • Fixes a branch's merge target staying stuck on a deleted branch, such as a stacked pull request's base after it merges and is pruned — a saved, detected, or pull request merge target whose branch no longer exists locally is now skipped in favor of the next available one
  • Fixes a branch's merge target counting commits that are already on the remote when the target is an out-of-date local branch — a merge target is now measured against the local branch or its upstream, whichever the branch split off from more recently
  • Fixes the merge target status being hidden when a branch's target is a local branch whose name ends with the branch's own name, such as release/main for main, and both are at the same commit
  • Fixes Commit Graph branch cards measuring the overview and the merge target status against different targets for a branch that tracks a remote other than origin
  • Fixes the Commit Graph's commit scope picker ignoring a branch's saved or pull request merge target
  • Fixes Explain Branch comparing against the current branch, instead of reporting that no base branch was found, for a branch with no merge target
  • Fixes Create Pull Request cutting a local merge target's name at its first slash when choosing the pull request's base — release/2.0 became 2.0
  • Fixes a branch's base never being found from where it was created when Git's grep.patternType is set to fixed
  • Fixes push, pull, and fetch going to the wrong remote or branch when a remote's name contains a slash (e.g. team/fork), when a custom fetch refspec stores a remote's branches under another name, or when a remote is named remotes
  • Fixes a branch that tracks another local branch being treated as tracking a remote of that name — fetch and pull no longer target a nonexistent remote, Publish Branch no longer publishes it under the local branch's name, and pushing a branch whose remote was removed now says it has no upstream instead of pushing somewhere unexpected
  • Fixes the Commit Graph mixing up local and remote branches with similar names — a local team/fork/work beside a remote team/fork no longer shows as a remote branch, a local and a remote branch with the same short name no longer merge into one (losing the current-branch and worktree markers), and refs such as refs/pull/* no longer show as local branches
  • Fixes worktrees that use extensions.worktreeConfig sharing one worktree's Git config — each worktree now uses its own user identity, commit signing, and pull/rebase settings
  • Fixes Start Work not carrying on after signing in from its account gate — the flow now continues, and Start Work, Start Review, and Launchpad no longer offer to connect an integration your account already has (#5988)
  • Fixes Reactivate Pro Trial occasionally being offered again after the server refused it (#6008)