Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/nine-cameras-applaud.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"roo-cline": patch
---

Disable repo-per-workspace checkpoints
12 changes: 8 additions & 4 deletions src/core/Cline.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3688,10 +3688,14 @@ export class Cline {
log,
}

const service =
this.checkpointStorage === "task"
? RepoPerTaskCheckpointService.create(options)
: RepoPerWorkspaceCheckpointService.create(options)
// Only `task` is supported at the moment until we figure out how
// to fully isolate the `workspace` variant.
// const service =
// this.checkpointStorage === "task"
// ? RepoPerTaskCheckpointService.create(options)
// : RepoPerWorkspaceCheckpointService.create(options)

const service = RepoPerTaskCheckpointService.create(options)

service.on("initialize", () => {
try {
Expand Down
37 changes: 2 additions & 35 deletions webview-ui/src/components/settings/CheckpointSettings.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { HTMLAttributes } from "react"
import { VSCodeCheckbox, VSCodeRadio, VSCodeRadioGroup } from "@vscode/webview-ui-toolkit/react"
import { VSCodeCheckbox } from "@vscode/webview-ui-toolkit/react"
import { GitBranch } from "lucide-react"

import { CheckpointStorage, isCheckpointStorage } from "../../../../src/shared/checkpoints"
import { CheckpointStorage } from "../../../../src/shared/checkpoints"

import { SetCachedStateField } from "./types"
import { SectionHeader } from "./SectionHeader"
Expand Down Expand Up @@ -42,39 +42,6 @@ export const CheckpointSettings = ({
When enabled, Roo will automatically create checkpoints during task execution, making it easy to
review changes or revert to earlier states.
</p>
{enableCheckpoints && (
<div>
<div className="font-medium">Storage</div>
<VSCodeRadioGroup
role="radiogroup"
value={checkpointStorage}
onChange={(e) => {
if ("target" in e) {
const { value } = e.target as HTMLInputElement

if (isCheckpointStorage(value)) {
setCachedStateField("checkpointStorage", value)
}
}
}}>
<VSCodeRadio value="task">Task</VSCodeRadio>
<VSCodeRadio value="workspace">Workspace</VSCodeRadio>
</VSCodeRadioGroup>
{checkpointStorage === "task" && (
<p className="text-vscode-descriptionForeground text-sm mt-0">
Each task will have it's own dedicated git repository for storing checkpoints. This
provides the best isolation between tasks but uses more disk space.
</p>
)}
{checkpointStorage === "workspace" && (
<p className="text-vscode-descriptionForeground text-sm mt-0">
Each VSCode workspace will have it's own dedicated git repository for storing
checkpoints and tasks within a workspace will share this repository. This option
provides better performance and disk space efficiency.
</p>
)}
</div>
)}
</div>
</Section>
</div>
Expand Down