
# IVcsProvider interface

*No description yet.*

```csharp
public interface IVcsProvider
```

**Namespace:** DXP · **Assembly:** Altium.SDK.Interfaces

**Derived:** [ICloudVCSVcsProvider](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/ICloudVCSVcsProvider.md), [ISVNVcsProvider](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/ISVNVcsProvider.md)

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [AddFiles](#addfiles) | `string` |  |
| [AddRegisteredDesignVault](#addregistereddesignvault) | [IVcsDesignVault](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVcsDesignVault.md) |  |
| [BrowseRepository](#browserepository) | `bool` |  |
| [CanCreateDesignVault](#cancreatedesignvault) | `bool` |  |
| [CheckOut](#checkout) | `int` |  |
| [CheckRepository](#checkrepository) | `bool` |  |
| [ClearRegisteredDesignVaults](#clearregistereddesignvaults) | `void` |  |
| [Commit](#commit) | `string` |  |
| [CreateDesignVault](#createdesignvault) | [IVcsDesignVault](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVcsDesignVault.md) |  |
| [CreateProject](#createproject) | [IVcsProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVcsProject.md) |  |
| [CreateRepository](#createrepository) | `int` |  |
| [CreateRepositorySilently](#createrepositorysilently) | `bool` |  |
| [Delete](#delete) | `string` |  |
| [DeleteInRepository](#deleteinrepository) | `string` |  |
| [DesignVaultForFolder](#designvaultforfolder) | [IVcsDesignVault](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVcsDesignVault.md) |  |
| [Download](#download) | `int` |  |
| [Export](#export) | `string` |  |
| [GetAutoConnect](#getautoconnect) | `bool` |  |
| [GetName](#getname) | `string` |  |
| [GetOptionPage](#getoptionpage) | [IOptionsPage](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IOptionsPage.md) |  |
| [GetRegisteredDesignVault](#getregistereddesignvault) | [IVcsDesignVault](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVcsDesignVault.md) |  |
| [GetValid](#getvalid) | `bool` |  |
| [Import](#import) | `string` |  |
| [IsUnderVersionControl](#isunderversioncontrol) | `bool` |  |
| [ListRepository](#listrepository) | [IVcsFileNames](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVcsFileNames.md) |  |
| [LoadDesignVaultsFromIni](#loaddesignvaultsfromini) | `void` |  |
| [Move](#move) | `string` |  |
| [RegisteredDesignVaultCount](#registereddesignvaultcount) | `int` |  |
| [ReloadOptions](#reloadoptions) | `void` |  |
| [RepositoryPathExists](#repositorypathexists) | `bool` |  |
| [Resolve](#resolve) | `int` |  |
| [Revert](#revert) | `string` |  |
| [SaveOptions](#saveoptions) | `void` |  |
| [SelectModule](#selectmodule) | `bool` |  |
| [ShallowCheckOut](#shallowcheckout) | `int` |  |
| [Update](#update) | `int` |  |

### AddFiles

*No description yet.*

```csharp
string AddFiles(string argRepositoryAddress, string argLocalDirectory, string argComment, IVcsFileNames argLocalFilePaths, bool argCommit);
string AddFiles(string argRepositoryAddress, string argLocalDirectory, string argComment, object argLocalFilePaths, bool argCommit);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepositoryAddress` | `string` | value |
| `argLocalDirectory` | `string` | value |
| `argComment` | `string` | value |
| `argLocalFilePaths` | [IVcsFileNames](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVcsFileNames.md) | value |
| `argCommit` | `bool` | value |

**Returns:** `string`

The first overload is an extension method of `IVcsProviderHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### AddRegisteredDesignVault

*No description yet.*

```csharp
IVcsDesignVault AddRegisteredDesignVault();
```

**Returns:** [IVcsDesignVault](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVcsDesignVault.md)

Extension method of `IVcsProviderHelper` (`using DXP;`).

### BrowseRepository

*No description yet.*

```csharp
bool BrowseRepository(ref string argRepositoryAddress);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepositoryAddress` | `string` | ref |

**Returns:** `bool`

### CanCreateDesignVault

*No description yet.*

```csharp
bool CanCreateDesignVault();
```

**Returns:** `bool`

### CheckOut

*No description yet.*

```csharp
int CheckOut(string argRepositoryAddress, string argPath, string argLocalDirectory);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepositoryAddress` | `string` | value |
| `argPath` | `string` | value |
| `argLocalDirectory` | `string` | value |

**Returns:** `int`

### CheckRepository

*No description yet.*

```csharp
bool CheckRepository(ref string argRepositoryAddress);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepositoryAddress` | `string` | ref |

**Returns:** `bool`

### ClearRegisteredDesignVaults

*No description yet.*

```csharp
void ClearRegisteredDesignVaults();
```

**Returns:** nothing (`void`)

### Commit

*No description yet.*

```csharp
string Commit(string argRepositoryAddress, string argLocalDirectory, string argComment, IVcsFileNames argFileNames);
string Commit(string argRepositoryAddress, string argLocalDirectory, string argComment, object argFileNames);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepositoryAddress` | `string` | value |
| `argLocalDirectory` | `string` | value |
| `argComment` | `string` | value |
| `argFileNames` | [IVcsFileNames](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVcsFileNames.md) | value |

**Returns:** `string`

The first overload is an extension method of `IVcsProviderHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### CreateDesignVault

*No description yet.*

```csharp
IVcsDesignVault CreateDesignVault();
```

**Returns:** [IVcsDesignVault](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVcsDesignVault.md)

Extension method of `IVcsProviderHelper` (`using DXP;`).

### CreateProject

*No description yet.*

```csharp
IVcsProject CreateProject();
```

**Returns:** [IVcsProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVcsProject.md)

Extension method of `IVcsProviderHelper` (`using DXP;`).

### CreateRepository

*No description yet.*

```csharp
int CreateRepository(ref string argRepositoryAddress);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepositoryAddress` | `string` | ref |

**Returns:** `int`

### CreateRepositorySilently

*No description yet.*

```csharp
bool CreateRepositorySilently(ref string argRepositoryAddress, bool argData);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepositoryAddress` | `string` | ref |
| `argData` | `bool` | value |

**Returns:** `bool`

### Delete

*No description yet.*

```csharp
string Delete(string argRepositoryAddress, IVcsFileNames argLocalPaths);
string Delete(string argRepositoryAddress, object argLocalPaths);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepositoryAddress` | `string` | value |
| `argLocalPaths` | [IVcsFileNames](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVcsFileNames.md) | value |

**Returns:** `string`

The first overload is an extension method of `IVcsProviderHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### DeleteInRepository

*No description yet.*

```csharp
string DeleteInRepository(string argRepositoryAddress, string argComment, IVcsFileNames argRepositoryPaths);
string DeleteInRepository(string argRepositoryAddress, string argComment, object argRepositoryPaths);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepositoryAddress` | `string` | value |
| `argComment` | `string` | value |
| `argRepositoryPaths` | [IVcsFileNames](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVcsFileNames.md) | value |

**Returns:** `string`

The first overload is an extension method of `IVcsProviderHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### DesignVaultForFolder

*No description yet.*

```csharp
IVcsDesignVault DesignVaultForFolder(string argDirectory);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argDirectory` | `string` | value |

**Returns:** [IVcsDesignVault](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVcsDesignVault.md)

Extension method of `IVcsProviderHelper` (`using DXP;`).

### Download

*No description yet.*

```csharp
int Download(string argRepositoryAddress, string argFileName, string argLocalDirectory);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepositoryAddress` | `string` | value |
| `argFileName` | `string` | value |
| `argLocalDirectory` | `string` | value |

**Returns:** `int`

### Export

*No description yet.*

```csharp
string Export(string argRepositoryAddress, string argPath, string argLocalDirectory);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepositoryAddress` | `string` | value |
| `argPath` | `string` | value |
| `argLocalDirectory` | `string` | value |

**Returns:** `string`

### GetAutoConnect

*No description yet.*

```csharp
bool GetAutoConnect();
```

**Returns:** `bool`

### GetName

*No description yet.*

```csharp
string GetName();
```

**Returns:** `string`

### GetOptionPage

*No description yet.*

```csharp
IOptionsPage GetOptionPage();
```

**Returns:** [IOptionsPage](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IOptionsPage.md)

Extension method of `IVcsProviderHelper` (`using DXP;`).

### GetRegisteredDesignVault

*No description yet.*

```csharp
IVcsDesignVault GetRegisteredDesignVault(int argI);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argI` | `int` | value |

**Returns:** [IVcsDesignVault](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVcsDesignVault.md)

Extension method of `IVcsProviderHelper` (`using DXP;`).

### GetValid

*No description yet.*

```csharp
bool GetValid();
```

**Returns:** `bool`

### Import

*No description yet.*

```csharp
string Import(string argRepositoryAddress, string argPath, string argLocalDirectory, string argComment);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepositoryAddress` | `string` | value |
| `argPath` | `string` | value |
| `argLocalDirectory` | `string` | value |
| `argComment` | `string` | value |

**Returns:** `string`

### IsUnderVersionControl

*No description yet.*

```csharp
bool IsUnderVersionControl(string argDirectory);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argDirectory` | `string` | value |

**Returns:** `bool`

### ListRepository

*No description yet.*

```csharp
IVcsFileNames ListRepository(string argRepositoryAddress, string argPath, bool argRecursive);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepositoryAddress` | `string` | value |
| `argPath` | `string` | value |
| `argRecursive` | `bool` | value |

**Returns:** [IVcsFileNames](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVcsFileNames.md)

Extension method of `IVcsProviderHelper` (`using DXP;`).

### LoadDesignVaultsFromIni

*No description yet.*

```csharp
void LoadDesignVaultsFromIni(IOptionsReader argReader, string argSectionName);
void LoadDesignVaultsFromIni(object argReader, string argSectionName);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argReader` | [IOptionsReader](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IOptionsReader.md) | value |
| `argSectionName` | `string` | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `IVcsProviderHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### Move

*No description yet.*

```csharp
string Move(string argRepositoryAddress, string argSrcPath, string argDestPath);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepositoryAddress` | `string` | value |
| `argSrcPath` | `string` | value |
| `argDestPath` | `string` | value |

**Returns:** `string`

### RegisteredDesignVaultCount

*No description yet.*

```csharp
int RegisteredDesignVaultCount();
```

**Returns:** `int`

### ReloadOptions

*No description yet.*

```csharp
void ReloadOptions();
```

**Returns:** nothing (`void`)

### RepositoryPathExists

*No description yet.*

```csharp
bool RepositoryPathExists(string argRepositoryAddress, string argPath);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepositoryAddress` | `string` | value |
| `argPath` | `string` | value |

**Returns:** `bool`

### Resolve

*No description yet.*

```csharp
int Resolve(string argLocalDirectory, IVcsFileNames argFileNames);
int Resolve(string argLocalDirectory, object argFileNames);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argLocalDirectory` | `string` | value |
| `argFileNames` | [IVcsFileNames](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVcsFileNames.md) | value |

**Returns:** `int`

The first overload is an extension method of `IVcsProviderHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### Revert

*No description yet.*

```csharp
string Revert(string argRepositoryAddress, IVcsFileNames argLocalPaths);
string Revert(string argRepositoryAddress, object argLocalPaths);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepositoryAddress` | `string` | value |
| `argLocalPaths` | [IVcsFileNames](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVcsFileNames.md) | value |

**Returns:** `string`

The first overload is an extension method of `IVcsProviderHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### SaveOptions

*No description yet.*

```csharp
void SaveOptions();
```

**Returns:** nothing (`void`)

### SelectModule

*No description yet.*

```csharp
bool SelectModule(string argAuxProject, ref string argModule);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argAuxProject` | `string` | value |
| `argModule` | `string` | ref |

**Returns:** `bool`

### ShallowCheckOut

*No description yet.*

```csharp
int ShallowCheckOut(string argRepositoryAddress, string argPath, string argLocalDirectory);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepositoryAddress` | `string` | value |
| `argPath` | `string` | value |
| `argLocalDirectory` | `string` | value |

**Returns:** `int`

### Update

*No description yet.*

```csharp
int Update(string argRepositoryAddress, string argLocalDirectory);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepositoryAddress` | `string` | value |
| `argLocalDirectory` | `string` | value |

**Returns:** `int`

## Returned by

[IVcsBasedProjectCommands.GetVcsProvider](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVcsBasedProjectCommands.md#getvcsprovider), [IVcsDesignVault.GetProvider](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVcsDesignVault.md#getprovider), [IVcsManager.GetProviderByType](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IVcsManager.md#getproviderbytype)
