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
This commit is contained in:
liujing
2026-07-31 21:19:12 +08:00
parent b5c7907c23
commit 53f8b2e21b
50 changed files with 4434 additions and 291 deletions
+4
View File
@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128">
<rect width="128" height="128" rx="28" fill="#22C55E"/>
<text x="50%" y="54%" dominant-baseline="middle" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-weight="900" font-size="48" fill="#FFFFFF">LOG</text>
</svg>

After

Width:  |  Height:  |  Size: 310 B