74 lines
2.1 KiB
Markdown
74 lines
2.1 KiB
Markdown
# SVN Manager
|
||
|
||
SVN 管理工具 - 多项目管理界面
|
||
|
||
## 技术栈
|
||
|
||
- **前端**: Vue 3 + Vite + Pinia + Axios(IDEA 风格深色主题)
|
||
- **后端**: Java 17 + Spring Boot 3,REST 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. 启动后端
|
||
|
||
```bash
|
||
cd backend
|
||
mvn spring-boot:run
|
||
```
|
||
|
||
后端默认端口:`8080`,API 前缀:`/api`。
|
||
|
||
### 2. 启动前端
|
||
|
||
```bash
|
||
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
|