microsoft / CMake
File Change Frequency

File change frequency (churn) shows the distribution of file updates (days with at least one commit).

File Change Frequency Overall
File Change Frequency Overall
The number of recorded file updates
  • There are 3,379 files with 691,418 lines of code.
    • 275 files changed more than 100 times (188,822 lines of code)
    • 503 files changed 51-100 times (109,439 lines of code)
    • 761 files changed 21-50 times (208,189 lines of code)
    • 1,113 files changed 6-20 times (135,677 lines of code)
    • 727 files changed 1-5 times (49,291 lines of code)
27% | 15% | 30% | 19% | 7%
Legend:
101+
51-100
21-50
6-20
1-5

Detailed data...

File Change Frequency per File Extension
txt, cmake, rst, c, h, cxx, cpp, in, json, hpp, cu, sh, ui, gitattributes, m, bash, py, f90, f, cs, java, bat, mm, d, i, xml, hxx, swift, yml, l, patch, F, plist, asm, hh, cc, hlsl, y, ps1, md, proto, F90, gitignore, xib, html, wxs, clang-tidy, obj, pl, vim, props, js, targets, S, xaml, s, tcl, inc, fpp, css, editorconfig, tex, pike, rb, C, H, nuspec, m4, p, r, CPP, php4, spec, reg, ME, pas, el, clang-format, csproj, h++, desktop, inl, resx, lua
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
cxx67% | 10% | 13% | 6% | 1%
cmake38% | 27% | 21% | 9% | 2%
h12% | 15% | 23% | 32% | 15%
c1% | 15% | 45% | 27% | 9%
in10% | 21% | 34% | 21% | 12%
el0% | 100% | 0% | 0% | 0%
py0% | 46% | 4% | 48% | 0%
inc0% | 100% | 0% | 0% | 0%
bash0% | 4% | 27% | 29% | 39%
cpp0% | 0% | 66% | 33% | <1%
hxx0% | 0% | 95% | 4% | 0%
l0% | 0% | 60% | 39% | 0%
ui0% | 0% | 30% | 9% | 59%
y0% | 0% | 11% | 88% | 0%
pl0% | 0% | 81% | 18% | 0%
inl0% | 0% | 0% | 100% | 0%
F0% | 0% | 0% | 86% | 13%
html0% | 0% | 0% | 80% | 19%
cu0% | 0% | 0% | 100% | 0%
m0% | 0% | 0% | 100% | 0%
mm0% | 0% | 0% | 100% | 0%
css0% | 0% | 0% | 100% | 0%
S0% | 0% | 0% | 0% | 100%
wxs0% | 0% | 0% | 0% | 100%
F900% | 0% | 0% | 0% | 100%
targets0% | 0% | 0% | 0% | 100%
cc0% | 0% | 0% | 0% | 100%
props0% | 0% | 0% | 0% | 100%
f900% | 0% | 0% | 0% | 100%
f0% | 0% | 0% | 0% | 100%
desktop0% | 0% | 0% | 0% | 100%
ME0% | 0% | 0% | 0% | 100%
File Change Frequency per Logical Decomposition
primary
primary (file change frequency)
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
Source72% | 11% | 10% | 4% | 1%
Modules44% | 31% | 17% | 6% | <1%
Source/kwsys58% | 19% | 16% | 5% | <1%
Source/CTest65% | 23% | 6% | 3% | 1%
Source/CPack57% | 19% | 20% | 2% | 0%
Modules/FindPython100% | 0% | 0% | 0% | 0%
Source/QtDialog43% | 17% | 12% | 9% | 17%
Source/CursesDialog15% | 9% | 37% | 8% | 29%
Modules/Platform13% | 14% | 32% | 25% | 14%
ROOT14% | 80% | 2% | 2% | <1%
Utilities/cmcurl0% | 50% | 37% | 11% | <1%
Modules/Compiler0% | 21% | 36% | 29% | 11%
Utilities/cmlibarchive0% | 1% | 63% | 30% | 5%
Auxiliary0% | 100% | 0% | 0% | 0%
Utilities/Sphinx0% | 53% | 17% | 29% | 0%
Modules/FindCUDA0% | 39% | 49% | 11% | 0%
Modules/FortranCInterface0% | 59% | 0% | 2% | 38%
Templates0% | 79% | 0% | 8% | 12%
Source/Checks0% | 25% | 8% | 43% | 22%
Utilities/Scripts0% | 5% | 58% | 24% | 11%
Utilities/cmlibuv0% | 0% | 75% | 19% | 4%
Source/LexerParser0% | 0% | 53% | 42% | 3%
Utilities/cmexpat0% | 0% | 92% | 7% | 0%
Modules/Internal0% | 0% | 71% | 9% | 18%
Utilities/cmjsoncpp0% | 0% | 51% | 47% | <1%
Auxiliary/vim0% | 0% | 100% | 0% | 0%
Modules/CompilerId0% | 0% | 44% | 28% | 26%
Utilities0% | 0% | 5% | 94% | 0%
Utilities/cmzstd0% | 0% | 0% | 98% | 1%
Utilities/cmliblzma0% | 0% | 0% | 76% | 23%
Utilities/cmbzip20% | 0% | 0% | 100% | 0%
Utilities/cmlibrhash0% | 0% | 0% | 100% | 0%
Utilities/KWIML0% | 0% | 0% | 99% | <1%
Utilities/std0% | 0% | 0% | 100% | 0%
Utilities/cmzlib0% | 0% | 0% | 7% | 92%
Help/guide0% | 0% | 0% | 40% | 59%
Source/Modules0% | 0% | 0% | 50% | 49%
Utilities/Release0% | 0% | 0% | 25% | 74%
Modules/AndroidTestUtilities0% | 0% | 0% | 100% | 0%
Utilities/cm3p0% | 0% | 0% | 100% | 0%
Modules/UseJava0% | 0% | 0% | 85% | 14%
Packaging/QtSDK0% | 0% | 0% | 100% | 0%
Utilities/Doxygen0% | 0% | 0% | 100% | 0%
Source/QtIFW0% | 0% | 0% | 38% | 61%
Modules/UseSWIG0% | 0% | 0% | 100% | 0%
Modules/FetchContent0% | 0% | 0% | 100% | 0%
Modules/FindMPI0% | 0% | 0% | 46% | 53%
Utilities/cmnghttp20% | 0% | 0% | <1% | 99%
Utilities/cmelf0% | 0% | 0% | 0% | 100%
Utilities/cmvssetup0% | 0% | 0% | 0% | 100%
Templates/MSBuild0% | 0% | 0% | 0% | 100%
Modules/CheckIPOSupported0% | 0% | 0% | 0% | 100%
VSInsertion/Signing0% | 0% | 0% | 0% | 100%
Modules/CMakeAddFortranSubdirectory0% | 0% | 0% | 0% | 100%
Modules/IntelVSImplicitPath0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 20)

See data for all files...

File# lines# unitslast modified
(days ago)
created
(days ago)
# changes
cmake
CMakeVersion.cmake
in Source
32 - 21 3573 3462
cxx
cmMakefile.cxx
in Source
3656 154 21 7825 1299
cxx
cmTarget.cxx
in Source
1881 77 21 7587 1083
cxx
cmake.cxx
in Source
3055 91 21 7563 1078
cxx
cmLocalGenerator.cxx
in Source
3647 115 21 7094 1067
cxx
cmVersion.cxx
in Source
22 4 1851 6310 1021
cxx
cmGlobalGenerator.cxx
in Source
2679 118 21 7094 983
cxx
cmGlobalXCodeGenerator.cxx
in Source
4068 102 21 6216 927
cxx
cmVisualStudio10TargetGenerator.cxx
in Source
4417 115 21 4603 860
cxx
cmSystemTools.cxx
in Source
2807 113 21 7825 796
cmMakefile.h
in Source
623 16 21 7825 745
cxx
cmLocalVisualStudio7Generator.cxx
in Source
1839 41 21 7089 726
cxx
cmGeneratorTarget.cxx
in Source
6513 253 21 3617 697
cxx
cmCTest.cxx
in Source
3203 123 21 6985 691
cxx
cmMakefileTargetGenerator.cxx
in Source
1796 36 21 5830 667
cxx
cmLocalUnixMakefileGenerator3.cxx
in Source
1697 45 21 6115 632
cxx
cmFileCommand.cxx
in Source
3247 59 21 6783 561
cmGlobalGenerator.h
in Source
465 37 21 7094 560
cxx
cmNinjaTargetGenerator.cxx
in Source
1451 41 21 3734 540
cmTarget.h
in Source
169 1 21 7600 518