Skip to main content
← Back to list
01Issue
BugShippedExtensionsPublicTeam
Assigneesstack72

Relationships

#1695 @swamp/git does not pass AbortSignal to Git subprocesses

Opened by jeremy · 8/17/2026· Shipped 8/18/2026

Summary

@swamp/git exposes ctx.signal in GitContext but its command runner does not pass that signal to Deno.Command. A Swamp method cancellation therefore cannot directly terminate an in-flight Git subprocess.

Evidence

In @swamp/git@2026.08.13.1:

export interface GitContext {
  readonly signal: AbortSignal;
  // ...
}

but _lib/runner.ts constructs Git commands without it:

const cmd = new Deno.Command(argv[0], {
  args: argv.slice(1),
  cwd: opts?.cwd,
  stdout: "piped",
  stderr: "piped",
});
const output = await cmd.output();

By contrast, @swamp/deno-runner passes its model signal to Deno.Command:

signal: opts.signal,

Impact

Git methods can outlive a cancelled Swamp operation. This makes operation lifecycle unreliable and contributes to orphaned nested work when callers need to stop a run.

This is complementary to outer process-group containment: a caller must still be able to terminate an entire process tree, but the extension should cooperate with ordinary model-level cancellation rather than ignore its available signal.

Suggested direction

Extend the Git runner executor options to accept the model AbortSignal, pass it to Deno.Command, and thread ctx.signal through Git operations. Add a controlled cancellation test that aborts an in-flight command and verifies the method terminates without leaving the child running. Preserve existing command/result behavior for non-cancelled runs.

Upstream repository: https://github.com/swamp-club/swamp-extensions

Environment

  • Extension: @swamp/git@2026.08.13.1
  • swamp: 20260817.010424.0-sha.21133ea1
  • OS: linux (x86_64)
  • Deno: 2.8.3
  • Shell: /bin/bash
02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED+ 1 MOREASSIGNED+ 2 MOREREVIEW+ 4 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

8/18/2026, 1:54:33 AM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack728/18/2026, 1:18:17 AM

Sign in to post a ripple.