Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/workbench/contrib/chat/common/plugins/pluginGitService.ts
13405 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import { CancellationToken } from '../../../../../base/common/cancellation.js';
7
import { URI } from '../../../../../base/common/uri.js';
8
import { createDecorator } from '../../../../../platform/instantiation/common/instantiation.js';
9
10
export const IPluginGitService = createDecorator<IPluginGitService>('pluginGitService');
11
12
/**
13
* Abstracts git operations used by the agent plugin system.
14
*
15
* Concrete behavior depends on the platform-specific implementation that is
16
* registered for this service.
17
*/
18
export interface IPluginGitService {
19
readonly _serviceBrand: undefined;
20
21
cloneRepository(cloneUrl: string, targetDir: URI, ref?: string, token?: CancellationToken): Promise<void>;
22
pull(repoDir: URI, token?: CancellationToken): Promise<boolean>;
23
checkout(repoDir: URI, treeish: string, detached?: boolean, token?: CancellationToken): Promise<void>;
24
revParse(repoDir: URI, ref: string): Promise<string>;
25
fetch(repoDir: URI, token?: CancellationToken): Promise<void>;
26
fetchRepository(repoDir: URI, token?: CancellationToken): Promise<void>;
27
revListCount(repoDir: URI, fromRef: string, toRef: string): Promise<number>;
28
}
29
30