SVN Manager

SVN 管理工具 - 多项目管理界面

技术栈

  • 前端: Vue 3 + Vite + Pinia + AxiosIDEA 风格深色主题)
  • 后端: Java 17 + Spring Boot 3REST API本地调用 svn CLI
  • 配置: 项目列表存储在 ~/.svn-manager/projects.json

项目结构

svn-manager/
├── backend/          # Java Spring Boot 后端
│   ├── src/main/java/com/svnmanager/
│   │   ├── controller/   # REST 控制器
│   │   ├── service/      # SVN 服务与文件树
│   │   ├── model/        # 数据模型
│   │   └── util/         # 配置与进程工具
│   └── pom.xml
├── frontend/         # Vue 3 前端
│   ├── src/
│   │   ├── api/          # API 客户端
│   │   ├── components/    # 侧栏、工具栏、文件树、弹窗
│   │   ├── stores/        # Pinia 状态
│   │   └── App.vue
│   └── package.json
└── README.md

运行方式

前置要求

  • JDK 17+
  • Node.js 18+
  • 系统已安装 svn 并已在 PATH 中

1. 启动后端

cd backend
mvn spring-boot:run

后端默认端口:8080API 前缀:/api

2. 启动前端

cd frontend
npm install
npm run dev

浏览器访问 Vite 提供的地址(如 http://localhost:5173)。开发环境下 Vite 会将 /api 代理到 http://localhost:8080

3. 生产构建

  • 后端:cd backend && mvn package,运行 java -jar target/svn-manager-backend-1.0.0.jar
  • 前端:cd frontend && npm run build,将 dist/ 部署到任意静态服务器,并配置 API 代理或同域部署

功能说明

  • 项目列表:左侧栏展示已配置项目,点击切换当前项目
  • 添加项目:填写本地工作副本路径(及可选 SVN 地址、账号密码)保存到 ~/.svn-manager/projects.json
  • 文件树:选中项目后自动拉取 svn status 并展示树形结构,支持 SVN 状态徽章M/A/D/C/?
  • 工具栏:刷新状态、更新、提交、日志、差异;提交/日志/差异通过弹窗完成

许可证

MIT License

Description
Mirror of svn-manager from gitee
Readme 118 KiB
Languages
Java 41.7%
Vue 28.4%
HTML 20.3%
JavaScript 5.6%
Shell 1.4%
Other 2.6%