diff --git a/packages/release/internal/release/release_step_replace.go b/packages/release/internal/release/release_step_replace.go index 5ed8151..898eba8 100644 --- a/packages/release/internal/release/release_step_replace.go +++ b/packages/release/internal/release/release_step_replace.go @@ -33,8 +33,9 @@ func translateReplacementBackrefs(raw string) string { for i := 0; i < len(raw); i++ { if raw[i] == '\\' && i+1 < len(raw) && raw[i+1] >= '1' && raw[i+1] <= '9' { - b.WriteByte('$') + b.WriteString("${") b.WriteByte(raw[i+1]) + b.WriteByte('}') i++ continue } diff --git a/packages/release/internal/release/release_step_replace_test.go b/packages/release/internal/release/release_step_replace_test.go new file mode 100644 index 0000000..004e5f2 --- /dev/null +++ b/packages/release/internal/release/release_step_replace_test.go @@ -0,0 +1,13 @@ +package release + +import "testing" + +func TestTranslateReplacementBackrefsWrapsCaptureNumbers(t *testing.T) { + t.Parallel() + + got := translateReplacementBackrefs(`\1git+https://example.test/ref\2`) + want := `${1}git+https://example.test/ref${2}` + if got != want { + t.Fatalf("translateReplacementBackrefs() = %q, want %q", got, want) + } +}