forgejo/services/repository
Şahin Akkaya f097799953
Implement code frequency graph (#29191)
### Overview
This is the implementation of Code Frequency page. This feature was
mentioned on these issues: #18262, #7392.

It adds another tab to Activity page called Code Frequency. Code
Frequency tab shows additions and deletions over time since the
repository existed.

Before:
<img width="1296" alt="image"
src="https://github.com/go-gitea/gitea/assets/32161460/2603504f-aee7-4929-a8c4-fb3412a7a0f6">

After:
<img width="1296" alt="image"
src="https://github.com/go-gitea/gitea/assets/32161460/58c03721-729f-4536-a663-9f337f240963">

---

#### Features
- See additions deletions over time since repository existed
- Click on "Additions" or "Deletions" legend to show only one type of
contribution
- Use the same cache from Contributors page so that the loading of data
will be fast once it is cached by visiting either one of the pages

---------

Co-authored-by: Giteabot <teabot@gitea.io>
(cherry picked from commit 875f5ea6d83c8371f309df99654ca3556623004c)
2024-02-26 22:30:26 +01:00
..
archiver Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
files Fix content size does not match error when uploading lfs file (#29259) 2024-02-26 21:42:14 +01:00
adopt.go Start to migrate from util.OptionalBool to optional.Option[bool] (#29329) 2024-02-26 22:30:26 +01:00
adopt_test.go Use more specific test methods (#24265) 2023-04-22 17:56:27 -04:00
avatar.go Improve avatar uploading / resizing / compressing, remove Fomantic card module (#24653) 2023-05-13 20:59:11 +02:00
avatar_test.go Use context parameter in services/repository (#23186) 2023-02-28 16:17:51 -06:00
branch.go Start to migrate from util.OptionalBool to optional.Option[bool] (#29329) 2024-02-26 22:30:26 +01:00
cache.go Always enable caches (#28527) 2023-12-19 09:29:05 +00:00
check.go Update tool dependencies (#29030) 2024-02-02 19:11:39 -05:00
collaboration.go Fix DeleteCollaboration transaction behaviour (#28886) 2024-01-22 07:19:56 +00:00
collaboration_test.go Next round of db.DefaultContext refactor (#27089) 2023-09-16 14:39:12 +00:00
commit.go Show branches and tags that contain a commit (#25180) 2023-07-27 12:47:41 +02:00
contributors_graph.go Implement code frequency graph (#29191) 2024-02-26 22:30:26 +01:00
contributors_graph_test.go Implement contributors graph (#27882) 2024-02-17 23:24:31 +01:00
create.go [GITEA] Allow changing the repo Wiki branch to main 2024-02-05 16:57:47 +01:00
create_test.go [CLEANUP] make golangci-lint@v1.56.1 happy 2024-02-15 16:19:36 +01:00
delete.go Use db.Find instead of writing methods for every object (#28084) 2023-11-24 03:49:41 +00:00
delete_test.go Delete repos of org when purge delete user (#27273) 2023-10-19 13:16:11 +00:00
fork.go Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
fork_test.go Add option to prohibit fork if user reached maximum limit of repositories (#21848) 2022-12-27 15:21:14 -06:00
hooks.go Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
lfs.go Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
lfs_test.go Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220) 2023-12-07 15:27:36 +08:00
main_test.go make writing main test easier (#27270) 2023-09-28 01:38:53 +00:00
push.go Do not use lower tag names to find releases/tags (#29261) 2024-02-19 22:58:33 +01:00
repository.go Remove unnecessary parameter (#27671) 2023-10-18 15:03:10 +00:00
repository_test.go
review.go Use context parameter in services/repository (#23186) 2023-02-28 16:17:51 -06:00
review_test.go Use context parameter in services/repository (#23186) 2023-02-28 16:17:51 -06:00
setting.go Revert "Fix schedule tasks bugs (#28691)" (part 2) 2024-02-05 16:54:44 +01:00
template.go Move notification interface to services layer (#26915) 2023-09-05 18:37:47 +00:00
transfer.go [MODERATION] User blocking 2024-02-05 15:56:45 +01:00
transfer_test.go [MODERATION] User blocking 2024-02-05 15:56:45 +01:00