53f8b2e21b5d20bbdb7904bf7f29e6f4b619057d
- 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
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.web:Web 入口、控制器、DTO、服务com.svnlog.core.svn:SVN 连接、日志抓取模型com.svnlog.core.report:Markdown 报告输出能力
更多运行和功能说明见 docs/。
Languages
Java
70.5%
Vue
13.8%
HTML
11.1%
CSS
2.8%
JavaScript
0.9%
Other
0.9%