mirror of
https://github.com/Microsoft/vscode
synced 2024-08-27 04:49:35 +00:00
Sync Changes button - only show when local branch is ahead/behind the remote branch (#155192)
Only show Sync Changes button when local branch is ahead/behind the remote branch
This commit is contained in:
parent
89f9e79d5d
commit
ee18db8144
|
@ -221,10 +221,10 @@
|
|||
"config.timeline.date.committed": "Use the committed date",
|
||||
"config.timeline.date.authored": "Use the authored date",
|
||||
"config.useCommitInputAsStashMessage": "Controls whether to use the message from the commit input box as the default stash message.",
|
||||
"config.showActionButton": "Controls whether an action button can be shown in the Source Control view.",
|
||||
"config.showActionButton.commit": "Show an action button to commit changes.",
|
||||
"config.showActionButton.publish": "Show an action button to publish a local branch.",
|
||||
"config.showActionButton.sync": "Show an action button to sync changes.",
|
||||
"config.showActionButton": "Controls whether an action button is shown in the Source Control view.",
|
||||
"config.showActionButton.commit": "Show an action button to commit changes when the local branch has modified files ready to be committed.",
|
||||
"config.showActionButton.publish": "Show an action button to publish the local branch when it does not have a tracking remote branch.",
|
||||
"config.showActionButton.sync": "Show an action button to synchronize changes when the local branch is either ahead or behind the remote branch.",
|
||||
"config.statusLimit": "Controls how to limit the number of changes that can be parsed from Git status command. Can be set to 0 for no limit.",
|
||||
"config.experimental.installGuide": "Experimental improvements for the git setup flow.",
|
||||
"config.repositoryScanIgnoredFolders": "List of folders that are ignored while scanning for Git repositories when `#git.autoRepositoryDetection#` is set to `true` or `subFolders`.",
|
||||
|
|
|
@ -204,9 +204,10 @@ export class ActionButtonCommand {
|
|||
private getSyncChangesActionButton(): SourceControlActionButton | undefined {
|
||||
const config = workspace.getConfiguration('git', Uri.file(this.repository.root));
|
||||
const showActionButton = config.get<{ sync: boolean }>('showActionButton', { sync: true });
|
||||
const branchIsAheadOrBehind = (this.state.HEAD?.behind ?? 0) > 0 || (this.state.HEAD?.ahead ?? 0) > 0;
|
||||
|
||||
// Branch does not have an upstream, commit/merge is in progress, or the button is disabled
|
||||
if (!this.state.HEAD?.upstream || this.state.isCommitInProgress || this.state.isMergeInProgress || !showActionButton.sync) { return undefined; }
|
||||
// Branch does not have an upstream, branch is not ahead/behind the remote branch, commit/merge is in progress, or the button is disabled
|
||||
if (!this.state.HEAD?.upstream || !branchIsAheadOrBehind || this.state.isCommitInProgress || this.state.isMergeInProgress || !showActionButton.sync) { return undefined; }
|
||||
|
||||
const ahead = this.state.HEAD.ahead ? ` ${this.state.HEAD.ahead}$(arrow-up)` : '';
|
||||
const behind = this.state.HEAD.behind ? ` ${this.state.HEAD.behind}$(arrow-down)` : '';
|
||||
|
|
Loading…
Reference in a new issue