Code Ownership

Ownership is measured by how many commits each author made to each file in the current tree. It highlights bus-factor risk (files only one person has ever touched) and where knowledge is concentrated. The bus factor is the smallest number of people who are, between them, primary owner of more than half of the files.

Files Tracked
3,307
in the current tree
Bus Factor
4
4 authors are primary owner of 1,787 of 3,307 files
Single-Owner Files
749
22.6% of tracked files
Contributors
371
authors who changed files

Bus factor risk — single-owner files

Files only one author has ever changed. The more a file has changed, the more knowledge is at risk if that person leaves.

FileSole ownerCommits
src/jobservice/config.ymlSteven Zou9
src/jobservice/common/rds/keys.goSteven Zou8
src/portal/src/app/shared/components/operation/operation.component.cssShijun Sun6
src/portal/src/app/base/left-side-nav/clearing-job/gc-page/gc/gc-history/gc-history.component.scssShijun Sun6
src/portal/src/app/base/left-side-nav/replication/replication/list-replication-rule/list-replication-rule.component.scssShijun Sun6
src/portal/src/app/base/project/tag-feature-integration/tag-retention/retention.tsShijun Sun6
src/portal/src/app/base/left-side-nav/config/config.component.htmlShijun Sun6
make/photon/prepare/templates/registryctl/env.jinjaQian Deng6
src/portal/src/app/base/left-side-nav/system-robot-accounts/system-robot-accounts.component.scssShijun Sun5
src/portal/src/app/base/project/robot-account/add-robot/add-robot.component.scssShijun Sun5
Table: the 100 most-changed of 749 single-owner files
FileSole ownerCommits
src/jobservice/config.ymlSteven Zou9
src/jobservice/common/rds/keys.goSteven Zou8
src/portal/src/app/shared/components/operation/operation.component.cssShijun Sun6
src/portal/src/app/base/left-side-nav/clearing-job/gc-page/gc/gc-history/gc-history.component.scssShijun Sun6
src/portal/src/app/base/left-side-nav/replication/replication/list-replication-rule/list-replication-rule.component.scssShijun Sun6
src/portal/src/app/base/project/tag-feature-integration/tag-retention/retention.tsShijun Sun6
src/portal/src/app/base/left-side-nav/config/config.component.htmlShijun Sun6
make/photon/prepare/templates/registryctl/env.jinjaQian Deng6
src/portal/src/app/base/left-side-nav/system-robot-accounts/system-robot-accounts.component.scssShijun Sun5
src/portal/src/app/base/project/robot-account/add-robot/add-robot.component.scssShijun Sun5
src/portal/src/app/shared/router-guard/member-guard-activate.service.tsShijun Sun5
src/portal/src/app/base/account-settings/account-settings-modal.component.scssShijun Sun5
src/portal/src/app/base/left-side-nav/config/config.module.tsShijun Sun5
src/portal/src/app/base/project/repository/repository-gridview.component.scssShijun Sun5
src/portal/src/app/shared/components/push-image/push-image.scssShijun Sun5
make/photon/prepare/utils/registry_ctl.pyQian Deng5
make/photon/prepare/commands/gencerts.pyQian Deng5
make/photon/prepare/utils/db.pyQian Deng5
src/pkg/auditext/event/login/login.gostonezdj(Daojun Zhang)4
src/core/api/internal_test.goWang Yan4
src/portal/src/app/base/left-side-nav/project-quotas/project-quotas/project-quotas.component.scssShijun Sun4
src/portal/src/app/base/left-side-nav/system-robot-accounts/list-all-projects/list-all-projects.component.scssShijun Sun4
src/portal/src/app/base/left-side-nav/clearing-job/gc-page/gc/gc.component.scssShijun Sun4
src/portal/src/app/shared/router-guard/mode-guard-activate.service.tsShijun Sun4
src/portal/src/app/base/project/repository/artifact/artifact-additions/build-history/build-history.component.htmlShijun Sun4
src/portal/src/app/base/project/p2p-provider/task-list/task-list.component.scssShijun Sun4
src/portal/src/app/base/left-side-nav/replication/total-replication-page.component.htmlShijun Sun4
src/portal/src/app/shared/components/cron-schedule/cron-schedule.component.scssShijun Sun4
src/portal/docker-build/nginx.conf.exampleShijun Sun4
src/portal/src/app/base/left-side-nav/projects/projects.module.tsShijun Sun4
src/portal/src/app/base/project/tag-feature-integration/tag-feature-integration.component.htmlShijun Sun4
src/portal/src/app/base/project/tag-feature-integration/tag-feature-integration.component.scssShijun Sun4
src/portal/src/app/base/project/project-detail/project-detail.component.scssShijun Sun4
src/portal/src/app/base/project/repository/gridview/grid-view.component.scssShijun Sun4
src/pkg/tag/model/tag/model.goWenkai Yin(尹文开)4
src/common/rbac/rbac.goHe Weiwei4
tests/robot-cases/Group1-Nightly/Setup_Nightly.robotdanfengliu4
tests/resources/Harbor-Pages/Project-Config-Elements.robotdanfengliu4
src/controller/jobmonitor/monitor_test.gostonezdj(Daojun Zhang)3
src/pkg/auditext/event/config/config.gostonezdj(Daojun Zhang)3
src/pkg/auditext/event/login/logout.gostonezdj(Daojun Zhang)3
src/pkg/auditext/event/basic.gostonezdj(Daojun Zhang)3
src/pkg/securityhub/manager.gostonezdj(Daojun Zhang)3
src/common/rbac/project/rbac_util.goWang Yan3
src/controller/artifact/processor/cnai/parser/base_test.goChlins Zhang3
src/controller/artifact/processor/cnai/parser/util_test.goChlins Zhang3
src/controller/artifact/processor/cnai/cnai_test.goChlins Zhang3
src/controller/artifact/processor/cnai/parser/files_test.goChlins Zhang3
src/controller/artifact/processor/cnai/parser/license_test.goChlins Zhang3
src/controller/artifact/processor/cnai/parser/readme_test.goChlins Zhang3
src/controller/task/controller.goChlins Zhang3
src/controller/task/execution_controller.goChlins Zhang3
src/portal/src/app/base/left-side-nav/system-robot-accounts/projects-modal/projects-modal.component.scssShijun Sun3
src/portal/src/app/shared/router-guard/oidc-guard-active.service.tsShijun Sun3
src/portal/src/app/shared/router-guard/sign-in-guard-activate.service.tsShijun Sun3
src/portal/src/app/shared/router-guard/system-admin-activate.service.tsShijun Sun3
src/portal/src/app/base/project/repository/artifact/artifact-additions/dependencies/dependencies.component.htmlShijun Sun3
src/portal/src/app/shared/components/global-message/message.component.scssShijun Sun3
src/portal/src/app/base/left-side-nav/registries/create-edit-endpoint/create-edit-endpoint.component.scssShijun Sun3
src/portal/src/app/base/project/project.module.tsShijun Sun3
src/portal/src/app/shared/components/datetime-picker/datetime-picker.component.scssShijun Sun3
src/portal/src/app/base/left-side-nav/job-service-dashboard/schedule-card/schedule-card.component.scssShijun Sun3
src/portal/src/app/base/project/tag-feature-integration/tag-retention/tag-retention.service.tsShijun Sun3
src/portal/.stylelintrc.jsonShijun Sun3
src/portal/src/app/base/left-side-nav/clearing-job/audit-log-purge/history/purge-history.component.scssShijun Sun3
src/portal/src/app/base/left-side-nav/config/auth/config-auth.component.scssShijun Sun3
src/portal/src/app/base/left-side-nav/group/group.component.scssShijun Sun3
src/portal/src/app/base/left-side-nav/user/change-password/change-password.component.scssShijun Sun3
src/portal/src/app/base/left-side-nav/user/user.component.scssShijun Sun3
src/portal/src/app/base/password-setting/password-setting.component.scssShijun Sun3
src/portal/src/app/base/project/repository/artifact/artifact-list-page/artifact-list-page.component.scssShijun Sun3
src/portal/src/app/base/project/repository/artifact/artifact-summary.component.scssShijun Sun3
src/portal/src/app/base/project/summary/summary.component.scssShijun Sun3
src/portal/src/app/shared/components/image-name-input/image-name-input.component.scssShijun Sun3
src/portal/src/app/shared/components/inline-alert/inline-alert.component.scssShijun Sun3
src/portal/src/app/shared/components/remaining-time/remaining-time.component.scssShijun Sun3
src/portal/src/app/shared/components/view-token/view-token.component.scssShijun Sun3
src/portal/src/app/base/left-side-nav/project-quotas/project-quotas.module.tsShijun Sun3
src/portal/src/app/base/left-side-nav/replication/replication.module.tsShijun Sun3
tests/resources/Harbor-Pages/Job_Service_Dashboard_Elements.robotYang Jiao3
src/controller/replication/flow/controller.goWenkai Yin(尹文开)3
src/server/server.goWenkai Yin(尹文开)3
src/pkg/quota/errors.goHe Weiwei3
src/server/middleware/skipper.goHe Weiwei3
make/photon/prepare/tests/migrations/utils_test.pyQian Deng3
make/photon/prepare/utils/log.pyQian Deng3
tests/resources/Harbor-Pages/Project-Copy-Elements.robotdanfengliu3
tests/apitests/python/update_docker_cfg.shdanfengliu3
tests/testcases/Group2-image-management/2-23-admin-delete-images.mdHenry Zhang3
src/pkg/scan/export/csv_sanitize_test.gostonezdj(Daojun Zhang)2
src/pkg/auditext/event/config/config_test.gostonezdj(Daojun Zhang)2
src/pkg/auditext/event/login/logout_test.gostonezdj(Daojun Zhang)2
src/pkg/auditext/event/basic_test.gostonezdj(Daojun Zhang)2
src/pkg/scan/rest/v1/models_test.gostonezdj(Daojun Zhang)2
src/controller/artifact/processor/sbom/sbom.gostonezdj(Daojun Zhang)2
src/controller/artifact/processor/sbom/sbom_test.gostonezdj(Daojun Zhang)2
src/controller/event/handler/internal/project_test.gostonezdj(Daojun Zhang)2
src/pkg/securityhub/model/model.gostonezdj(Daojun Zhang)2
src/lib/config/context.gostonezdj(Daojun Zhang)2
src/pkg/ldap/model/ldap.gostonezdj(Daojun Zhang)2

Ownership by author

Primary owner = the author with the most commits to a file. Solely owned = files only that author has touched.

AuthorFiles ownedSolely ownedFiles touched
Shijun Sun781146854
Wang Yan383401,144
stonezdj(Daojun Zhang)36044870
Chlins Zhang263142983
Wenkai Yin(尹文开)25557703
miner14214682
danfengliu14213172
He Weiwei13731525
Steven Zou13016267
Qian Deng9422367
Daniel Jiang7021439
Henry Zhang585069
Yang Jiao5425192
Ziming Zhang441172
sigsbee36056
Max323282
Shengwen YU2212371
Vadim Bauer221293
clouderati210153
Yogi_Wang19579
yanggang19075
Lichao Xue18793
Prasanth Baskar174577
prahaladdarkin16078
peimingming15041

Showing top 25 of 371 contributors.

Most shared files

Files touched by the most people — shared code where changes are most likely to need coordination.

FileContributorsPrimary ownerOwner share
src/portal/src/i18n/lang/en-us-lang.json50Shijun Sun23.9%
src/portal/src/i18n/lang/fr-fr-lang.json46Shijun Sun23.1%
src/portal/src/i18n/lang/zh-cn-lang.json44Shijun Sun24.6%
src/portal/src/i18n/lang/es-es-lang.json44Shijun Sun24.1%
README.md44Henry Zhang29.8%
src/portal/src/i18n/lang/pt-br-lang.json43Shijun Sun25.2%
Makefile42Wang Yan25.0%
CONTRIBUTING.md38miner22.2%
api/v2.0/swagger.yaml35stonezdj(Daojun Zhang)20.6%
src/portal/src/i18n/lang/tr-tr-lang.json34Shijun Sun34.1%
src/portal/src/i18n/lang/zh-tw-lang.json30Shijun Sun45.3%
src/portal/src/i18n/lang/de-de-lang.json28Shijun Sun53.1%
src/go.mod27Wang Yan22.9%
src/go.sum25miner19.8%
src/core/main.go23stonezdj(Daojun Zhang)13.9%
.gitignore23Daniel Jiang13.4%
src/common/const.go22stonezdj(Daojun Zhang)20.3%
make/harbor.yml.tmpl22miner22.8%
make/photon/Makefile22Wang Yan24.7%
.github/workflows/CI.yml20miner22.5%