mirror of
https://github.com/microsoft/vscode.git
synced 2025-12-22 19:29:17 +00:00
Improve layering for git model (#272857)
* Improve layering for git model - Git clone doesn't belong in the model, removed it - All the extra repo picking didn't seem to fit into `Git` though, as that is really about git operations - Added a `CloneUtils` namespace for all the clone stuff to live. * Update extensions/git/src/clone.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * CloneManager class * public/private
This commit is contained in:
@@ -19,6 +19,7 @@ import { GitTimelineItem } from './timelineProvider';
|
||||
import { ApiRepository } from './api/api1';
|
||||
import { getRemoteSourceActions, pickRemoteSource } from './remoteSource';
|
||||
import { RemoteSourceAction } from './typings/git-base';
|
||||
import { CloneManager } from './cloneManager';
|
||||
|
||||
abstract class CheckoutCommandItem implements QuickPickItem {
|
||||
abstract get label(): string;
|
||||
@@ -774,7 +775,8 @@ export class CommandCenter {
|
||||
private model: Model,
|
||||
private globalState: Memento,
|
||||
private logger: LogOutputChannel,
|
||||
private telemetryReporter: TelemetryReporter
|
||||
private telemetryReporter: TelemetryReporter,
|
||||
private cloneManager: CloneManager
|
||||
) {
|
||||
this.disposables = Commands.map(({ commandId, key, method, options }) => {
|
||||
const command = this.createCommand(commandId, key, method, options);
|
||||
@@ -1016,12 +1018,12 @@ export class CommandCenter {
|
||||
|
||||
@command('git.clone')
|
||||
async clone(url?: string, parentPath?: string, options?: { ref?: string }): Promise<void> {
|
||||
await this.model.clone(url, { parentPath, ...options });
|
||||
await this.cloneManager.clone(url, { parentPath, ...options });
|
||||
}
|
||||
|
||||
@command('git.cloneRecursive')
|
||||
async cloneRecursive(url?: string, parentPath?: string): Promise<void> {
|
||||
await this.model.clone(url, { parentPath, recursive: true });
|
||||
await this.cloneManager.clone(url, { parentPath, recursive: true });
|
||||
}
|
||||
|
||||
@command('git.init')
|
||||
|
||||
Reference in New Issue
Block a user