Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: git mod - package details and redux slice #36989

Open
wants to merge 9 commits into
base: release
Choose a base branch
from

Conversation

brayn003
Copy link
Contributor

@brayn003 brayn003 commented Oct 21, 2024

Description

Introduces a new yarn package for git. Includes the yarn package files, redux slice and relevant redux actions

Fixes #36808
Fixes #36809
Fixes #36810

This is not integrated into the monolith. So, this doesn't directly impact the product yet

Automation

/ok-to-test tags="@tag.Git"

🔍 Cypress test results

Tip

🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/11478975801
Commit: 02c38bf
Cypress dashboard.
Tags: @tag.Git
Spec:


Wed, 23 Oct 2024 19:42:30 UTC

Communication

Should the DevRel and Marketing teams inform users about this change?

  • Yes
  • No

Summary by CodeRabbit

Release Notes

  • New Features

    • Introduced the @appsmith/git package for Git-related functionality.
    • Added a new GitTest component for testing purposes.
    • Implemented multiple actions for managing Git operations, including commit, connection, branch fetching, metadata fetching, status fetching, and pull actions.
    • Created a Redux slice for managing Git artifact state.
  • Documentation

    • Added TypeScript types and interfaces for better state management within the Git context.
    • Introduced ESLint configuration for consistent code quality across the package.

These updates enhance the application's Git capabilities and improve state management, providing a more robust user experience.

@brayn003 brayn003 added the Git Product Issues related to version control product label Oct 21, 2024
@brayn003 brayn003 self-assigned this Oct 21, 2024
Copy link
Contributor

coderabbitai bot commented Oct 21, 2024

Walkthrough

The changes introduce a new package @appsmith/git, including a package.json file that defines its properties and dependencies. Several new TypeScript files are added, implementing Redux actions for Git operations such as connecting, committing, and fetching branches and metadata. A Redux slice is created to manage the state related to Git artifacts, along with associated types and interfaces for type safety. A simple React component named GitTest is also introduced.

Changes

File Path Change Summary
app/client/packages/git/package.json New package file created with name, description, version, entry point, scripts for linting/testing, and a dependency on @reduxjs/toolkit.
app/client/packages/git/src/components/connect/GitTest.tsx New React component GitTest created, rendering a simple div with text.
app/client/packages/git/tsconfig.json New TypeScript configuration file created, extending a base configuration and including all TypeScript files in src.
app/client/packages/git/src/actions/*.ts New action files created for commit, connection, fetch branches, fetch metadata, fetch status, and pull actions, each with respective actions defined.
app/client/packages/git/src/actions/helpers/createSingleArtifactAction.ts New helper function for managing single artifact state, including types and initial state.
app/client/packages/git/src/actions/mountActions.ts New functions mountAction and unmountAction added for managing artifact state in Redux.
app/client/packages/git/src/store/gitArtifactSlice.ts New Redux slice created for managing Git artifacts, with initial state and reducers for various actions.
app/client/packages/git/src/types.ts New TypeScript types and interfaces added for Git state management within Redux.
app/client/packages/git/.eslintrc.json New ESLint configuration file created, extending the base configuration.

Assessment against linked issues

Objective Addressed Explanation
New package setup with yarn workspaces (#36808)
Redux actions, action creators and selectors (#36810)

Possibly related PRs

Suggested reviewers

  • ApekshaBhosale
  • ankitakinger
  • sagar-qa007
  • KelvinOm

🎉 In the land of code where Git does dwell,
A new package emerges, oh, isn't it swell?
With actions and types, it dances with glee,
Managing state as smooth as can be.
So raise up your branches, let commits take flight,
For Appsmith's Git magic shines ever so bright! 🌟


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@github-actions github-actions bot added Git Platform Pod Issues related to the git & the app platform Task A simple Todo Enhancement New feature or request labels Oct 21, 2024
@brayn003 brayn003 changed the title feat: git mod - redux slice feat: git mod - package details and redux slice Oct 21, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🧹 Outside diff range and nitpick comments (1)
app/client/packages/git/src/store/gitApplicationSlice.ts (1)

1-1: Remove unnecessary ESLint disable comment.

The ESLint disable comment for padding-line-between-statements appears to be unnecessary. Consider removing it if it's not serving a specific purpose.

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 631abe8 and 76a145f.

⛔ Files ignored due to path filters (1)
  • app/client/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (4)
  • app/client/packages/git/package.json (1 hunks)
  • app/client/packages/git/src/components/connect/GitTest.tsx (1 hunks)
  • app/client/packages/git/src/store/gitApplicationSlice.ts (1 hunks)
  • app/client/packages/git/tsconfig.json (1 hunks)
✅ Files skipped from review due to trivial changes (3)
  • app/client/packages/git/package.json
  • app/client/packages/git/src/components/connect/GitTest.tsx
  • app/client/packages/git/tsconfig.json
🧰 Additional context used
🪛 Biome
app/client/packages/git/src/store/gitApplicationSlice.ts

[error] 4-5: An empty interface is equivalent to {}.

Safe fix: Use a type alias instead.

(lint/suspicious/noEmptyInterface)

🔇 Additional comments (2)
app/client/packages/git/src/store/gitApplicationSlice.ts (2)

14-22: Initial state definitions look good.

The initial state definitions are well-structured and appropriate for the intended use.


69-70: Default export looks good.

The default export of the reducer is correct and follows common Redux patterns.

app/client/packages/git/src/store/gitApplicationSlice.ts Outdated Show resolved Hide resolved
app/client/packages/git/src/store/gitApplicationSlice.ts Outdated Show resolved Hide resolved
app/client/packages/git/src/store/gitApplicationSlice.ts Outdated Show resolved Hide resolved
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 7

🧹 Outside diff range and nitpick comments (6)
app/client/packages/git/src/actions/pullActions.ts (2)

11-15: Consider clearing error state on success

The action correctly sets loading to false. Consider also clearing the error state to ensure a clean state after a successful pull operation.

Suggested implementation:

 export const pullSuccessAction = createSingleArtifactAction((state) => {
   state.pull.loading = false;
+  state.pull.error = null;
 
   return state;
 });

1-3: LGTM: Overall structure and imports

The file structure and imports are well-organized. For consistency, consider grouping related actions (init, success, error) closer together in the file.

app/client/packages/git/src/actions/fetchStatusActions.ts (1)

20-29: LGTM. Proper error handling for status fetch.

The action correctly updates the state with the error message and manages the loading state.

Consider destructuring error directly in the function parameters for a slight optimization:

-export const fetchStatusErrorAction = createSingleArtifactAction(
-  (state, action: GitArtifactPayloadAction<{ error: string }>) => {
-    const { error } = action.payload;
+export const fetchStatusErrorAction = createSingleArtifactAction(
+  (state, { payload: { error } }: GitArtifactPayloadAction<{ error: string }>) => {
app/client/packages/git/src/actions/mountActions.ts (1)

5-6: Improve or remove the comment on line 5-6.

The comment "! This might be removed later" doesn't provide much context. Consider either removing it or adding more details about why it might be removed and under what conditions.

app/client/packages/git/src/store/gitArtifactSlice.ts (2)

38-63: Slice creation is well-structured.

The slice is created following Redux Toolkit best practices, with reducers corresponding to imported actions. This aligns well with the PR objectives for implementing Git functionality.

Consider grouping related reducers (e.g., all 'connect' reducers together) for improved readability.


1-67: Solid implementation of Git artifact Redux slice.

The file successfully implements a Redux slice for Git artifacts, addressing the objectives outlined in issues #36808 and #36810. It covers various Git operations and follows Redux best practices.

Consider adding comments for complex reducers to improve maintainability, especially for future developers who might work on this code.

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 76a145f and 2981195.

⛔ Files ignored due to path filters (1)
  • app/client/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (11)
  • app/client/package.json (2 hunks)
  • app/client/packages/git/src/actions/commitActions.ts (1 hunks)
  • app/client/packages/git/src/actions/connectActions.ts (1 hunks)
  • app/client/packages/git/src/actions/fetchBranchesActions.ts (1 hunks)
  • app/client/packages/git/src/actions/fetchMetadataActions.ts (1 hunks)
  • app/client/packages/git/src/actions/fetchStatusActions.ts (1 hunks)
  • app/client/packages/git/src/actions/helpers/createSingleArtifactAction.ts (1 hunks)
  • app/client/packages/git/src/actions/mountActions.ts (1 hunks)
  • app/client/packages/git/src/actions/pullActions.ts (1 hunks)
  • app/client/packages/git/src/store/gitArtifactSlice.ts (1 hunks)
  • app/client/packages/git/src/types.ts (1 hunks)
🧰 Additional context used
🪛 Biome
app/client/packages/git/src/types.ts

[error] 3-3: An empty interface is equivalent to {}.

Safe fix: Use a type alias instead.

(lint/suspicious/noEmptyInterface)


[error] 5-5: An empty interface is equivalent to {}.

Safe fix: Use a type alias instead.

(lint/suspicious/noEmptyInterface)


[error] 7-7: An empty interface is equivalent to {}.

Safe fix: Use a type alias instead.

(lint/suspicious/noEmptyInterface)

🔇 Additional comments (33)
app/client/packages/git/src/actions/pullActions.ts (2)

4-9: LGTM: pullInitAction implementation

The action correctly initializes the pull operation state.


17-26: LGTM: pullErrorAction implementation

The action correctly handles errors, updates the error state, and sets loading to false. Good use of typed payload for type safety.

app/client/packages/git/src/actions/commitActions.ts (5)

1-2: Imports look good.

The imports are relevant and used appropriately in the file.


4-9: commitInitAction implementation is correct.

The action properly initializes the commit state by setting loading to true and resetting the error.


11-15: commitSuccessAction implementation is correct.

The action appropriately updates the state on successful commit by setting loading to false.


17-26: commitErrorAction implementation is correct.

The action properly handles the error state by setting loading to false and updating the error message. The use of a typed payload ensures type safety.


1-26: Overall implementation looks good.

The file successfully implements the required actions for the commit functionality in the Git module, aligning with the PR objectives and linked issues. The use of the createSingleArtifactAction helper function ensures consistency across different actions.

app/client/packages/git/src/actions/connectActions.ts (5)

1-2: Imports look good.

The necessary helper function and type are imported correctly.


4-9: connectInitAction implementation is correct.

The action properly initializes the connection state by setting loading to true and resetting the error.


11-15: connectSuccessAction is implemented correctly.

The action appropriately sets loading to false upon successful connection.


17-26: connectErrorAction is implemented correctly.

The action properly handles error cases by setting loading to false and updating the error state with the provided error message. The use of a typed payload enhances type safety.


1-26: Overall implementation is solid and aligns with PR objectives.

The file successfully implements the necessary actions for managing Git connection state, adhering to the goals outlined in the PR summary and linked issues. The use of the createSingleArtifactAction helper ensures consistency across actions.

app/client/packages/git/src/actions/fetchStatusActions.ts (2)

4-9: LGTM. Proper initialization of fetch status.

The action correctly sets up the initial state for fetching status.


11-18: LGTM. Proper handling of successful status fetch.

The action correctly updates the state with the fetched status and manages the loading state.

app/client/packages/git/src/actions/fetchBranchesActions.ts (5)

1-2: LGTM: Imports are appropriate and concise.


4-9: Correct initialization of branch fetching state.

The function properly sets up the state for a branch fetching operation.


11-18: Proper state update on successful branch fetch.

The function correctly handles the success case, updating the state appropriately.


20-29: Appropriate error handling in branch fetch action.

The function correctly updates the state in case of an error during branch fetching.


1-29: Well-structured implementation of branch fetching actions.

The file provides a comprehensive set of actions for branch fetching, covering initialization, success, and error cases. The use of the createSingleArtifactAction helper promotes consistency and reduces boilerplate.

app/client/packages/git/src/actions/fetchMetadataActions.ts (5)

1-2: LGTM: Imports are clean and relevant.

The import statements are concise and import only the necessary types and helper function.


4-9: LGTM: Proper initialization of metadata fetching state.

The fetchMetadataInitAction correctly sets up the initial state for metadata fetching.


11-18: LGTM: Proper handling of successful metadata fetch.

The fetchMetadataSuccessAction correctly updates the state with the fetched metadata and sets loading to false.


20-29: LGTM: Proper handling of metadata fetch errors.

The fetchMetadataErrorAction correctly updates the state with the error message and sets loading to false.


1-29: Overall: Well-structured and implemented metadata fetch actions.

The file successfully implements the required actions for fetching Git metadata, contributing to the goals outlined in Issue #36810. The use of the createSingleArtifactAction helper ensures consistency across different actions.

app/client/packages/git/src/types.ts (3)

40-42: LGTM: GitArtifactReduxState interface.

The interface is well-defined for its purpose, allowing flexible key-value pairs for Git artifacts.


44-47: LGTM: GitArtifactBasePayload interface.

The interface is concise and well-defined for its purpose.


49-50: LGTM: GitArtifactPayloadAction type.

The type is well-defined, providing flexibility while ensuring the base payload is always included.

app/client/packages/git/src/store/gitArtifactSlice.ts (2)

1-36: Imports and initial state look good.

The imports are well-organized, and the initial state is correctly typed.


65-67: Exports are correct and follow conventions.

The gitArtifactActions and reducer are exported properly, allowing for easy integration with the rest of the application.

app/client/package.json (3)

Line range hint 241-243: LGTM: DevDependencies updates

The updates to @faker-js/faker, @octokit/rest, and @peculiar/webcrypto are minor version updates. These should not introduce breaking changes, but it's good practice to review the changelogs for any notable updates.


252-252: Confirm integration of Redux Toolkit

The addition of @reduxjs/toolkit suggests a move towards using Redux Toolkit. Ensure that the codebase is updated to leverage Redux Toolkit features for more efficient state management.

✅ Verification successful

Redux Toolkit Integration Confirmed

@reduxjs/toolkit is being utilized in the following files:

  • app/client/packages/git/src/types.ts
  • app/client/packages/git/src/actions/mountActions.ts
  • app/client/packages/git/src/store/gitArtifactSlice.ts
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for Redux Toolkit usage in the codebase
rg -i 'import.*from.*@reduxjs/toolkit' -g '!package*.json'

Length of output: 361


141-141: Verify compatibility with immer v10

The immer package has been updated from v9 to v10. This major version update may introduce breaking changes. Ensure all usage of immer in the codebase is compatible with the new version.

app/client/packages/git/src/actions/helpers/createSingleArtifactAction.ts (1)

7-11: Type definition 'SingleArtifactStateCb' is well-defined

The callback type is appropriately defined to ensure type safety.

app/client/packages/git/src/actions/mountActions.ts Outdated Show resolved Hide resolved
app/client/packages/git/src/actions/mountActions.ts Outdated Show resolved Hide resolved
app/client/packages/git/src/types.ts Outdated Show resolved Hide resolved
app/client/packages/git/src/types.ts Outdated Show resolved Hide resolved
@brayn003 brayn003 added the ok-to-test Required label for CI label Oct 21, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Outside diff range and nitpick comments (1)
app/client/packages/git/src/types.ts (1)

10-14: Export the AsyncState interface for consistency.

Since AsyncState is used in exported interfaces, consider exporting it to maintain consistency and allow external usage if needed.

Apply this change:

-interface AsyncState<T = unknown> {
+export interface AsyncState<T = unknown> {
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 2981195 and 727bb7e.

📒 Files selected for processing (2)
  • app/client/packages/git/src/actions/helpers/createSingleArtifactAction.ts (1 hunks)
  • app/client/packages/git/src/types.ts (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • app/client/packages/git/src/actions/helpers/createSingleArtifactAction.ts
🧰 Additional context used
🔇 Additional comments (2)
app/client/packages/git/src/types.ts (2)

3-4: Remember to update types when contracts are finalized.

The comment indicates that these types are placeholders. Ensure to update GitMetadata, GitBranches, and GitStatus once the contracts are finalized.


29-35: GitArtifactPayloadAction type is well-defined.

The combination of GitArtifactBasePayload with a generic type T in GitArtifactPayloadAction is appropriate and provides flexibility for different payload shapes.

app/client/packages/git/src/types.ts Show resolved Hide resolved
app/client/packages/git/src/types.ts Show resolved Hide resolved
KelvinOm
KelvinOm previously approved these changes Oct 21, 2024
Copy link
Collaborator

@KelvinOm KelvinOm left a comment

Choose a reason for hiding this comment

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

Please note that the client build is red.

@brayn003
Copy link
Contributor Author

Thanks for the review, I will take a look

app/client/packages/git/package.json Outdated Show resolved Hide resolved
app/client/packages/git/tsconfig.json Outdated Show resolved Hide resolved
@@ -0,0 +1,9 @@
{
"name": "@appsmith/git",
Copy link
Collaborator

Choose a reason for hiding this comment

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

Can we add an example of using this package? What was it created for?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The package is not complete, that's why I haven't added any examples in readme yet.
I will add these in subsequent PRs. Till then, we can refer this doc for examples - https://www.notion.so/appsmith/Tech-spec-Modularisation-reusability-for-Git-UI-112fe271b0e28058aaaffb312119caec?pvs=4#112fe271b0e281fbab1bcc971d91eb76

@brayn003 brayn003 added ok-to-test Required label for CI and removed ok-to-test Required label for CI labels Oct 22, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Outside diff range and nitpick comments (2)
app/client/packages/git/package.json (2)

1-6: Consider adding additional package metadata fields.

The basic metadata looks good, but consider adding:

  • repository
  • author
  • license
  • types or typings for TypeScript entry point

7-11: Add common package scripts.

While the basic scripts are present, consider adding:

  • build - For TypeScript compilation
  • dev - For development workflow
  • clean - For cleaning build artifacts
 "scripts": {
     "lint": "yarn g:lint",
     "prettier": "yarn g:prettier",
-    "test:unit": "yarn g:jest"
+    "test:unit": "yarn g:jest",
+    "build": "yarn g:build",
+    "dev": "yarn g:dev",
+    "clean": "yarn g:clean"
 }
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 1cd3696 and 68fd1db.

⛔ Files ignored due to path filters (1)
  • app/client/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (2)
  • app/client/packages/git/package.json (1 hunks)
  • app/client/packages/git/tsconfig.json (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • app/client/packages/git/tsconfig.json
🧰 Additional context used

app/client/packages/git/package.json Outdated Show resolved Hide resolved
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 68fd1db and 02c38bf.

📒 Files selected for processing (4)
  • app/client/packages/git/.eslintrc.json (1 hunks)
  • app/client/packages/git/package.json (1 hunks)
  • app/client/packages/git/src/actions/helpers/createSingleArtifactAction.ts (1 hunks)
  • app/client/packages/git/src/actions/mountActions.ts (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • app/client/packages/git/.eslintrc.json
🚧 Files skipped from review as they are similar to previous changes (2)
  • app/client/packages/git/package.json
  • app/client/packages/git/src/actions/mountActions.ts
🧰 Additional context used
📓 Learnings (1)
app/client/packages/git/src/actions/helpers/createSingleArtifactAction.ts (1)
Learnt from: brayn003
PR: appsmithorg/appsmith#36989
File: app/client/packages/git/src/actions/helpers/createSingleArtifactAction.ts:12-41
Timestamp: 2024-10-21T13:18:10.293Z
Learning: In Redux Toolkit (TypeScript), since it uses Immer internally, assigning the same initial state object across artifacts does not lead to shared mutable state issues.
🔇 Additional comments (2)
app/client/packages/git/src/actions/helpers/createSingleArtifactAction.ts (2)

1-10: LGTM! Clean type definitions.

The type imports and callback type definition are well-structured and properly typed.


12-40: Consider adding 'value' field to commit state for consistency.

Other similar states (metadata, branches, status) include a value field, but it's missing in the commit state. This might be intentional, but worth verifying for consistency.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement New feature or request Git Platform Pod Issues related to the git & the app platform Git Product Issues related to version control product ok-to-test Required label for CI Task A simple Todo
Projects
None yet
2 participants