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 only one author has ever changed. The more a file has changed, the more knowledge is at risk if that person leaves.
| File | Sole owner | Commits |
|---|---|---|
| test/unittest/core/pipeline/right_mouse_mapping_test_ng.cpp | Leo_Mei | 20 |
| adapter/ohos/entrance/listener/ressched_event_listener.cpp | feng546_ | 20 |
| advanced_ui_component/progressbuttonv2/source/progressbuttonv2.ets | x00484220 | 18 |
| advanced_ui_component_static/assembled_advanced_ui_component/@ohos.arkui.advanced.DatePickerComponent.ets | luoying_ace_admin | 15 |
| advanced_ui_component/datepickercomponent/interfaces/datepickercomponent.js | luoying_ace_admin | 13 |
| advanced_ui_component/datepickercomponent/source/date_picker_component.ets | luoying_ace_admin | 13 |
| examples/StrengthenTest/entry/src/main/ets/pages/Image002Test.ets | junhg | 13 |
| examples/ScrollableComponentTest/entry/src/main/cpp/components/list/List1.h | zcdqs | 13 |
| advanced_ui_component/progressbuttonv2/interfaces/progressbuttonv2.js | x00484220 | 13 |
| frameworks/core/components_ng/pattern/smart_layout/engine/smart_layout_constraints.cpp | ryan5630 | 12 |
| File | Sole owner | Commits |
|---|---|---|
| test/unittest/core/pipeline/right_mouse_mapping_test_ng.cpp | Leo_Mei | 20 |
| adapter/ohos/entrance/listener/ressched_event_listener.cpp | feng546_ | 20 |
| advanced_ui_component/progressbuttonv2/source/progressbuttonv2.ets | x00484220 | 18 |
| advanced_ui_component_static/assembled_advanced_ui_component/@ohos.arkui.advanced.DatePickerComponent.ets | luoying_ace_admin | 15 |
| advanced_ui_component/datepickercomponent/interfaces/datepickercomponent.js | luoying_ace_admin | 13 |
| advanced_ui_component/datepickercomponent/source/date_picker_component.ets | luoying_ace_admin | 13 |
| examples/StrengthenTest/entry/src/main/ets/pages/Image002Test.ets | junhg | 13 |
| examples/ScrollableComponentTest/entry/src/main/cpp/components/list/List1.h | zcdqs | 13 |
| advanced_ui_component/progressbuttonv2/interfaces/progressbuttonv2.js | x00484220 | 13 |
| frameworks/core/components_ng/pattern/smart_layout/engine/smart_layout_constraints.cpp | ryan5630 | 12 |
| frameworks/core/components_ng/pattern/smart_layout/engine/smart_layout_node.cpp | ryan5630 | 10 |
| test/unittest/core/pattern/container_reader/container_reader_test_ng.cpp | song-song-song | 10 |
| test/unittest/frameworks/base/ressched/taihang_optimizer_test.cpp | feng546_ | 10 |
| frameworks/core/common/recorder/event_controller.h | w00891873 | 10 |
| frameworks/core/components_ng/pattern/hyperlink/bridge/arkts_native_hyperlink_bridge.h | wangxiuxiu | 9 |
| frameworks/core/components_ng/pattern/smart_layout/engine/smart_layout_constraints.h | ryan5630 | 9 |
| frameworks/core/components_ng/pattern/canvas/bridge/arkts_native_canvas_bridge.cpp | chendongqi | 9 |
| examples/components/entry/src/ohosTest/ets/test/InformationDisplay/GaugeBootcamp.test.ets | tangbiteng | 9 |
| frameworks/core/components_ng/pattern/scroll/inner/scroll_bar_2d.h | Tianer Zhou | 9 |
| frameworks/core/components_ng/pattern/scroll/inner/scroll_bar_2d_painter.h | Tianer Zhou | 9 |
| test/unittest/core/pattern/grid/irregular/irregular_matrices.h | Tianer Zhou | 9 |
| test/unittest/capi/utils/page_text_capi_test.cpp | l00916518 | 8 |
| test/unittest/core/pattern/overlay/overlay_manager_testfive_ng.cpp | sunziyuan | 8 |
| examples/Menu/entry/src/main/ets/pages/Examples/MenuTestLevel0_10.ets | sunziyuan | 8 |
| frameworks/core/components_ng/pattern/rich_editor/rich_editor_scroll_controller.cpp | zzc19990127 | 8 |
| test/unittest/core/pattern/smart_layout/smart_layout_constraints_test.cpp | ryan5630 | 8 |
| frameworks/core/components_ng/pattern/smart_layout/engine/smart_layout_node.h | ryan5630 | 8 |
| frameworks/core/components_ng/pattern/data_panel/bridge/arkts_native_data_panel_bridge.cpp | chendongqi | 8 |
| docs/kb/components/container/grid.md | jiangdayuan | 8 |
| docs/kb/components/container/navigation.md | jiangdayuan | 8 |
| examples/ScrollableComponentTest/entry/src/main/cpp/components/list/examples/List.cpp | zcdqs | 8 |
| frameworks/core/components_ng/pattern/smart_layout/engine/smart_layout_engine_impl.h | ryan5630 | 7 |
| frameworks/core/components_ng/pattern/smart_layout/engine/smart_layout_engine_interface.h | ryan5630 | 7 |
| frameworks/core/components_ng/pattern/grid_col/bridge/arkts_native_grid_col_bridge.cpp | chendongqi | 7 |
| frameworks/core/components_ng/manager/scroll_placeholder/scroll_placeholder_manager.h | guozejun | 7 |
| test/unittest/core/manager/scroll_placeholder_manager_test_ng.cpp | guozejun | 7 |
| examples/ScrollableComponentTest/entry/src/main/cpp/components/component.cpp | zcdqs | 7 |
| test/unittest/adapter/ohos/entrance/listener/ressched_event_listener_test.cpp | feng546_ | 7 |
| test/unittest/capi/accessors/checkbox_content_modifier_accessor_test.cpp | Nikolay Pisanov | 7 |
| frameworks/core/components_ng/pattern/stage/force_split/parallel_page_pattern.h | zhangdw521 | 6 |
| frameworks/core/components_ng/base/page_text_json.h | l00916518 | 6 |
| examples/Menu/entry/src/main/ets/pages/Examples/BindMenu_IsShow.ets | sunziyuan | 6 |
| frameworks/core/components_ng/pattern/hyperlink/bridge/hyperlink_model_impl.cpp | wangxiuxiu | 6 |
| test/unittest/core/pattern/smart_layout/smart_layout_node_test.cpp | ryan5630 | 6 |
| frameworks/core/components_ng/pattern/gauge/bridge/arkts_native_gauge_bridge.cpp | chendongqi | 6 |
| frameworks/core/components_ng/pattern/blank/bridge/arkts_native_blank_bridge.cpp | chendongqi | 6 |
| docs/kb/components/container/grid-col.md | jiangdayuan | 6 |
| docs/kb/components/container/grid-row.md | jiangdayuan | 6 |
| examples/Select/entry/src/main/resources/base/element/string.json | zhourenfeng | 6 |
| frameworks/core/components_ng/pattern/lazy_waterflow_layout/lazy_water_flow_layout_pattern.h | fuhanfeng | 6 |
| test/unittest/core/pattern/lazy_waterflow_layout/lazy_water_flow_layout_header_footer_test.cpp | fuhanfeng | 6 |
| examples/StrengthenTest/entry/src/main/ets/pages/Layout001Test.ets | junhg | 6 |
| frameworks/core/components_ng/manager/scroll_placeholder/scroll_placeholder_manager.cpp | guozejun | 6 |
| examples/ScrollableComponentTest/entry/src/main/cpp/components/component.h | zcdqs | 6 |
| examples/Layout/entry/src/main/ets/pages/Index.ets | Lichtschein | 6 |
| examples/Layout/entry/src/main/resources/base/profile/main_pages.json | Lichtschein | 6 |
| test/mock/frameworks/base/ressched/mock_taihang_optimizer.cpp | feng546_ | 6 |
| adapter/ohos/entrance/listener/ressched_event_listener.h | feng546_ | 6 |
| frameworks/bridge/declarative_frontend/state_mgmt/src/lib/sdk/observed_util.ts | yuxiaofei9 | 6 |
| test/unittest/capi/modifiers/text_modifier_test2.cpp | Nikolay Pisanov | 6 |
| frameworks/bridge/declarative_frontend/engine/jsi/nativeModule/arkts_native_linear_indicator.h | zhangquanchao | 6 |
| test/unittest/core/pattern/grid/irregular/irregular_matrics.cpp | Tianer Zhou | 6 |
| interfaces/inner_api/ace/ui_event_func.h | w00891873 | 6 |
| frameworks/core/components_ng/pattern/web/touch_event_listener.cpp | ZhaoPengfei | 6 |
| frameworks/core/components_ng/pattern/common_text/counter_host.h | yao_qiaoming1 | 5 |
| frameworks/core/components_ng/pattern/progress/bridge/progress_dynamic_modifier.cpp | tangfei0616 | 5 |
| interfaces/native/ui_json_wrapper.cpp | l00916518 | 5 |
| test/unittest/adapter/ohos/osal/feature_manager/feature_manager_test.cpp | l00916518 | 5 |
| frameworks/core/components_ng/render/adapter/detached_rs_node_manager.cpp | wangchensu | 5 |
| examples/Menu/entry/src/main/ets/pages/Examples/BindContextMenu_LongPress.ets | sunziyuan | 5 |
| examples/Menu/entry/src/main/ets/pages/Examples/BindContextMenu_RightClick.ets | sunziyuan | 5 |
| interfaces/inner_api/drawable_descriptor/drawable_bridge.cpp | liyujie43@huawei.com | 5 |
| frameworks/core/components_ng/pattern/hyperlink/bridge/hyperlink_dynamic_module.h | wangxiuxiu | 5 |
| frameworks/core/components_ng/pattern/smart_layout/engine/smart_layout_context.h | ryan5630 | 5 |
| docs/kb/components/media/image-animator.md | jiangdayuan | 5 |
| docs/kb/components/container/grid-item.md | jiangdayuan | 5 |
| examples/Select/entry/src/main/resources/base/element/color.json | zhourenfeng | 5 |
| examples/ScrollableComponentTest/entry/src/main/ets/pages/waterflow/CAPI/WaterFlowInfiniteScrollingEarly.ets | fuhanfeng | 5 |
| examples/ScrollableComponentTest/entry/src/main/ets/pages/waterflow/bindController/WaterFlowDestroyDeclare.ets | fuhanfeng | 5 |
| examples/ScrollableComponentStatic/entry/src/main/ets/pages/list/ListScroller/ListBindListScroller.ets | fuhanfeng | 5 |
| examples/ScrollableComponentStatic/entry/src/main/ets/pages/list/ListDeclare.ets | fuhanfeng | 5 |
| examples/ScrollableComponentStatic/entry/src/main/ets/pages/scroll/ScrollDeclare.ets | fuhanfeng | 5 |
| frameworks/core/components_ng/pattern/lazy_waterflow_layout/lazy_water_flow_layout_info.h | fuhanfeng | 5 |
| examples/StrengthenTest/build-profile.json5 | junhg | 5 |
| test/unittest/core/pattern/grid/grid_content_clip_test.cpp | tomkl123 | 5 |
| examples/Wearable/entry/src/main/ets/pages/Index.ets | chenzhiz | 5 |
| examples/Wearable/entry/src/main/resources/base/profile/main_pages.json | chenzhiz | 5 |
| examples/ScrollableComponentTest/entry/src/main/cpp/components/waterflow/WaterFlow1.h | zcdqs | 5 |
| examples/ScrollableComponentTest/entry/src/main/cpp/components/refresh/Refresh1.h | zcdqs | 5 |
| advanced_ui_component/composetitlebarv2/interfaces/composetitlebarv2.js | zzuhui | 5 |
| advanced_ui_component/composetitlebarv2/source/composetitlebarv2.ets | zzuhui | 5 |
| advanced_ui_component/editabletitlebarv2/source/editabletitlebarv2.ets | zzuhui | 5 |
| advanced_ui_component/treeviewv2/interfaces/treeviewv2.js | zzuhui | 5 |
| advanced_ui_component/treeviewv2/source/treeviewv2.ets | zzuhui | 5 |
| frameworks/bridge/declarative_frontend/engine/functions/js_navigation_function.cpp | tsj_2020 | 5 |
| test/unittest/capi/modifiers/scrollable_common_method_modifier_test.cpp | Nikolay Pisanov | 5 |
| test/unittest/capi/modifiers/scrollable_common_method_modifier_test_2.cpp | Nikolay Pisanov | 5 |
| test/unittest/capi/modifiers/search_modifier_resources_test.cpp | Nikolay Pisanov | 5 |
| frameworks/bridge/declarative_frontend/ark_component/components/arkradio.js | psl-007 | 5 |
| test/unittest/capi/accessors/sub_tab_bar_style_accessor_test.cpp | maxuchu | 5 |
Primary owner = the author with the most commits to a file. Solely owned = files only that author has touched.
| Author | Files owned | Solely owned | Files touched |
|---|---|---|---|
| wangweiyuan | 2,447 | 2,365 | 3,312 |
| zhanghang | 957 | 527 | 2,199 |
| wangxiuxiu | 893 | 418 | 2,435 |
| liuhui93 | 684 | 649 | 1,015 |
| Demon-QING | 510 | 497 | 716 |
| lushi | 502 | 250 | 2,448 |
| yuanlin94 | 498 | 283 | 1,356 |
| zhanghan | 485 | 63 | 513 |
| Nikolay Pisanov | 452 | 212 | 1,470 |
| xuqinfeng1 | 435 | 129 | 1,019 |
| zenix_zxy | 412 | 272 | 890 |
| zhongjianfei | 391 | 56 | 1,145 |
| guozejun | 347 | 123 | 1,603 |
| hct95 | 328 | 264 | 728 |
| huangxx1995 | 324 | 283 | 546 |
| zhourenfeng | 304 | 197 | 588 |
| royce-ls | 303 | 241 | 873 |
| chenjiafeng-opneharmony | 278 | 223 | 581 |
| zhoulianhai | 271 | 202 | 429 |
| chendongqi | 266 | 187 | 1,102 |
| Lichtschein | 254 | 229 | 441 |
| kangchongtao | 251 | 10 | 2,846 |
| chijunwen | 251 | 221 | 788 |
| jiangdayuan | 243 | 96 | 715 |
| liyujie43@huawei.com | 239 | 131 | 1,011 |
Files touched by the most people — shared code where changes are most likely to need coordination.
| File | Contributors | Primary owner | Owner share |
|---|---|---|---|
| frameworks/core/pipeline_ng/pipeline_context.cpp | 311 | tzcurtain | 3.0% |
| adapter/ohos/entrance/ui_content_impl.cpp | 280 | fangzhiyuan1 | 3.3% |
| frameworks/bridge/declarative_frontend/jsview/js_view_abstract.cpp | 249 | fangzhiyuan1 | 2.6% |
| frameworks/bridge/declarative_frontend/engine/jsEnumStyle.js | 241 | mayaolll | 3.4% |
| frameworks/core/components_ng/base/frame_node.cpp | 240 | Yun-xier | 4.4% |
| frameworks/core/interfaces/arkoala/arkoala_api.h | 235 | wangxiuxiu | 7.1% |
| frameworks/core/components_ng/render/adapter/rosen_render_context.cpp | 235 | hehongyang3 | 7.8% |
| frameworks/core/pipeline_ng/pipeline_context.h | 226 | yan-shuifeng | 3.3% |
| test/unittest/BUILD.gn | 223 | Tianer Zhou | 5.1% |
| adapter/ohos/entrance/ace_container.cpp | 222 | fangzhiyuan1 | 7.0% |
| frameworks/core/components_ng/base/frame_node.h | 198 | yan-shuifeng | 4.2% |
| frameworks/core/components_ng/base/view_abstract.cpp | 189 | hehongyang3 | 4.7% |
| frameworks/core/components_ng/pattern/web/web_pattern.cpp | 186 | tengfan | 6.6% |
| frameworks/core/components_ng/pattern/BUILD.gn | 183 | Tianer Zhou | 5.2% |
| frameworks/bridge/declarative_frontend/engine/jsi/nativeModule/arkts_native_api_impl_bridge.cpp | 182 | Xing Guang | 9.8% |
| frameworks/core/components/web/resource/web_delegate.cpp | 178 | xiongjun_gitee11 | 4.5% |
| frameworks/bridge/declarative_frontend/BUILD.gn | 177 | quguiren | 7.0% |
| frameworks/core/components_ng/pattern/overlay/overlay_manager.cpp | 171 | chenwenchang | 6.1% |
| frameworks/core/BUILD.gn | 168 | sunfei | 7.0% |
| frameworks/core/components_ng/render/adapter/rosen_render_context.h | 164 | hehongyang3 | 7.4% |
How OpenHarmony ArkUI compares with other open source projects from China →
How OpenHarmony ArkUI ranks among open source projects from China by AI-assisted commits →
Generate this report for your own repository with gitstats-action · All Gallery reports
Publishes the report to GitHub Pages on every push to main: turn on Pages for the gh-pages branch.
# .github/workflows/gitstats.yml
name: GitStats Report
on:
push:
branches: [main]
permissions:
contents: write
jobs:
gitstats:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
with:
fetch-depth: 0
- uses: shenxianpeng/gitstats-action@v1
with:
deploy-to-pages: true