wxiaoguang
4d6e172a0d
chore: still keep ctx in git.Repository struct for cat-file batch command ( #38684 )
...
Unfortunately, we can't completely remove the ctx from git.Repository,
because the CatFileBatch still heavily depends on a parent context.
If we remove the Repository ctx, the CatFileBatch will become a mess and
create a lot of unnecessary git processes.
http://localhost:3000/-/admin/monitor/perftrace
* Before: open a repo home, dozens of git processes (duplicate cat-file)
* After: only a few (no duplicate cat-file)
2026-07-28 17:04:22 +00:00
wxiaoguang
9dc04289aa
refactor: make git package handle all git operations ( #38543 )
...
before: gitrepo vs git packages
after: git package fully handle all git operations
by the way, use `WithRepo(repo)` instead of `WithDir(repo.Path)` to hide
path details.
benefits:
1. remove all unnecessary wrappers, developers no need to struggle with
"which package should be used"
2. simplify code, RepositoryFacade can (will) be used everywhere, all
"path" details are (will be) hidden
2026-07-20 16:07:38 +00:00
wxiaoguang
5b078f72aa
refactor: remove Ctx field from git.Repository ( #38500 )
2026-07-17 18:44:31 +08:00
wxiaoguang
82edc3da01
refactor: decouple git.Repository(ctx) from git.Commit & git.Tree ( #38464 )
...
1. Storing "ctx" in a long-living object is wrong
2. Make the commit & tree cacheable (for the future performance
optimization)
3. Also fix some bad designs like `// FIXME: bad design, this field can
be nil if the commit is from "last commit cache"`
ref:
* #33893
2026-07-15 17:30:01 +00:00
Lunny Xiao
61b1a39efe
chore: Move import path from code.gitea.io/gitea to gitea.dev ( #37873 )
2026-05-26 15:49:31 -07:00
wxiaoguang
7290bfaccb
Only keep popular licenses ( #33832 )
...
Fix #33467
2025-03-10 06:40:37 +08:00
yp05327
70b7df0e5e
Support repo license ( #24872 )
...
Close #278
Close #24076
## Solutions:
- Use
[google/licenseclassifier](https://github.com/google/licenseclassifier/ )
Test result between
[google/licensecheck](https://github.com/google/licensecheck ) and
[go-license-detector](https://github.com/go-enry/go-license-detector ):
https://github.com/go-gitea/gitea/pull/24872#issuecomment-1560361167
Test result between
[google/licensecheck](https://github.com/google/licensecheck ) and
[google/licenseclassifier](https://github.com/google/licenseclassifier/ ):
https://github.com/go-gitea/gitea/pull/24872#issuecomment-1576092178
- Generate License Convert Name List to avoid import license templates
with same contents
Gitea automatically get latest license data from[
spdx/license-list-data](https://github.com/spdx/license-list-data ).
But unfortunately, some license templates have same contents. #20915
[click here to see the
list](https://github.com/go-gitea/gitea/pull/24872#issuecomment-1584141684 )
So we will generate a list of these license templates with same contents
and create a new file to save the result when using `make
generate-license`. (Need to decide the save path)
- Save License info into a new table `repo_license`
Can easily support searching repo by license in the future.
## Screen shot
Single License:

Multiple Licenses:

Triggers:
- [x] Push commit to default branch
- [x] Create repo
- [x] Mirror repo
- [x] When Default Branch is changed, licenses should be updated
Todo:
- [x] Save Licenses info in to DB when there's a change to license file
in the commit
- [x] DB Migration
- [x] A nominal test?
- [x] Select which library to
use(https://github.com/go-gitea/gitea/pull/24872#issuecomment-1560361167 )
- [x] API Support
- [x] Add repo license table
- ~Select license in settings if there are several licenses(Not
recommended)~
- License board(later, not in this PR)

---------
Co-authored-by: silverwind <me@silverwind.io >
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: Denys Konovalov <kontakt@denyskon.de >
Co-authored-by: delvh <dev.lh@web.de >
Co-authored-by: KN4CK3R <admin@oldschoolhack.me >
Co-authored-by: 6543 <6543@obermui.de >
Co-authored-by: 6543 <m.huber@kithara.com >
Co-authored-by: a1012112796 <1012112796@qq.com >
Co-authored-by: techknowlogick <techknowlogick@gitea.com >
2024-10-01 15:25:08 -04:00