Skip to content

Some code cleanup and documentation#36

Merged
darthsharp merged 13 commits intomainfrom
feature/cleanupcode
Mar 29, 2026
Merged

Some code cleanup and documentation#36
darthsharp merged 13 commits intomainfrom
feature/cleanupcode

Conversation

@darthsharp
Copy link
Copy Markdown
Contributor

No description provided.

…o primary constructors

- Transitioned several classes to use primary constructors, reducing boilerplate code.
- Enabled nullable reference types across multiple projects for improved type safety.
- Updated namespace references to streamline imports and align with project structure changes.
- Added `<Description>` tags to `.csproj` files for improved project descriptions.
- Defined purposes and features for Git implementations, CLI tool, and abstractions.
- Enhanced package metadata to aid in tool discovery and usage.
- Added comprehensive XML comments to interfaces and methods for improved code clarity and documentation.
- Updated constructors, properties, enums, and delegate parameters with summaries, parameter descriptions, and return value details.
- Streamlined the readability of member comments by standardizing formatting and removing redundant remarks.
- Added comprehensive XML comments across the codebase to improve maintainability.
- Enhanced constructors, methods, and properties with parameter and return value summaries.
- Added a detailed overview of GitTools, including features and integrations.
- Included installation instructions and CLI usage examples.
- Documented configuration options, architecture, and steps to build from source.
- Added badges for .NET version, NuGet version, and license information.
…inux

- Updated the configuration file paths in the table to provide distinct locations for macOS and Linux.
- Improved readability by adjusting indentation and spacing in code blocks.
- Updated license badge to reflect Apache 2.0.
- Added a build status badge to highlight CI workflow status.
- Expanded the feature list to include Git abstraction layer and usage examples.
- Introduced collapsible sections for configuration examples and repository defaults.
- Updated "Getting started" section with step-by-step installation and usage guide.
- Included a new section documenting the Git abstraction library with examples.
…mports

- Replaced redundant if-else blocks with a ternary operator in `ReferenceName.Parse` for readability.
- Removed unused imports in `StartFeatureCommand` and `ListVersionsCommand` to streamline code.
…terfaces

- Added detailed XML comments to `DefaultGcmCoreCredentialStore`, `IGcmCoreCredentialStore`, `DefaultGcmCoreCredentialProvider`, and related methods.
- Enhanced `ServiceCollectionExtensions` with parameter descriptions and usage remarks.
- Improved code clarity with `<inheritdoc/>` tags and exception summaries where applicable.
…t test project

- Removed unnecessary "DependencyInjection" folder include in the project file.
- Updated `ServiceCollectionExtensionsTests` namespace to align with project conventions.
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR focuses on codebase cleanup and documentation improvements across the Git abstractions + LibGit2Sharp implementation, along with some packaging metadata updates and a small DI namespace refactor for the GCM Core credential provider.

Changes:

  • Enabled nullable reference types via Directory.Build.props in source/, source/Git/, and tests/.
  • Added/expanded XML documentation across many public abstractions and implementation types; added NuGet package descriptions.
  • Moved AddGcmCoreCredentialProvider DI extensions into the CreativeCoders.Git.Auth.CredentialManagerCore root namespace (and removed the previous ...DependencyInjection namespace file).

Reviewed changes

Copilot reviewed 127 out of 127 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/Directory.Build.props Enables nullable reference types for test projects.
tests/CreativeCoders.Git.Auth.CredentialManagerCore.UnitTests/ServiceCollectionExtensionsTests.cs Adjusts usings/namespace to match new DI extension location.
tests/CreativeCoders.Git.Auth.CredentialManagerCore.UnitTests/CreativeCoders.Git.Auth.CredentialManagerCore.UnitTests.csproj Removes placeholder folder include for cleaned-up test structure.
source/Directory.Build.props Enables nullable reference types for source projects.
source/Git/Directory.Build.props Enables nullable reference types for Git-related projects.
source/GitTool/CreativeCoders.GitTool.Cli.GtApp/CreativeCoders.GitTool.Cli.GtApp.csproj Adds package/tool description metadata.
source/GitTool/CreativeCoders.GitTool.Cli.Commands/ReleaseGroup/ListVersions/ListVersionsCommand.cs Removes unused using; adds [UsedImplicitly] for DI/reflection usage.
source/GitTool/CreativeCoders.GitTool.Cli.Commands/FeatureGroup/Start/StartFeatureCommand.cs Removes unused using.
source/GitTool/CreativeCoders.GitTool.Base/GitToolsServiceCollectionExtensions.cs Updates using to new GCM Core extension method namespace.
source/Git/CreativeCoders.Git/Tags/GitTagCollection.cs Adds XML docs / <inheritdoc /> for tag operations.
source/Git/CreativeCoders.Git/Tags/GitTag.cs Adds XML docs for tag wrapper type and members.
source/Git/CreativeCoders.Git/RepositoryContext.cs Refactors to primary constructor + adds documentation and null-guards.
source/Git/CreativeCoders.Git/Remotes/GitRemoteCollection.cs Adds XML docs / <inheritdoc />.
source/Git/CreativeCoders.Git/Remotes/GitRemote.cs Adds XML docs / <inheritdoc />.
source/Git/CreativeCoders.Git/References/GitReferenceCollection.cs Adds XML docs / <inheritdoc />.
source/Git/CreativeCoders.Git/References/GitReference.cs Adds XML docs / <inheritdoc />.
source/Git/CreativeCoders.Git/RefSpecs/GitRefSpecCollection.cs Adds XML docs.
source/Git/CreativeCoders.Git/RefSpecs/GitRefSpec.cs Adds XML docs / <inheritdoc />.
source/Git/CreativeCoders.Git/Objects/GitObjectId.cs Adds XML docs / <inheritdoc />.
source/Git/CreativeCoders.Git/Objects/GitObject.cs Adds XML docs / <inheritdoc />.
source/Git/CreativeCoders.Git/Merges/GitMergeOptions.cs Adds XML docs and removes trailing whitespace.
source/Git/CreativeCoders.Git/Merges/GitCheckoutNotifyFlagsExtensions.cs Adds XML docs for conversion helpers.
source/Git/CreativeCoders.Git/LibGitCaller.cs Adds XML docs / <inheritdoc />.
source/Git/CreativeCoders.Git/ILibGitCaller.cs Adds XML docs clarifying exception translation behavior.
source/Git/CreativeCoders.Git/GitRepositoryUtils.cs Adds XML docs / <inheritdoc />.
source/Git/CreativeCoders.Git/GitRepositoryInfo.cs Refactors to primary constructor + adds XML docs and inline initialization.
source/Git/CreativeCoders.Git/GitCommands/PushCommand.cs Adds XML docs / <inheritdoc /> across fluent API.
source/Git/CreativeCoders.Git/GitCommands/PullCommand.cs Adds XML docs / <inheritdoc /> across fluent API.
source/Git/CreativeCoders.Git/GitCommands/GitCommands.cs Adds XML docs for the command factory.
source/Git/CreativeCoders.Git/GitCommands/FetchTagsCommand.cs Adds XML docs; converts to primary constructor style.
source/Git/CreativeCoders.Git/GitCommands/CommandConverters.cs Adds XML docs for conversion methods.
source/Git/CreativeCoders.Git/Diffs/GitTreeEntryChanges.cs Adds XML docs / <inheritdoc />.
source/Git/CreativeCoders.Git/Diffs/GitTreeChanges.cs Adds XML docs / <inheritdoc />.
source/Git/CreativeCoders.Git/Diffs/GitDiffer.cs Adds XML docs / <inheritdoc />.
source/Git/CreativeCoders.Git/DependencyInjection/GitServiceCollectionExtensions.cs Adds XML docs for DI registration methods.
source/Git/CreativeCoders.Git/DependencyInjection/GitRepositoryOptions.cs Adds XML docs for options type.
source/Git/CreativeCoders.Git/DefaultGitRepositoryFactory.cs Refactors to primary constructor + adds <inheritdoc />.
source/Git/CreativeCoders.Git/DefaultGitRepository.cs Adds XML docs / <inheritdoc /> to implementation details.
source/Git/CreativeCoders.Git/CreativeCoders.Git.csproj Adds package description and removes placeholder folder include.
source/Git/CreativeCoders.Git/Common/GitSignature.cs Adds XML docs / <inheritdoc />.
source/Git/CreativeCoders.Git/Common/GitConvertExtensions.cs Adds XML docs for converters.
source/Git/CreativeCoders.Git/Common/FuncExceptionWrapper.cs Adds XML docs for wrapper API.
source/Git/CreativeCoders.Git/Common/ActionExceptionWrapper.cs Adds XML docs for wrapper API.
source/Git/CreativeCoders.Git/Commits/GitCommitLog.cs Adds XML docs / <inheritdoc /> (but still contains an unimplemented method).
source/Git/CreativeCoders.Git/Commits/GitCommit.cs Adds XML docs / <inheritdoc />.
source/Git/CreativeCoders.Git/Branches/GitBranchCollection.cs Adds XML docs / <inheritdoc /> and minor refactor.
source/Git/CreativeCoders.Git/Branches/GitBranch.cs Adds XML docs / <inheritdoc />.
source/Git/CreativeCoders.Git/Auth/GitCredentialsHandler.cs Refactors to primary constructor + adds XML docs.
source/Git/CreativeCoders.Git/Auth/GitCredential.cs Refactors to primary constructor + adds XML docs / <inheritdoc />.
source/Git/CreativeCoders.Git/Auth/DefaultGitCredentialProviders.cs Refactors to primary constructor + adds XML docs / <inheritdoc />.
source/Git/CreativeCoders.Git.Auth.CredentialManagerCore/ServiceCollectionExtensions.cs Introduces new DI extensions entrypoint in root namespace.
source/Git/CreativeCoders.Git.Auth.CredentialManagerCore/IGcmCoreCredentialStore.cs Adds XML docs and normalizes optional parameter default.
source/Git/CreativeCoders.Git.Auth.CredentialManagerCore/DependencyInjection/ServiceCollectionExtensions.cs Removes old DI extensions type under ...DependencyInjection namespace.
source/Git/CreativeCoders.Git.Auth.CredentialManagerCore/DefaultGcmCoreCredentialStore.cs Adds XML docs / <inheritdoc />.
source/Git/CreativeCoders.Git.Auth.CredentialManagerCore/DefaultGcmCoreCredentialProvider.cs Adds XML docs and clarifies service name extraction.
source/Git/CreativeCoders.Git.Auth.CredentialManagerCore/CreativeCoders.Git.Auth.CredentialManagerCore.csproj Adds package description metadata.
source/Git/CreativeCoders.Git.Abstractions/Tags/IGitTagCollection.cs Adds XML docs for tag APIs.
source/Git/CreativeCoders.Git.Abstractions/Tags/IGitTag.cs Adds XML docs for tag APIs.
source/Git/CreativeCoders.Git.Abstractions/Remotes/IGitRemoteCollection.cs Adds XML docs for remote collection.
source/Git/CreativeCoders.Git.Abstractions/Remotes/IGitRemote.cs Adds XML docs for remote APIs.
source/Git/CreativeCoders.Git.Abstractions/References/IGitReferenceCollection.cs Adds XML docs for reference collection.
source/Git/CreativeCoders.Git.Abstractions/References/IGitReference.cs Adds XML docs for reference APIs.
source/Git/CreativeCoders.Git.Abstractions/RefSpecs/IGitRefSpecCollection.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/RefSpecs/IGitRefSpec.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/RefSpecs/GitRefSpecDirection.cs Adds XML docs to enum values.
source/Git/CreativeCoders.Git.Abstractions/Pushes/GitPushUpdate.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Pushes/GitPushTransferProgress.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Pushes/GitPushStatusError.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Pushes/GitPackBuilderStage.cs Adds XML docs to enum values.
source/Git/CreativeCoders.Git.Abstractions/Pushes/GitPackBuilderProgress.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Objects/IGitObjectId.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Objects/IGitObject.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Merges/GitCheckoutProgressHandler.cs Adds XML docs for delegate parameters.
source/Git/CreativeCoders.Git.Abstractions/Merges/GitCheckoutNotifyHandler.cs Adds XML docs for delegates.
source/Git/CreativeCoders.Git.Abstractions/Merges/GitCheckoutNotifyFlags.cs Adds XML docs for All flag.
source/Git/CreativeCoders.Git.Abstractions/IGitRepositoryUtils.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/IGitRepositoryInfo.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/IGitRepositoryFactory.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/IGitRepository.cs Adds XML docs across repository API surface.
source/Git/CreativeCoders.Git.Abstractions/GitTagFetchMode.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/GitRepositoryFetchExtensions.cs Adds XML docs for fetch helper extensions.
source/Git/CreativeCoders.Git.Abstractions/GitRepositoryBranchExtensions.cs Adds XML docs for branch helper extensions.
source/Git/CreativeCoders.Git.Abstractions/GitPushOptions.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/GitMergeOptions.cs Adds summary for fast-forward strategy property.
source/Git/CreativeCoders.Git.Abstractions/GitMergeFileFavor.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/GitFetchOptions.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/GitFastForwardStrategy.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/GitCommands/IPushCommand.cs Adds XML docs for fluent push API.
source/Git/CreativeCoders.Git.Abstractions/GitCommands/IPullCommand.cs Adds XML docs for fluent pull API.
source/Git/CreativeCoders.Git.Abstractions/GitCommands/IGitCommands.cs Adds XML docs for command factory.
source/Git/CreativeCoders.Git.Abstractions/GitCommands/IFetchTagsCommand.cs Adds XML docs for fetch-tags command.
source/Git/CreativeCoders.Git.Abstractions/GitCommands/FetchTagsCommandOptions.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/GitCheckoutFileConflictStrategy.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Fetches/GitFetchTransferProgress.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Exceptions/GitRemoteNotFoundException.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Exceptions/GitPushFailedException.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Exceptions/GitNoRepositoryPathException.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Exceptions/GitNoRemoteFoundException.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Exceptions/GitLockedFileException.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Exceptions/GitException.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Exceptions/GitCheckoutFailedException.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Exceptions/GitBranchNotExistsException.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Diffs/IGitTreeEntryChanges.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Diffs/IGitTreeChanges.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Diffs/IGitDiffer.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Diffs/GitEntryMode.cs Adds XML docs to enum values.
source/Git/CreativeCoders.Git.Abstractions/Diffs/GitEntryChangeKind.cs Adds XML docs to enum values.
source/Git/CreativeCoders.Git.Abstractions/CreativeCoders.Git.Abstractions.csproj Adds package description and removes unnecessary references/folder includes.
source/Git/CreativeCoders.Git.Abstractions/Common/ReferencePrefixes.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Common/ReferenceName.cs Adds XML docs + simplifies Parse control flow.
source/Git/CreativeCoders.Git.Abstractions/Common/INamedReference.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Common/IGitSignature.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Commits/IGitCommitLog.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Commits/IGitCommit.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Commits/GitMergeStatus.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Commits/GitMergeResult.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Commits/GitCommitSortStrategies.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Commits/GitCommitFilter.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Certs/SshCertificate.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Certs/HostCertificateCheckHandler.cs Adds XML docs for delegate.
source/Git/CreativeCoders.Git.Abstractions/Certs/CertificateCheckArgs.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Branches/IGitBranchCollection.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Branches/IGitBranch.cs Adds XML docs.
source/Git/CreativeCoders.Git.Abstractions/Auth/IGitCredentialProviders.cs Replaces legacy comment block with XML docs.
source/Git/CreativeCoders.Git.Abstractions/Auth/IGitCredentialProvider.cs Replaces legacy comment block with XML docs.
source/Git/CreativeCoders.Git.Abstractions/Auth/IGitCredential.cs Replaces legacy comment block with XML docs.
README.md Expands README with features, usage, configuration, and build instructions.

Comment thread source/Git/CreativeCoders.Git/Commits/GitCommitLog.cs Outdated
…ommitLog`

- Added new properties to `GitCommitFilter` for advanced filtering:
  - `After`, `Before` for commit date range
  - `AuthorEmail` and `AuthorEmailExactMatch` for email-based filtering
  - `MessagePattern` for regex-based message matching
  - `MaxCount` for limiting results
- Implemented corresponding filtering logic in `GitCommitLog.QueryBy`.
- Introduced regex support for commit message filtering using `System.Text.RegularExpressions`.
@darthsharp darthsharp merged commit 2d5e028 into main Mar 29, 2026
7 checks passed
@darthsharp darthsharp deleted the feature/cleanupcode branch March 29, 2026 10:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants