Skip to content

Commit a7bfe8b

Browse files
committed
Moves setAsDefault to remotes sub-provider
1 parent 39aa415 commit a7bfe8b

File tree

4 files changed

+12
-8
lines changed

4 files changed

+12
-8
lines changed

src/git/gitProvider.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -484,6 +484,7 @@ export interface GitRemotesSubProvider {
484484
addRemote?(repoPath: string, name: string, url: string, options?: { fetch?: boolean }): Promise<void>;
485485
pruneRemote?(repoPath: string, name: string): Promise<void>;
486486
removeRemote?(repoPath: string, name: string): Promise<void>;
487+
setRemoteAsDefault(repoPath: string, name: string, value?: boolean): Promise<void>;
487488
}
488489

489490
export interface GitStagingSubProvider {

src/git/models/remote.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,7 @@ export class GitRemote<TProvider extends RemoteProvider | undefined = RemoteProv
8686
}
8787

8888
async setAsDefault(value: boolean = true) {
89-
const repository = this.container.git.getRepository(this.repoPath);
90-
await repository?.setRemoteAsDefault(this, value);
89+
await this.container.git.remotes(this.repoPath).setRemoteAsDefault(this.name, value);
9190
}
9291
}
9392

src/git/models/repository.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -838,12 +838,6 @@ export class Repository implements Disposable {
838838
void this.runTerminalCommand('revert', ...args);
839839
}
840840

841-
async setRemoteAsDefault(remote: GitRemote, value: boolean = true) {
842-
await this.container.storage.storeWorkspace('remote:default', value ? remote.name : undefined);
843-
844-
this.fireChange(RepositoryChange.Remotes, RepositoryChange.RemoteProviders);
845-
}
846-
847841
get starred() {
848842
const starred = this.container.storage.getWorkspace('starred:repositories');
849843
return starred != null && starred[this.id] === true;

src/git/sub-providers/remotes.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import type { GitCache } from '../cache';
88
import type { GitProvider, GitRemotesSubProvider } from '../gitProvider';
99
import type { GitRemote } from '../models/remote';
1010
import { getDefaultRemoteOrHighlander } from '../models/remote';
11+
import { RepositoryChange } from '../models/repository';
1112
import type { RemoteProvider } from '../remotes/remoteProvider';
1213

1314
export abstract class RemotesGitProviderBase implements GitRemotesSubProvider {
@@ -181,4 +182,13 @@ export abstract class RemotesGitProviderBase implements GitRemotesSubProvider {
181182

182183
return undefined;
183184
}
185+
186+
@log()
187+
async setRemoteAsDefault(repoPath: string, name: string, value: boolean = true) {
188+
await this.container.storage.storeWorkspace('remote:default', value ? name : undefined);
189+
this.container.events.fire('git:repo:change', {
190+
repoPath: repoPath,
191+
changes: [RepositoryChange.Remotes, RepositoryChange.RemoteProviders],
192+
});
193+
}
184194
}

0 commit comments

Comments
 (0)