feat: Add GitRepoRegistration cmdlets #5
3 changed files with 25 additions and 0 deletions
docs(git-provider): Document Get-GitRepoRegistration
- update comments for related classes and methods
commit
52944936ed
|
|
@ -38,6 +38,19 @@ If the current directory is not in a git repo, a registration already exists by
|
|||
|
||||
`Get-GitRepoRegistration`
|
||||
|
||||
Returns all currently registered git repositories, as well as their current branch.
|
||||
|
||||
```pwsh
|
||||
PS D:/Repos/Project-a> Get-GitRepoRegistration
|
||||
|
||||
Name Location CurrentBranch
|
||||
---- -------- -------------
|
||||
test-repo D:/Repos/Project-a main
|
||||
Project-a D:/Repos/Project-a main
|
||||
```
|
||||
|
||||
The current branch is cached for 15 minutes for performance reasons so it may not be up to date if a git repo has recently had its branch changed.
|
||||
|
||||
## Show-GitRepoRegistration
|
||||
|
||||
`Show-GitRepoRegistration -Name string [-NoStack|-NoSetLocation]`
|
||||
|
|
|
|||
|
|
@ -167,6 +167,11 @@ public class GitManager
|
|||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns all currently registered git repositories, including additional information such as the git repositories
|
||||
/// current branch.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<GitRegistration> ListRepos()
|
||||
{
|
||||
return _registrations.Select(x =>
|
||||
|
|
@ -301,6 +306,10 @@ public class GitManager
|
|||
|
||||
public string Location { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// The current branch of the repository. This value is cached for 15 minutes after which it becomes stale and
|
||||
/// will be refreshed on the next call to this property.
|
||||
/// </summary>
|
||||
public string CurrentBranch => GetCurrentBranch();
|
||||
|
||||
// TODO: not fully decided on if I want this feature or not, but keeping it in for now
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@ using ModuleCore.Git.Models;
|
|||
|
||||
namespace PowershellModule.Git.Commands;
|
||||
|
||||
/// <summary>
|
||||
/// Lists all currently registered git repositories, with additional information such as their current branch.
|
||||
/// </summary>
|
||||
[Cmdlet(VerbsCommon.Get, GitCommands.GitRepoRegistrationNoun)]
|
||||
[OutputType(typeof(GitRegistration))]
|
||||
public class GetGitRepoRegistrationCommand : PSCmdlet
|
||||
|
|
|
|||
Loading…
Reference in a new issue