Overview Version History Q & A Rating & Review
SVN AI Commit Message
Adds a sparkle button to the SVN Source Control input (provided by johnstoncode.svn-scm ) that generates a commit message from your working copy diff — the same UX as the built-in Git/Copilot button.
Requirements
VS Code 1.90+
svn-scm extension
svn CLI on your PATH
One of:
GitHub Copilot (uses the VS Code Language Model API), or
An Anthropic API key (stored in VS Code Secret Storage)
Usage
Open an SVN working copy.
Make some changes.
Click the sparkle (✨) icon in the SCM input toolbar, or run SVN AI: Generate Commit Message .
The message streams into the input box. Press Esc during generation to cancel — the input box is restored to whatever it was before.
Configuration
All settings live under svnAiCommit.*:
Setting
Default
Description
provider
auto
auto | copilot | anthropic
model.smart
""
Override for aggregation / single-call model.
model.fast
""
Override for per-file summary model.
maxConcurrency
5
Parallel per-file calls (1–20).
singleCallThresholdTokens
25000
Below this, all diffs go in one call.
perFileMaxTokens
6000
Per-file truncation budget.
maxDiffBytes
10485760
Hard cap on svn diff stdout.
style
plain
conventional | plain | custom
customStyleInstructions
""
Used when style = custom.
language
auto
Output language (e.g. en, fr).
includeBody
true
Include a body section.
maxBodyLines
8
Cap body length.
onExistingMessage
prompt
prompt | replace | append
Anthropic API key
Run SVN AI: Set Anthropic API Key . The key is stored in VS Code Secret Storage. To remove it, run SVN AI: Clear Anthropic API Key .
How it works
Shells out to svn diff --internal-diff (streams stdout, hard-capped by maxDiffBytes).
Splits the diff per file (Index: boundary), classifies each as text / binary / property-only / generated.
Routes:
Total tokens under singleCallThresholdTokens → one call to the smart model with the full diff.
Otherwise → fast model summarizes each text file in parallel, smart model aggregates.
Final smart-model call streams into the SCM input box.
Troubleshooting
"svn CLI not found" — Install Subversion and make sure svn is on your PATH.
"No AI provider available" — Install GitHub Copilot or set an Anthropic API key.
No sparkle button — Make sure johnstoncode.svn-scm is installed and the workspace folder is an SVN working copy.
First Copilot call blocked — Accept the Copilot Language Model consent dialog when prompted, then retry.
Out of scope (v0.1)
Per-changelist messages, pre-commit hooks, multi-repo per-repo config, real tokenizers, cross-session caching, other SCMs.
License
MIT.