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
1,713
in the current tree
Bus Factor
2
2 authors are primary owner of 955 of 1,713 files
Single-Owner Files
426
24.9% of tracked files
Contributors
860
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
deps/jemalloc/include/jemalloc/internal/extent.hSalvatore Sanfilippo7
deps/jemalloc/include/jemalloc/internal/base.hSalvatore Sanfilippo6
utils/redis_init_scriptSalvatore Sanfilippo5
src/commands/hotkeys-get.jsonMincho Paskalev5
src/gcra.cMincho Paskalev4
tests/support/cli.tclYossi Gottlieb4
deps/lua/MakefileSalvatore Sanfilippo3
tests/support/tmpfile.tclSalvatore Sanfilippo3
tests/integration/backup.tclYuan Wang3
scripts/deploy.shTal Bar Yakar3
Table: the 100 most-changed of 426 single-owner files
FileSole ownerCommits
deps/jemalloc/include/jemalloc/internal/extent.hSalvatore Sanfilippo7
deps/jemalloc/include/jemalloc/internal/base.hSalvatore Sanfilippo6
utils/redis_init_scriptSalvatore Sanfilippo5
src/commands/hotkeys-get.jsonMincho Paskalev5
src/gcra.cMincho Paskalev4
tests/support/cli.tclYossi Gottlieb4
deps/lua/MakefileSalvatore Sanfilippo3
tests/support/tmpfile.tclSalvatore Sanfilippo3
tests/integration/backup.tclYuan Wang3
scripts/deploy.shTal Bar Yakar3
scripts/build.shTal Bar Yakar3
tests/unit/cluster/cluster-shards.tclAditSingh103
tests/unit/cluster/cluster-slots.tclAditSingh103
tests/unit/cluster/manual-takeover.tclAditSingh103
tests/assets/corrupt_empty_keys.rdbsundb3
modules/vector-sets/tests/persistence.pySalvatore Sanfilippo2
utils/srandmember/README.mdSalvatore Sanfilippo2
utils/lru/READMESalvatore Sanfilippo2
deps/lua/COPYRIGHTSalvatore Sanfilippo2
deps/lua/doc/contents.htmlSalvatore Sanfilippo2
deps/lua/doc/lua.cssSalvatore Sanfilippo2
deps/lua/doc/manual.cssSalvatore Sanfilippo2
deps/lua/doc/manual.htmlSalvatore Sanfilippo2
deps/lua/doc/readme.htmlSalvatore Sanfilippo2
deps/lua/etc/lua.pcSalvatore Sanfilippo2
deps/lua/src/lcode.cSalvatore Sanfilippo2
deps/lua/src/ldblib.cSalvatore Sanfilippo2
deps/lua/src/lgc.cSalvatore Sanfilippo2
deps/lua/src/liolib.cSalvatore Sanfilippo2
deps/lua/src/loadlib.cSalvatore Sanfilippo2
src/commands/cluster-slot-stats.jsonSlavomir Kaslev2
src/cluster_slot_stats.hSlavomir Kaslev2
tests/integration/replication-iothreads.tclMincho Paskalev2
src/commands/hotkeys-reset.jsonMincho Paskalev2
src/commands/hotkeys-start.jsonMincho Paskalev2
src/commands/hotkeys-stop.jsonMincho Paskalev2
tests/modules/configaccess.cMincho Paskalev2
scripts/run.shTal Bar Yakar2
scripts/test.shTal Bar Yakar2
scripts/bootstrap.shTal Bar Yakar2
modules/README.mdTal Bar Yakar2
tests/unit/cluster/base.tclAditSingh102
tests/unit/cluster/cluster-nodes-slots.tclAditSingh102
tests/unit/cluster/consistency-check.tclAditSingh102
tests/unit/cluster/diskless-load-swapdb.tclAditSingh102
tests/unit/cluster/faildet.tclAditSingh102
tests/unit/cluster/failover-loop.tclAditSingh102
tests/unit/cluster/failover.tclAditSingh102
tests/unit/cluster/half-migrated-slot.tclAditSingh102
tests/unit/cluster/info.tclAditSingh102
tests/unit/cluster/manual-failover.tclAditSingh102
tests/unit/cluster/many-slot-migration.tclAditSingh102
tests/unit/cluster/no-failover-option.tclAditSingh102
tests/unit/cluster/pubsub.tclAditSingh102
tests/unit/cluster/pubsubshard-slot-migration.tclAditSingh102
tests/unit/cluster/pubsubshard.tclAditSingh102
tests/unit/cluster/replica-in-sync.tclAditSingh102
tests/unit/cluster/replica-migration-1.tclAditSingh102
tests/unit/cluster/replica-migration-2.tclAditSingh102
tests/unit/cluster/replica-migration-3.tclAditSingh102
tests/unit/cluster/slave-selection.tclAditSingh102
tests/unit/cluster/slave-stop-cond.tclAditSingh102
tests/unit/cluster/slot-migration-response.tclAditSingh102
tests/unit/cluster/transactions-on-replica.tclAditSingh102
tests/unit/cluster/update-msg.tclAditSingh102
src/commands/slowlog-help.jsonguybe72
modules/vector-sets/vset_config.clerman252
tests/sentinel/tests/11-port-0.tclWen Hui2
tests/sentinel/tests/includes/sentinel.confWen Hui2
tests/sentinel/tests/helpers/check_leaked_fds.tclYossi Gottlieb2
.gitattributesyoav-steinberg2
deps/lua/src/fpconv.hMatt Stancliff2
codecov.ymlVitah Lin1
src/zset_btree.hSalvatore Sanfilippo1
deps/tre/LICENSESalvatore Sanfilippo1
deps/tre/MakefileSalvatore Sanfilippo1
deps/tre/README.mdSalvatore Sanfilippo1
deps/tre/lib/regcomp.cSalvatore Sanfilippo1
deps/tre/lib/regerror.cSalvatore Sanfilippo1
deps/tre/lib/regexec.cSalvatore Sanfilippo1
deps/tre/lib/tre-ast.cSalvatore Sanfilippo1
deps/tre/lib/tre-ast.hSalvatore Sanfilippo1
deps/tre/lib/tre-compile.cSalvatore Sanfilippo1
deps/tre/lib/tre-compile.hSalvatore Sanfilippo1
deps/tre/lib/tre-filter.cSalvatore Sanfilippo1
deps/tre/lib/tre-filter.hSalvatore Sanfilippo1
deps/tre/lib/tre-internal.hSalvatore Sanfilippo1
deps/tre/lib/tre-match-backtrack.cSalvatore Sanfilippo1
deps/tre/lib/tre-match-parallel.cSalvatore Sanfilippo1
deps/tre/lib/tre-match-utils.hSalvatore Sanfilippo1
deps/tre/lib/tre-mem.cSalvatore Sanfilippo1
deps/tre/lib/tre-mem.hSalvatore Sanfilippo1
deps/tre/lib/tre-parse.cSalvatore Sanfilippo1
deps/tre/lib/tre-parse.hSalvatore Sanfilippo1
deps/tre/lib/tre-stack.cSalvatore Sanfilippo1
deps/tre/lib/tre-stack.hSalvatore Sanfilippo1
deps/tre/lib/xmalloc.hSalvatore Sanfilippo1
deps/tre/local_includes/regex.hSalvatore Sanfilippo1
deps/tre/local_includes/tre-config.hSalvatore Sanfilippo1
deps/tre/local_includes/tre.hSalvatore Sanfilippo1

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
Salvatore Sanfilippo562165803
guybe73934524
yoav-steinberg1322374
Antonio Viggiano6464110
Oran Agra341513
Mincho Paskalev3222116
michael-grunder29162
Yossi Gottlieb285215
Ozan Tezcan2812169
AditSingh10282734
Tal Bar Yakar262560
debing.sun234203
Yuan Wang2310121
Moti Cohen224138
sundb214131
Binbin201318
Meir Shpilraien (Spielrein)160114
Pieter Cailliau140194
Wen Hui135124
Filipe Oliveira (Personal)13570
Vitah Lin11198
hristostaykov-del10851
Itamar Haber93442
Madelyn Olson92160
YaacovHazan9098

Showing top 25 of 860 contributors.

Most shared files

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

FileContributorsPrimary ownerOwner share
src/server.c151Salvatore Sanfilippo29.1%
src/server.h143Salvatore Sanfilippo28.5%
src/redis-cli.c124Salvatore Sanfilippo27.1%
src/module.c109Salvatore Sanfilippo26.4%
redis.conf104Salvatore Sanfilippo42.7%
src/cluster.c101Salvatore Sanfilippo62.0%
src/networking.c96Salvatore Sanfilippo45.0%
src/config.c96Salvatore Sanfilippo39.5%
src/db.c91Salvatore Sanfilippo39.0%
src/rdb.c84Salvatore Sanfilippo40.7%
src/replication.c83Salvatore Sanfilippo48.5%
src/debug.c78Salvatore Sanfilippo36.4%
src/Makefile75Salvatore Sanfilippo38.7%
src/aof.c73Salvatore Sanfilippo41.8%
src/t_stream.c65Salvatore Sanfilippo41.0%
src/object.c65Salvatore Sanfilippo37.5%
src/t_zset.c62Salvatore Sanfilippo34.1%
src/redismodule.h57Salvatore Sanfilippo26.9%
src/sentinel.c55Salvatore Sanfilippo60.3%
src/dict.c53Salvatore Sanfilippo37.0%