vscode 跑通公司旧版 svn 项目必须手动指定 svn 可执行路径(如 sliksvn 1.8),且版本须严格匹配 1.6–1.8;否则因工作副本格式不兼容,将出现“未找到 svn”、无响应或 e155036 错误。

VSCode 能跑通公司旧版 SVN 项目,但必须手动指定 svn 可执行路径,且不能依赖插件自动发现 —— 否则会卡在“未找到 SVN”或提交后无响应。
确认本地 svn 命令版本是否匹配(1.6–1.8 是关键)
旧项目往往绑定 SVN 1.6–1.8 工作副本格式,而 macOS 自带 svn(1.14+)、Windows 新版 TortoiseSVN 默认命令行(1.10+)会拒绝读取老格式,报错 E155036: Working copy is too old 或静默失败。
- 终端运行
svn --version,输出必须是1.8.x(推荐 SlikSVN 1.8.17 或 CollabNet SVN 1.8.19) - macOS 用户别用
brew install subversion;应从archive.apache.org/dist/subversion/下载 1.8.x 二进制包并解压到/usr/local/svn18 - Windows 用户安装 TortoiseSVN 时务必勾选 “Command line client tools”,否则
svn.exe不在 PATH 中 - 验证方式:在 VSCode 内置终端(
Ctrl+`)里直接运行svn --version,能输出且版本正确才算真正就位
显式配置 svn.executablePath,别信自动发现
VSCode 的 johnstoncode.svn-scm 插件不会 fallback 到 PATH 查找,也不会自动识别多个 svn 版本中的旧版。PATH 里混着 1.14 和 1.8 时,它大概率调用错的那一个。
微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。
- 打开
Preferences: Open Settings (JSON),添加字段:"svn.executablePath": "C:/Program Files/SlikSVN/bin/svn.exe"(Windows,用正斜杠或双反斜杠)"svn.executablePath": "/usr/local/svn18/bin/svn"(macOS/Linux) - 路径中禁止含中文、空格、波浪号
~;否则控制台报spawn ENOENT - 改完保存后,必须彻底退出 VSCode(不是关窗口),再重新打开 —— 缓存不刷新,插件仍沿用旧路径
打开项目必须是 .svn 所在的根目录
插件只在工作区根目录下存在 .svn 文件夹时才激活全部功能。它不递归扫描,也不支持子目录打开。打开错一层,右键菜单就全灰,状态栏不显示 trunk。
- 错误做法:用
svn checkout https://xxx/trunk myproj拉下来,却在 VSCode 里打开myproj/src - 正确做法:用
File → Open Folder…直接选择myproj(即包含.svn的那一层) - 快速验证:资源管理器顶部出现 SOURCE CONTROL 面板,且左下角状态栏显示分支名(如
trunk),说明识别成功 - 注意:
.svn是隐藏目录;Windows 资源管理器需开启“显示隐藏的项目”,macOS/Linux 终端用ls -a确认是否存在
首次检出和 SSL/TLS 兼容性问题要绕开插件
VSCode 插件的 SVN: Checkout 功能对老协议(svn://、http://)和弱 TLS 支持极差,容易卡住或生成损坏工作副本。SSL 握手失败时,插件常静默无响应,不报错。
- 首次检出一律用终端:
svn checkout <url> ./project</url>;等.svn/wc.db完整生成后再用 VSCode 打开该目录 - 若报
RA layer request failed或SSL handshake failed,说明服务端只支持 TLS 1.0/1.1;对 SlikSVN 1.8,可加环境变量SSLVersion=TLSv1(Windows 系统属性 → 环境变量;macOS 在~/.zshrc中加export SSLVersion=TLSv1) - VSCode 插件不读取系统
~/.subversion/server配置(比如代理、证书忽略),所有认证、代理设置必须先在终端svn info跑通,再进 VSCode
最易被忽略的是工作副本格式与客户端版本的耦合关系:哪怕路径、插件、权限全对,只要 .svn/wc.db 是高版本生成的,SlikSVN 1.8 就会直接拒绝操作 —— 这类问题不会报路径错误,只会卡在“无响应”或“提交失败”,得回退到终端用 svn upgrade 或重建工作副本。










