liujing 53f8b2e21b feat: support git repositories and project management
- Git (JGit) log fetching: mirror clone cache, incremental fetch, time/author filter, HTTPS token & SSH key auth
- Git preset management and /api/git/* endpoints (test-connection, version-range, fetch)
- Markdown report generalization: project meta, commit range, short hash entries
- Project management: project entities, drag-drop repo assignment, sorting, rename sync, non-empty delete protection
- AI analysis: project-based grouping merges SVN+Git commits, excludes empty projects from Excel
- Batch fetch: skip repos without logs instead of aborting the whole flow
- Frontend: project management page, repo page project dropdown, Git fields, sidebar updates
- Tests: GitLogFetcherTest, DateRangeResolverTest, ProjectConfigServiceTest, merge/exclusion coverage
2026-07-31 21:19:12 +08:00

svn-log-tool

SVN 日志抓取与 AI 工作量分析工具,统一使用 Web 工作台入口。

入口

  • com.svnlog.web.WebApplication

常用命令

# 一键启动(Docker,每次会重新构建镜像并打包最新代码,安全默认构建)
make up

# 快速开发迭代启动(Docker,保留 Java 编译缓存,仅适合本地 Java 增量开发)
make fast-up

# 查看状态
make status

# 一键关闭
make down

# 编译
mvn clean compile

# 打包
mvn clean package -DskipTests

# 启动 Web(非 Docker 备用方式)
mvn spring-boot:run -Dspring-boot.run.mainClass=com.svnlog.web.WebApplication

Docker 构建缓存说明

  • make up 会始终执行 docker compose up -d --build,因此每次都会重新打包最新代码。
  • Docker 构建默认启用 BuildKit;首次构建会下载 Maven 依赖,后续在 pom.xml 未变化时会复用 /root/.m2 构建缓存,通常不会重复大规模下载。
  • 以下情况会触发依赖重新解析或重新下载:修改 pom.xml、执行 docker builder prune 清理构建缓存、切换到另一套 Docker Builder / Docker 环境。

代码结构

  • com.svnlog.webWeb 入口、控制器、DTO、服务
  • com.svnlog.core.svnSVN 连接、日志抓取模型
  • com.svnlog.core.reportMarkdown 报告输出能力

更多运行和功能说明见 docs/

S
Description
Mirror of svn-log-tool from gitee
Readme
29 MiB
Languages
Java 70.5%
Vue 13.8%
HTML 11.1%
CSS 2.8%
JavaScript 0.9%
Other 0.9%