# Diversion Documentation ## Docs - [Asset Preview](https://docs.diversion.dev/advanced/asset_preview.md): Preview your images, 3D models, and code directly in Diversion - [Pre-Commit Hooks](https://docs.diversion.dev/advanced/pre-commit-hooks.md): Run custom scripts before commits to validate changes, enforce standards, and automate checks. - [Selective Sync](https://docs.diversion.dev/advanced/selective-sync.md): Only sync the files you need - [Get billing information](https://docs.diversion.dev/api-reference/account/get-billing-information.md): Get billing information for the authenticated user - [Get client configuration](https://docs.diversion.dev/api-reference/authentication/get-client-configuration.md): Get configuration for the authenticated client including optional cache and update URLs - [Get enterprise login URL](https://docs.diversion.dev/api-reference/authentication/get-enterprise-login-url.md): Get the enterprise login URL for a given organization - [Test token](https://docs.diversion.dev/api-reference/authentication/test-token.md): Test token validity and repo write access - [Accept a repository invitation](https://docs.diversion.dev/api-reference/collaborators/accept-a-repository-invitation.md): Accepts a repository collaboration invitation, granting the user access with the specified mode (READ, WRITE, ADMIN). - [Invite collaborator](https://docs.diversion.dev/api-reference/collaborators/invite-collaborator.md): Invite a collaborator to a repository - [List collaborators](https://docs.diversion.dev/api-reference/collaborators/list-collaborators.md): Get all collaborators and pending invites for repo - [Reject a repository invitation](https://docs.diversion.dev/api-reference/collaborators/reject-a-repository-invitation.md): Rejects a repository collaboration invitation without granting access. - [Revoke collaborator access](https://docs.diversion.dev/api-reference/collaborators/revoke-collaborator-access.md): Revoke a user's access level to the repo - [Update collaborator access](https://docs.diversion.dev/api-reference/collaborators/update-collaborator-access.md): Change a user's access level to the repo - [Developer Guide](https://docs.diversion.dev/api-reference/developer-guide.md): Getting started with Diversion API - [Delete file](https://docs.diversion.dev/api-reference/file-mutation/delete-file.md): Deletes a file or directory at the specified path in a workspace. - [Move file](https://docs.diversion.dev/api-reference/file-mutation/move-file.md): Moves or renames a file from the current path to a new path specified in the `new_path` parameter. - [Upload file](https://docs.diversion.dev/api-reference/file-mutation/upload-file.md): Creates or updates a file in a workspace. - [Introduction](https://docs.diversion.dev/api-reference/introduction.md): Complete customization and integration with Diversion via APIs - [Accept organization invite](https://docs.diversion.dev/api-reference/organization-management/accept-organization-invite.md): Accepts an organization invitation, adding the user as a member with the role specified in the invite. - [Change member role](https://docs.diversion.dev/api-reference/organization-management/change-member-role.md): Update the role of an existing organization member - [Create organization](https://docs.diversion.dev/api-reference/organization-management/create-organization.md): Creates a new organization with the user as the owner If the user is already a member of an organization with the same name, the request will fail - [Get organization details](https://docs.diversion.dev/api-reference/organization-management/get-organization-details.md): Retrieves detailed information about a specific organization including: - Name - Description - Owner ID - Total storage usage - Warning group status - [Get organization member](https://docs.diversion.dev/api-reference/organization-management/get-organization-member.md): Get details about a specific member in the organization - [Invite member to organization](https://docs.diversion.dev/api-reference/organization-management/invite-member-to-organization.md): Sends an invitation to the specified user to join the organization with the chosen role. - [Leave organization](https://docs.diversion.dev/api-reference/organization-management/leave-organization.md): Leave the organization as a member. Organization owners and repository owners cannot leave until they transfer ownership. - [List accessible repos](https://docs.diversion.dev/api-reference/organization-management/list-accessible-repos.md): Returns a list of repositories the member will lose access to if removed. - [List organization invites](https://docs.diversion.dev/api-reference/organization-management/list-organization-invites.md): Retrieves a list of users who have been invited to the organization but have not yet accepted the invitation. - [List organization members](https://docs.diversion.dev/api-reference/organization-management/list-organization-members.md): Get a paginated list of all members in the organization, sorted by name - [List organization repositories](https://docs.diversion.dev/api-reference/organization-management/list-organization-repositories.md): Get a list of all repositories in the organization - [List pending org invites](https://docs.diversion.dev/api-reference/organization-management/list-pending-org-invites.md): Retrieves all pending organization invitations for the current user based on their email address. Only returns non-expired invitations with optional status filtering (defaults to PENDING). Each invite includes organization details, inviting user information, role assignment, and expiration time. Inv… - [List user's organizations](https://docs.diversion.dev/api-reference/organization-management/list-users-organizations.md): Lists all organizations the user is a member of, optionally filtered to show only owned organizations when `owned=true`. - [Organization subscriptions](https://docs.diversion.dev/api-reference/organization-management/organization-subscriptions.md): Get subscription and plan details for organizations the user is a member of - [Reject organization invite](https://docs.diversion.dev/api-reference/organization-management/reject-organization-invite.md): Rejects an organization invitation without adding the user as a member. - [Remove organization member](https://docs.diversion.dev/api-reference/organization-management/remove-organization-member.md): Only organization admins can delete members. - [Rename organization](https://docs.diversion.dev/api-reference/organization-management/rename-organization.md): Change the name of an organization. Only admins can perform this action. - [Revoke invites by email](https://docs.diversion.dev/api-reference/organization-management/revoke-invites-by-email.md): Revokes all organization and repository invitations for a specific email address within the organization. - [Get Perforce import state](https://docs.diversion.dev/api-reference/perforce-repository-import/get-perforce-import-state.md): Retrieve the current state of the continuous Perforce import job for this repository, including the last imported changelist, error information, and running status. - [Mark P4 import as running](https://docs.diversion.dev/api-reference/perforce-repository-import/mark-p4-import-as-running.md): Mark the Perforce import job as currently running by generating a new running_job_id and setting the start timestamp. This should be called when a continuous import job begins. - [Mark P4 import as stopped](https://docs.diversion.dev/api-reference/perforce-repository-import/mark-p4-import-as-stopped.md): Mark the Perforce import job as no longer running by clearing the running_job_id and started_unix timestamp. This should be called when a continuous import job completes or stops. The job will only be marked as stopped if the current running_job_id matches the one in the database to prevent race con… - [Update P4 import state](https://docs.diversion.dev/api-reference/perforce-repository-import/update-p4-import-state.md): Initialize or update the state of a continuous Perforce import job after manual initial import. Creates or updates a P4ImportJob record tracking the last imported changelist for incremental syncing. - [Create branch](https://docs.diversion.dev/api-reference/repository-branch-manipulation/create-branch.md): Create a branch, optionally with a branch description - [Delete branch](https://docs.diversion.dev/api-reference/repository-branch-manipulation/delete-branch.md): Delete a branch. The default branch cannot be deleted. - [Get branch details](https://docs.diversion.dev/api-reference/repository-branch-manipulation/get-branch-details.md): Retrieves detailed information about a specific branch including: - ID - Name - Author - Creation time - Associated commit ID - Description - Deletion status - Draft commit status - [List branches](https://docs.diversion.dev/api-reference/repository-branch-manipulation/list-branches.md): Get a list of all branches in the repo - [Update a branch](https://docs.diversion.dev/api-reference/repository-branch-manipulation/update-a-branch.md): Updates branch properties including: - Name - Description - The commit it points to - Protection status and configuration - [Commit on behalf of author](https://docs.diversion.dev/api-reference/repository-commit-manipulation/commit-on-behalf-of-author.md): Commit workspace changes with custom author information and timestamp. This endpoint is used for importing commits from external VCS systems (e.g., Perforce) where the original author and timestamp should be preserved. Requires Admin access to the repository. - [Commit workspace](https://docs.diversion.dev/api-reference/repository-commit-manipulation/commit-workspace.md): Commit workspace to base branch - [Count commit changes](https://docs.diversion.dev/api-reference/repository-commit-manipulation/count-commit-changes.md): Get the number of changes in a commit - [Get commit details](https://docs.diversion.dev/api-reference/repository-commit-manipulation/get-commit-details.md): Get details of a specific commit - [Get commits bulk](https://docs.diversion.dev/api-reference/repository-commit-manipulation/get-commits-bulk.md): Get bulk details of commits by their reference IDs - [List commits](https://docs.diversion.dev/api-reference/repository-commit-manipulation/list-commits.md): Get a list of commits. (Executed on secondary shard) - [Revert commit](https://docs.diversion.dev/api-reference/repository-commit-manipulation/revert-commit.md): The operation reverts any changes done in the single commit represented by revert_ref_id (compared to its own parent). These opposing changes are then applied into the branch represented by base_id. If any changes were done between revert_ref_id and base_id, they will be checked for conflicts with t… - [Revert to commit](https://docs.diversion.dev/api-reference/repository-commit-manipulation/revert-to-commit.md): The operation gets the file version in the specific commit and applies it to the workspace. Changes are the saved to the workspace. - [Update commit message](https://docs.diversion.dev/api-reference/repository-commit-manipulation/update-commit-message.md): Update a commit message. Can only be called on commits authored by the current user. - [Compare refs](https://docs.diversion.dev/api-reference/repository-content-comparison/compare-refs.md): Compare two refs (commit/branch/workspace/tag/tree) in this repo - [Close draft commit](https://docs.diversion.dev/api-reference/repository-draft-commits/close-draft-commit.md): Close a draft commit. This operation changes the status to 'closed' and marks the draft branch as deleted. - [List draft commits](https://docs.diversion.dev/api-reference/repository-draft-commits/list-draft-commits.md): List draft commits for the current user - [Create a path permission](https://docs.diversion.dev/api-reference/repository-granular-permissions/create-a-path-permission.md): Create a new path permission rule for this repository - [Delete a path permission](https://docs.diversion.dev/api-reference/repository-granular-permissions/delete-a-path-permission.md): Delete a path permission rule from the repository - [Get path permission details](https://docs.diversion.dev/api-reference/repository-granular-permissions/get-path-permission-details.md): Get details of a specific path permission rule - [List granular permissions](https://docs.diversion.dev/api-reference/repository-granular-permissions/list-granular-permissions.md): List all granular permissions configured for this repository - [Update a path permission](https://docs.diversion.dev/api-reference/repository-granular-permissions/update-a-path-permission.md): Update an existing path permission rule - [Create a repo](https://docs.diversion.dev/api-reference/repository-management/create-a-repo.md): Create an empty repo. Optionally also skip the default `.dvignore` file or make it branchless. - [List pending repo invites](https://docs.diversion.dev/api-reference/repository-management/list-pending-repo-invites.md): Retrieves all pending repository collaboration invitations for the current user based on their email address. - [List user's repositories](https://docs.diversion.dev/api-reference/repository-management/list-users-repositories.md): Get a list of repositories accessibly by the authenticated user - [Delete repository](https://docs.diversion.dev/api-reference/repository-manipulation/delete-repository.md): Delete a repo. All files, workspaces, commits, branches permissions etc. associated with the repo will be deleted. - [Download file tree snapshot](https://docs.diversion.dev/api-reference/repository-manipulation/download-file-tree-snapshot.md): Get URL to file tree snapshot. Either one of workspace, branch or commit ID needs to be specified as ref ID. If the requested commit doesn't have a snapshot, the endpoint will return the nearest available ancestor snapshot along with the `commit_id` of that snapshot. - [Get blob contents](https://docs.diversion.dev/api-reference/repository-manipulation/get-blob-contents.md): Get blob contents snapshot. Either one of workspace, branch or commit ID needs to be specified - [Get file entry](https://docs.diversion.dev/api-reference/repository-manipulation/get-file-entry.md): Get file entry (either tree or blob). Either one of workspace, branch or commit ID needs to be specified - [Get file history](https://docs.diversion.dev/api-reference/repository-manipulation/get-file-history.md): Retrieves the complete change history for a specific file or directory path from a given reference (branch or commit). - [Get file tree](https://docs.diversion.dev/api-reference/repository-manipulation/get-file-tree.md): Get file tree snapshot. Either one of workspace, branch or commit ID needs to be specified as ref ID - [Get repository details](https://docs.diversion.dev/api-reference/repository-manipulation/get-repository-details.md): Retrieves detailed repository information including: - Name - Description - Size in bytes - Owner ID - Creation timestamp - Digest method - Default branch details - Git sync configuration (if enabled) - Organization ID (if part of an organization) - Default auto-forwarding status - [Get tree content stream](https://docs.diversion.dev/api-reference/repository-manipulation/get-tree-content-stream.md): Get file tree snapshot. Either one of workspace, branch or commit ID needs to be specified as ref ID - [Import Git repository](https://docs.diversion.dev/api-reference/repository-manipulation/import-git-repository.md): Import a Git repo with all history from a Git URL. {repo_id} must have no commits and no branches, or be already marked as synced with the same git_url. The git repo URL must have http credentials embedded or otherwise hosted on Github and the owner has the Diversion Github app integration set up. - [Rename repository](https://docs.diversion.dev/api-reference/repository-manipulation/rename-repository.md): Change the name of a repository - [Set default branch](https://docs.diversion.dev/api-reference/repository-manipulation/set-default-branch.md): Change default branch for a repository - [Set repo auto-forwarding](https://docs.diversion.dev/api-reference/repository-manipulation/set-repo-auto-forwarding.md): Set default auto-forwarding value, which determines whether they automatically advance to the latest commit when their branch receives new commits. This only affects workspaces created after this setting is changed. Existing workspaces retain their current auto-forwarding status. - [Sync Git repository](https://docs.diversion.dev/api-reference/repository-manipulation/sync-git-repository.md): Sync all history from Git. The repo must already be associated with a Git repo (see import). - [Transfer ownership](https://docs.diversion.dev/api-reference/repository-manipulation/transfer-ownership.md): Transfer repository ownership or attach to an organization. - [Verify Git repository import](https://docs.diversion.dev/api-reference/repository-manipulation/verify-git-repository-import.md): The git repo URL must have http credentials embedded or otherwise hosted on Github and the owner has the Diversion Github app integration set up. - [Get merge details](https://docs.diversion.dev/api-reference/repository-merge-manipulation/get-merge-details.md): Retrieves detailed information about a specific open merge including all conflicts with their base, other, and result indices. - [List open merges](https://docs.diversion.dev/api-reference/repository-merge-manipulation/list-open-merges.md): Lists all open merge operations for a repository, optionally filtered by `base_id` (target branch) and `other_id` (source branch/commit). - [Merge refs](https://docs.diversion.dev/api-reference/repository-merge-manipulation/merge-refs.md): Merge branch / workspace / commit into target branch - [Apply shelf](https://docs.diversion.dev/api-reference/repository-shelves-manipulation/apply-shelf.md): Applies a shelf's saved changes to a workspace specified in the `workspace_id` parameter. - [Create a shelf](https://docs.diversion.dev/api-reference/repository-shelves-manipulation/create-a-shelf.md): Creates a new shelf by saving the current state of a workspace's uncommitted changes. - [Delete a shelf](https://docs.diversion.dev/api-reference/repository-shelves-manipulation/delete-a-shelf.md): Permanently deletes a shelf and its saved changes. - [Get shelf details](https://docs.diversion.dev/api-reference/repository-shelves-manipulation/get-shelf-details.md): Retrieves detailed information about a specific shelf including: - ID - Name - Creation timestamp - Associated branch ID (if applicable) - Commit ID - [List shelves](https://docs.diversion.dev/api-reference/repository-shelves-manipulation/list-shelves.md): Lists all shelves (saved workspace states) for the current user in a repository, optionally filtered by `branch_id` parameter. - [Rename a shelf](https://docs.diversion.dev/api-reference/repository-shelves-manipulation/rename-a-shelf.md): Renames an existing shelf by updating its name. - [Create a tag](https://docs.diversion.dev/api-reference/repository-tag-manipulation/create-a-tag.md): Creates a new tag pointing to a specific commit. - [Delete a tag](https://docs.diversion.dev/api-reference/repository-tag-manipulation/delete-a-tag.md): Marks a tag as deleted (soft delete). - [Get tag details](https://docs.diversion.dev/api-reference/repository-tag-manipulation/get-tag-details.md): Retrieves detailed information about a specific tag including: - ID - Name - Author (enriched from user database) - Creation time - Associated commit ID - Description - [List tags](https://docs.diversion.dev/api-reference/repository-tag-manipulation/list-tags.md): Lists all non-deleted tags in a repository, including: - Tag ID - Name - Author details (enriched from user database) - Creation time - Associated commit ID - Description - [Update a tag](https://docs.diversion.dev/api-reference/repository-tag-manipulation/update-a-tag.md): Updates tag properties including: - Name - Description - The commit it points to - [Checkout workspace ref](https://docs.diversion.dev/api-reference/repository-workspace-manipulation/checkout-workspace-ref.md): Set the workspace to follow a different branch or commit (checkout). Currently supports only moving to a branch with an identical commit as the workspace's current branch, or moving to any branch/commit if the workspace has no working changes. - [Cherry-pick commit](https://docs.diversion.dev/api-reference/repository-workspace-manipulation/cherry-pick-commit.md): Cherry-picks changes from a specific commit (identified by `ref_id`) into the current workspace. - [Copy file into workspace](https://docs.diversion.dev/api-reference/repository-workspace-manipulation/copy-file-into-workspace.md): Copy a file from a ref to the workspace, overwriting any existing file. - [Create a workspace](https://docs.diversion.dev/api-reference/repository-workspace-manipulation/create-a-workspace.md): Create a new workspace with the given name, on the chosen branch or commit. If neither is specified, the default branch is used. If a commit is specified, the workspace will be created on that commit, in a "detached" state, meaning it will not be associated with any branch and new commits cannot be… - [Create draft commit](https://docs.diversion.dev/api-reference/repository-workspace-manipulation/create-draft-commit.md): Create a draft commit from workspace changes, optionally with a review - [Delete workspace](https://docs.diversion.dev/api-reference/repository-workspace-manipulation/delete-workspace.md): Deletes a workspace, removing it from the user's workspace list. - [Get workspace details](https://docs.diversion.dev/api-reference/repository-workspace-manipulation/get-workspace-details.md): Get a workspace object details. - [Get workspace preferences](https://docs.diversion.dev/api-reference/repository-workspace-manipulation/get-workspace-preferences.md): Retrieves workspace-specific preferences including sync path rules that control which paths are synchronized to the local file system. - [List workspaces](https://docs.diversion.dev/api-reference/repository-workspace-manipulation/list-workspaces.md): List user's workspaces. Repo owners and admins can optionally list all workspaces in the repo (not just their own) by setting scope=all. - [Merge base branch](https://docs.diversion.dev/api-reference/repository-workspace-manipulation/merge-base-branch.md): Fast-forwards a workspace to incorporate the latest changes from its base branch. - [Other workspace statuses](https://docs.diversion.dev/api-reference/repository-workspace-manipulation/other-workspace-statuses.md): Get list of potential conflicts with files in other users' workspaces and branches - [Reset changes in workspace](https://docs.diversion.dev/api-reference/repository-workspace-manipulation/reset-changes-in-workspace.md): Resets uncommitted changes in a workspace by discarding modifications and optionally deleting added files. - [Set auto-forwarding status](https://docs.diversion.dev/api-reference/repository-workspace-manipulation/set-auto-forwarding-status.md): Set whether the workspace will automatically advance to the latest commit when its branch receives new commits. - [Update workspace name](https://docs.diversion.dev/api-reference/repository-workspace-manipulation/update-workspace-name.md): Renames a workspace to a new name specified in the `name` parameter. - [Update workspace preferences](https://docs.diversion.dev/api-reference/repository-workspace-manipulation/update-workspace-preferences.md): Updates workspace preferences, specifically the `sync_paths_rules` array that controls which paths are synchronized. - [Workspace status](https://docs.diversion.dev/api-reference/repository-workspace-manipulation/workspace-status.md): Retrieves the current status of a workspace including: - Counts of new files - Counts of modified files - Counts of deleted files - Optionally detailed file entries - [Add review comment](https://docs.diversion.dev/api-reference/reviews/add-review-comment.md): Add a comment to a review with optional file reference - [Create review](https://docs.diversion.dev/api-reference/reviews/create-review.md): Create a new review for comparing two refs - [Get changes for a review](https://docs.diversion.dev/api-reference/reviews/get-changes-for-a-review.md): Get the correct ancestor and compare commits for a review. This endpoint uses the merge commit's parent (if merged) to find the original divergence point, solving the issue where squash merges make find_common_ancestor return the feature tip. - [Get review](https://docs.diversion.dev/api-reference/reviews/get-review.md): Get review details including title, description, and status - [List review comments](https://docs.diversion.dev/api-reference/reviews/list-review-comments.md): List all comments associated with a review - [List reviews](https://docs.diversion.dev/api-reference/reviews/list-reviews.md): List all reviews for a repository - [Update review](https://docs.diversion.dev/api-reference/reviews/update-review.md): Update review details (title, description, and/or status) - [Update reviewer status](https://docs.diversion.dev/api-reference/reviews/update-reviewer-status.md): Update the current user's reviewer status for a review - [Get user information](https://docs.diversion.dev/api-reference/user-management/get-user-information.md): Retrieves the authenticated user's profile information including: - User ID - Email - Full name - Avatar URL - Account tier - [Update user information](https://docs.diversion.dev/api-reference/user-management/update-user-information.md): Update user information including display name and email preferences - [Access Levels](https://docs.diversion.dev/basic/access-levels.md): Understanding the access levels used in granular permissions - [Changing the past](https://docs.diversion.dev/basic/changing-the-past.md): How to undo, cherry-pick, edit, or copy details from a previous commit - [Draft Commits](https://docs.diversion.dev/basic/draft-commits.md): Request feedback on your changes before committing them - [The .dvignore file](https://docs.diversion.dev/basic/dvignore.md): Safely ignore files not needed in your repository - [Get an existing project](https://docs.diversion.dev/basic/get-existing-project.md): Clone a repo and manage files in your workspace - [Going back in time](https://docs.diversion.dev/basic/going-back-in-time.md): Reverting to or branching from a previous commit - [Granular Permissions](https://docs.diversion.dev/basic/granular-permissions.md): Control access to specific paths within your repository - [Import from Git](https://docs.diversion.dev/basic/import-from-git.md): How to get an existing repo from Git into Diversion - [Import from Git LFS](https://docs.diversion.dev/basic/import-from-git-lfs.md): How to get an existing repo that uses Git LFS into Diversion - [Invoices and billing](https://docs.diversion.dev/basic/invoices.md): Access your invoices, update payment methods, and manage your subscription - [Manage project access](https://docs.diversion.dev/basic/manage-project-access.md): Manage repo collaborators: add, remove, and leave repositories - [Organization management](https://docs.diversion.dev/basic/organization-management.md): Managing your organization, its members, and repositories - [Repository management](https://docs.diversion.dev/basic/repo-management.md): Rename, delete, and manage your Diversion repositories and workspaces - [Reviews](https://docs.diversion.dev/basic/reviews.md): Code reviews in Diversion - [Shelves](https://docs.diversion.dev/basic/shelves.md): Save workspace changes temporarily and manage your shelves - [Start using Diversion in your project](https://docs.diversion.dev/basic/start-using-diversion.md): Create a new Diversion repo for a completely new project or an existing one - [Pause/Resume sync](https://docs.diversion.dev/basic/sync-pause-resume.md): Pause and resume your background sync - [Undo pending changes](https://docs.diversion.dev/basic/undo-pending-changes.md): Undo changes you haven't committed yet - [What to do with your changes](https://docs.diversion.dev/basic/what-to-do-with-your-changes.md): Commit or reset changes in your repo - [Working in parallel](https://docs.diversion.dev/basic/working-in-parallel.md): Branching and merging - [Workspace management](https://docs.diversion.dev/basic/workspace-management.md): Create, rename, delete, and clone workspaces - [Choosing Your Plan](https://docs.diversion.dev/choosing-your-plan.md): Choose and manage Diversion's subscription plans - [CI/CD](https://docs.diversion.dev/ci-cd.md): Configure your CI/CD platform to use diversion - [Overview](https://docs.diversion.dev/cmd-ref/about-cmd.md): Learn how Diversion's command-line interface (CMD) works and simplify your version control workflow. - [annotate](https://docs.diversion.dev/cmd-ref/annotate.md): Show line-by-line commit attribution for a file - [branch](https://docs.diversion.dev/cmd-ref/branch.md): Manage branches in the current repo - [branch-name](https://docs.diversion.dev/cmd-ref/branch-name.md): Show the current branch name - [cd](https://docs.diversion.dev/cmd-ref/cd.md): Change current working directory for an interactive CLI session - [checkout](https://docs.diversion.dev/cmd-ref/checkout.md): Switch branches and manage versions efficiently with Diversion's checkout command reference. - [cherry-pick](https://docs.diversion.dev/cmd-ref/cherry-pick.md): Apply changes from a specific commit to your current workspace - [clean](https://docs.diversion.dev/cmd-ref/clean.md): Remove ignored and untracked files from the workspace - [clone](https://docs.diversion.dev/cmd-ref/clone.md): Clone a repository into your local drive - [commit](https://docs.diversion.dev/cmd-ref/commit.md): Add changes to your active branch - [diff](https://docs.diversion.dev/cmd-ref/diff.md): Compare changes between branches or commits with Diversion's diff command for clear version insights. - [feedback](https://docs.diversion.dev/cmd-ref/feedback.md): Provide your feedback to Diversion devs - [help](https://docs.diversion.dev/cmd-ref/help.md): Get more information about Diversion's commands - [import](https://docs.diversion.dev/cmd-ref/import.md): Bring your Git repository to Diversion - [init](https://docs.diversion.dev/cmd-ref/init.md): Initialize a repository - [invite](https://docs.diversion.dev/cmd-ref/invite.md): Invite collaborators - [log](https://docs.diversion.dev/cmd-ref/log.md): Get the latest commits - [login](https://docs.diversion.dev/cmd-ref/login.md): Login to your Diversion account - [logout](https://docs.diversion.dev/cmd-ref/logout.md): Log out securely from Diversion CLI and manage session access with the logout command. - [ls](https://docs.diversion.dev/cmd-ref/ls.md): List repository files, branches, and workspaces using the Diversion ls command for quick project overview. - [merge](https://docs.diversion.dev/cmd-ref/merge.md): Add your changes to the active branch - [merge-preview](https://docs.diversion.dev/cmd-ref/merge-preview.md): Preview and validate merges before applying them using Diversion’s merge-preview command. - [mkdir](https://docs.diversion.dev/cmd-ref/mkdir.md): Create a directory in the workspace - [mv](https://docs.diversion.dev/cmd-ref/mv.md): Move or rename a file or directory in the workspace - [preferences](https://docs.diversion.dev/cmd-ref/preferences.md): Get or set workspace preferences - [repo](https://docs.diversion.dev/cmd-ref/repo.md): Perform actions on your repository - [reset](https://docs.diversion.dev/cmd-ref/reset.md): Reset the latest changes - [restore](https://docs.diversion.dev/cmd-ref/restore.md): Restore a file or directory from a commit, branch, or tag - [revert](https://docs.diversion.dev/cmd-ref/revert.md): Revert the changes made in a commit - [revert-to-commit](https://docs.diversion.dev/cmd-ref/revert-to-commit.md): Revert the workspace to the state of a specified commit - [rm](https://docs.diversion.dev/cmd-ref/rm.md): Delete a file or directory from the workspace - [share](https://docs.diversion.dev/cmd-ref/share.md): Not yet supported - [shelf](https://docs.diversion.dev/cmd-ref/shelf.md): Manage shelves in the current repo - [show](https://docs.diversion.dev/cmd-ref/show.md): Show commit details - [status](https://docs.diversion.dev/cmd-ref/status.md): Get the syncing status - [support](https://docs.diversion.dev/cmd-ref/support.md): Create and upload a support bundle - [tag](https://docs.diversion.dev/cmd-ref/tag.md): Create, list, or delete tags in Diversion using the tag command for efficient version tracking. - [unregister](https://docs.diversion.dev/cmd-ref/unregister.md): Unregister repositories from Diversion safely with the unregister CLI command. - [update](https://docs.diversion.dev/cmd-ref/update.md): Sync and refresh your workspace with the Diversion update command to stay aligned with repository changes. - [verify](https://docs.diversion.dev/cmd-ref/verify.md): Confirm repository integrity and validate data consistency using the Diversion verify command. - [version](https://docs.diversion.dev/cmd-ref/version.md): Display version information about Diversion - [view](https://docs.diversion.dev/cmd-ref/view.md): View the current workspace in a web browser - [workspace](https://docs.diversion.dev/cmd-ref/workspace.md): Manage your workspace - [Permission Modes](https://docs.diversion.dev/collaboration/permission-modes.md): Understand Diversion's permission modes (READ, WRITE, ADMIN) and how to manage access control for repositories and organizations. - [Conflicts](https://docs.diversion.dev/concepts/conflicts.md): Learn what types of conflicts can occur and how to resolve them effectively. - [Repositories, Branches, and Workspaces](https://docs.diversion.dev/concepts/repo-branch-workspace.md): Understand the basics - [Storage](https://docs.diversion.dev/concepts/storage.md): How we calculate your storage usage - [Syncing](https://docs.diversion.dev/concepts/syncing.md): Understand how to pause/resume, toggle automatic updates and selectively sync your repositories - [Branching and Merging](https://docs.diversion.dev/core-concepts/branching-merging.md): Learn how branching and merging work in Diversion, including creating branches, switching between branches, and resolving merge conflicts. - [FAQs](https://docs.diversion.dev/faqs.md): Frequently asked questions about Diversion - [Hard Locks](https://docs.diversion.dev/hard-locks.md): Prevent conflicting edits by exclusively locking files and folders - [Plugins](https://docs.diversion.dev/integrations/overview.md): Official and community-built - [Introduction](https://docs.diversion.dev/introduction.md): Version Control for Unreal Scale. Fast. Effortless. Affordable. - [Quickstart](https://docs.diversion.dev/quickstart.md): Get started with Diversion in 3 simple steps - [System Messages](https://docs.diversion.dev/system-messages.md): System messages for billing, payment issues, and account status updates. - [Unity Best Practices with Diversion](https://docs.diversion.dev/unity/unity-best-practices.md): Learn how to use Diversion effectively with Unity for seamless version control - [Unity Plugin](https://docs.diversion.dev/unity/unity-plugin.md): Use Diversion directly from the Unity Editor - [Set up Horde with Diversion (Windows, UE5 Source)](https://docs.diversion.dev/unreal/horde-setup.md): Quickstart for wiring Diversion SCM to Horde and preparing a UE5 source repository for Horde CI. - [UE Plugin - Solving Merge Conflicts With Diversion](https://docs.diversion.dev/unreal/ue-plugin-merge-conflicts.md) - [Unreal Engine Plugin](https://docs.diversion.dev/unreal/unreal-engine-plugin.md): Use Diversion without leaving the Unreal Engine editor - [Webhooks](https://docs.diversion.dev/webhooks.md): Integrate Diversion with external tools using webhooks to automate builds, notifications, and workflows. ## OpenAPI Specs - [openapi](https://docs.diversion.dev/api-reference/openapi.yml) ## Optional - [Blog](https://diversion.dev/blog) - [Community](https://discord.com/invite/HDAGJvgkuT)