facebook / watchman
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 414 files with 53,077 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 4 files changed 51-100 times (2,859 lines of code)
    • 4 files changed 21-50 times (2,425 lines of code)
    • 149 files changed 6-20 times (26,336 lines of code)
    • 257 files changed 1-5 times (21,457 lines of code)
0% | 5% | 4% | 49% | 40%
Legend:
101+
51-100
21-50
6-20
1-5
explore: zoomable circles | data
File Change Frequency per File Extension
cpp, py, h, html, markdown, md, java, rs, cmake, txt, yml, js, sh, gitignore, scss, thrift, json, c, rb, toml, css, xml, in, gitattributes, ini, el, clang-format, gemspec, cmd, clang-tidy
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
py0% | 22% | 11% | 39% | 26%
thrift0% | 81% | 0% | 14% | 4%
cpp0% | 0% | 4% | 66% | 28%
h0% | 0% | 5% | 44% | 50%
rs0% | 0% | 0% | 42% | 57%
css0% | 0% | 0% | 100% | 0%
cmake0% | 0% | 0% | 39% | 60%
scss0% | 0% | 0% | 77% | 22%
html0% | 0% | 0% | 14% | 85%
yml0% | 0% | 0% | 95% | 4%
c0% | 0% | 0% | 4% | 95%
toml0% | 0% | 0% | 42% | 57%
java0% | 0% | 0% | 0% | 100%
js0% | 0% | 0% | 0% | 100%
rb0% | 0% | 0% | 0% | 100%
xml0% | 0% | 0% | 0% | 100%
gemspec0% | 0% | 0% | 0% | 100%
in0% | 0% | 0% | 0% | 100%
cmd0% | 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
build/fbcode_builder0% | 25% | 12% | 31% | 30%
eden/fs0% | 81% | 0% | 14% | 4%
watchman/watcher0% | 0% | 30% | 69% | <1%
watchman0% | 0% | 1% | 57% | 40%
watchman/query0% | 0% | 0% | 85% | 14%
watchman/root0% | 0% | 0% | 94% | 5%
watchman/cmds0% | 0% | 0% | 100% | 0%
watchman/rust0% | 0% | 0% | 37% | 62%
watchman/python0% | 0% | 0% | 54% | 45%
website/_sass0% | 0% | 0% | 80% | 19%
website/src0% | 0% | 0% | 100% | 0%
watchman/scm0% | 0% | 0% | 94% | 5%
watchman/cppclient0% | 0% | 0% | 80% | 19%
watchman/cli0% | 0% | 0% | 87% | 12%
watchman/winbuild0% | 0% | 0% | 24% | 75%
watchman/saved_state0% | 0% | 0% | 78% | 21%
website/_includes0% | 0% | 0% | 16% | 83%
website/_data0% | 0% | 0% | 92% | 7%
website/static0% | 0% | 0% | 100% | 0%
website0% | 0% | 0% | 64% | 35%
watchman/fs0% | 0% | 0% | 0% | 100%
watchman/java0% | 0% | 0% | 0% | 100%
watchman/integration0% | 0% | 0% | 0% | 100%
watchman/ruby0% | 0% | 0% | 0% | 100%
watchman/node0% | 0% | 0% | 0% | 100%
website/_layouts0% | 0% | 0% | 0% | 100%
watchman/build0% | 0% | 0% | 0% | 100%
website/css0% | 0% | 0% | 0% | 100%
website/blog0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitslast modified
(days ago)
created
(days ago)
# changes# contributors
builder.py
in build/fbcode_builder/getdeps
822 48 35 1077 90 23
eden.thrift
in eden/fs/service
610 - 38 1178 76 18
getdeps.py
in build/fbcode_builder
993 41 32 1077 61 20
buildopts.py
in build/fbcode_builder/getdeps
434 20 56 1077 52 19
manifest.py
in build/fbcode_builder/getdeps
548 29 32 1077 43 18
fetcher.py
in build/fbcode_builder/getdeps
550 59 32 1077 27 12
eden.cpp
in watchman/watcher
1069 62 46 295 25 7
InMemoryView.h
in watchman
258 4 24 295 24 3
streamingeden.thrift
in eden/fs/service
61 - 66 1178 19 9
load.py
in build/fbcode_builder/getdeps
228 28 59 1077 19 10
fsevents.cpp
in watchman/watcher
641 19 24 295 19 4
InMemoryView.cpp
in watchman
887 43 46 295 19 3
platform.py
in build/fbcode_builder/getdeps
187 17 59 1077 18 11
subscribe.cpp
in watchman/cmds
492 11 17 295 18 3
iothread.cpp
in watchman/root
579 13 44 295 18 3
main.cpp
in watchman
816 21 15 295 18 5
trigger.cpp
in watchman/cmds
143 4 17 295 16 4
watch.cpp
in watchman/cmds
251 11 17 295 16 3
dyndeps.py
in build/fbcode_builder/getdeps
309 34 29 1016 16 6
QueryableView.h
in watchman
45 4 100 295 15 3
fieldlist.cpp
in watchman/query
300 11 46 295 15 3
eval.cpp
in watchman/query
316 6 46 295 15 3
inotify.cpp
in watchman/watcher
396 11 44 295 15 3
sync.cpp
in watchman/root
37 2 100 295 14 3
runcmd.py
in build/fbcode_builder/getdeps
106 5 56 1077 14 8
kqueue_and_fsevents.cpp
in watchman/watcher
268 16 24 295 14 3
parse.cpp
in watchman/query
356 19 100 295 14 4
state.cpp
in watchman/cmds
148 3 17 295 13 3
state.cpp
in watchman
190 7 17 295 13 3
resolve.cpp
in watchman/root
230 5 100 295 13 3
init.cpp
in watchman/root
232 9 100 295 13 3
kqueue.cpp
in watchman/watcher
268 6 100 295 13 3
fbcode_builder.py
in build/fbcode_builder
391 36 80 1333 13 11
listener.cpp
in watchman
444 10 17 295 13 3
watchman_cmd.h
in watchman
35 - 17 295 12 3
envfuncs.py
in build/fbcode_builder/getdeps
110 21 55 1077 12 7
glob.cpp
in watchman/query
158 4 100 295 12 3
watchlist.cpp
in watchman/root
274 8 100 295 12 4
win32.cpp
in watchman/watcher
305 6 44 295 12 4
query.cpp
in watchman/cmds
37 1 24 295 11 3
since.cpp
in watchman/cmds
40 1 24 295 11 3
copytree.py
in build/fbcode_builder/getdeps
42 4 59 1077 11 5
Watcher.h
in watchman/watcher
50 4 100 293 11 2
threading.cpp
in watchman/root
58 5 100 295 11 3
CookieSync.cpp
in watchman
199 13 100 295 11 3
lib.rs
in watchman/rust/watchman_client/src
799 10 63 295 11 7
find.cpp
in watchman/cmds
30 1 24 295 10 3
notifythread.cpp
in watchman/root
39 1 100 295 10 3
CookieSync.h
in watchman
47 - 100 295 10 3
nav_docs.yml
in website/_data
74 - 294 2435 10 5
Files With Most Contributors (Top 50)
Files sorted by the number of unique email addresses found in commits.

See data for all files...

File# lines# unitslast modified
(days ago)
created
(days ago)
# changes# contributors
builder.py
in build/fbcode_builder/getdeps
822 48 35 1077 90 23
eden.thrift
in eden/fs/service
610 - 38 1178 76 18
getdeps.py
in build/fbcode_builder
993 41 32 1077 61 20
buildopts.py
in build/fbcode_builder/getdeps
434 20 56 1077 52 19
manifest.py
in build/fbcode_builder/getdeps
548 29 32 1077 43 18
fetcher.py
in build/fbcode_builder/getdeps
550 59 32 1077 27 12
eden.cpp
in watchman/watcher
1069 62 46 295 25 7
InMemoryView.h
in watchman
258 4 24 295 24 3
InMemoryView.cpp
in watchman
887 43 46 295 19 3
fsevents.cpp
in watchman/watcher
641 19 24 295 19 4
streamingeden.thrift
in eden/fs/service
61 - 66 1178 19 9
load.py
in build/fbcode_builder/getdeps
228 28 59 1077 19 10
iothread.cpp
in watchman/root
579 13 44 295 18 3
subscribe.cpp
in watchman/cmds
492 11 17 295 18 3
main.cpp
in watchman
816 21 15 295 18 5
platform.py
in build/fbcode_builder/getdeps
187 17 59 1077 18 11
watch.cpp
in watchman/cmds
251 11 17 295 16 3
trigger.cpp
in watchman/cmds
143 4 17 295 16 4
dyndeps.py
in build/fbcode_builder/getdeps
309 34 29 1016 16 6
QueryableView.h
in watchman
45 4 100 295 15 3
eval.cpp
in watchman/query
316 6 46 295 15 3
fieldlist.cpp
in watchman/query
300 11 46 295 15 3
inotify.cpp
in watchman/watcher
396 11 44 295 15 3
sync.cpp
in watchman/root
37 2 100 295 14 3
kqueue_and_fsevents.cpp
in watchman/watcher
268 16 24 295 14 3
parse.cpp
in watchman/query
356 19 100 295 14 4
runcmd.py
in build/fbcode_builder/getdeps
106 5 56 1077 14 8
init.cpp
in watchman/root
232 9 100 295 13 3
resolve.cpp
in watchman/root
230 5 100 295 13 3
listener.cpp
in watchman
444 10 17 295 13 3
state.cpp
in watchman/cmds
148 3 17 295 13 3
state.cpp
in watchman
190 7 17 295 13 3
kqueue.cpp
in watchman/watcher
268 6 100 295 13 3
fbcode_builder.py
in build/fbcode_builder
391 36 80 1333 13 11
glob.cpp
in watchman/query
158 4 100 295 12 3
watchman_cmd.h
in watchman
35 - 17 295 12 3
watchlist.cpp
in watchman/root
274 8 100 295 12 4
win32.cpp
in watchman/watcher
305 6 44 295 12 4
envfuncs.py
in build/fbcode_builder/getdeps
110 21 55 1077 12 7
Watcher.h
in watchman/watcher
50 4 100 293 11 2
CookieSync.cpp
in watchman
199 13 100 295 11 3
threading.cpp
in watchman/root
58 5 100 295 11 3
since.cpp
in watchman/cmds
40 1 24 295 11 3
query.cpp
in watchman/cmds
37 1 24 295 11 3
copytree.py
in build/fbcode_builder/getdeps
42 4 59 1077 11 5
lib.rs
in watchman/rust/watchman_client/src
799 10 63 295 11 7
411 8 17 213 10 2
CookieSync.h
in watchman
47 - 100 295 10 3
type.cpp
in watchman/query
85 3 100 295 10 3
since.cpp
in watchman/query
128 3 46 295 10 3
Correlations

File Size vs. Number of Changes: 414 points

watchman/main.cpp x: 816 lines of code y: 18 # changes watchman/rust/serde_bser/src/bytestring.rs x: 126 lines of code y: 7 # changes watchman/CommandRegistry.cpp x: 65 lines of code y: 6 # changes watchman/CommandRegistry.h x: 45 lines of code y: 8 # changes watchman/Options.cpp x: 387 lines of code y: 6 # changes watchman/Options.h x: 48 lines of code y: 5 # changes watchman/listener.cpp x: 444 lines of code y: 13 # changes watchman/cmds/reg.cpp x: 89 lines of code y: 9 # changes watchman/PerfSample.h x: 38 lines of code y: 5 # changes watchman/Client.cpp x: 270 lines of code y: 2 # changes watchman/Client.h x: 130 lines of code y: 2 # changes watchman/cmds/debug.cpp x: 274 lines of code y: 10 # changes watchman/cmds/state.cpp x: 148 lines of code y: 13 # changes watchman/cmds/subscribe.cpp x: 492 lines of code y: 18 # changes watchman/cmds/trigger.cpp x: 143 lines of code y: 16 # changes watchman/Command.cpp x: 31 lines of code y: 1 # changes watchman/Command.h x: 27 lines of code y: 1 # changes watchman/cmds/watch.cpp x: 251 lines of code y: 16 # changes watchman/watchman_cmd.h x: 35 lines of code y: 12 # changes watchman/clientmode.cpp x: 16 lines of code y: 7 # changes watchman/listener-user.cpp x: 83 lines of code y: 10 # changes watchman/PDU.cpp x: 504 lines of code y: 4 # changes watchman/PDU.h x: 62 lines of code y: 3 # changes watchman/SanityCheck.cpp x: 153 lines of code y: 5 # changes watchman/TriggerCommand.cpp x: 411 lines of code y: 10 # changes watchman/state.cpp x: 190 lines of code y: 13 # changes watchman/Shutdown.h x: 9 lines of code y: 4 # changes watchman/TriggerCommand.h x: 46 lines of code y: 5 # changes watchman/stream.cpp x: 67 lines of code y: 7 # changes watchman/stream_unix.cpp x: 369 lines of code y: 9 # changes watchman/stream_win.cpp x: 614 lines of code y: 7 # changes watchman/watchman_stream.h x: 54 lines of code y: 7 # changes watchman/cmds/find.cpp x: 30 lines of code y: 10 # changes watchman/cmds/info.cpp x: 117 lines of code y: 8 # changes watchman/cmds/log.cpp x: 80 lines of code y: 6 # changes watchman/cmds/query.cpp x: 37 lines of code y: 11 # changes watchman/cmds/since.cpp x: 40 lines of code y: 11 # changes watchman/watcher/fsevents.cpp x: 641 lines of code y: 19 # changes watchman/watcher/kqueue_and_fsevents.cpp x: 268 lines of code y: 14 # changes watchman/cmds/heapprof.cpp x: 22 lines of code y: 7 # changes watchman/rust/watchman_client/Cargo.toml x: 24 lines of code y: 7 # changes watchman/InMemoryView.h x: 258 lines of code y: 24 # changes watchman/watcher/fsevents.h x: 75 lines of code y: 10 # changes watchman/stream_stdout.cpp x: 61 lines of code y: 6 # changes build/fbcode_builder/getdeps/dyndeps.py x: 309 lines of code y: 16 # changes build/fbcode_builder/getdeps.py x: 993 lines of code y: 61 # changes build/fbcode_builder/getdeps/manifest.py x: 548 lines of code y: 43 # changes build/fbcode_builder/getdeps/fetcher.py x: 550 lines of code y: 27 # changes watchman/integration/lib/Interrupt.py x: 10 lines of code y: 2 # changes watchman/integration/lib/TempDir.py x: 60 lines of code y: 3 # changes watchman/integration/lib/WatchmanInstance.py x: 189 lines of code y: 3 # changes watchman/integration/lib/WatchmanSCMTestCase.py x: 67 lines of code y: 3 # changes watchman/integration/lib/WatchmanTestCase.py x: 367 lines of code y: 3 # changes watchman/integration/lib/__init__.py x: 6 lines of code y: 1 # changes watchman/integration/lib/node.py x: 18 lines of code y: 2 # changes watchman/python/pywatchman/__init__.py x: 785 lines of code y: 9 # changes watchman/python/pywatchman/capabilities.py x: 35 lines of code y: 6 # changes watchman/python/pywatchman/encoding.py x: 10 lines of code y: 7 # changes watchman/python/pywatchman/pybser.py x: 407 lines of code y: 7 # changes build/fbcode_builder/getdeps/builder.py x: 822 lines of code y: 90 # changes eden/fs/service/eden.thrift x: 610 lines of code y: 76 # changes website/_sass/_base.scss x: 814 lines of code y: 8 # changes website/_includes/footer.html x: 32 lines of code y: 6 # changes website/_layouts/home.html x: 25 lines of code y: 5 # changes eden/fs/takeover/takeover.thrift x: 47 lines of code y: 8 # changes watchman/root/iothread.cpp x: 579 lines of code y: 18 # changes watchman/watcher/inotify.cpp x: 396 lines of code y: 15 # changes watchman/watcher/win32.cpp x: 305 lines of code y: 12 # changes watchman/watchman_string.h x: 367 lines of code y: 8 # changes watchman/Clock.cpp x: 200 lines of code y: 7 # changes watchman/Clock.h x: 82 lines of code y: 7 # changes watchman/InMemoryView.cpp x: 887 lines of code y: 19 # changes watchman/query/eval.cpp x: 316 lines of code y: 15 # changes watchman/query/fieldlist.cpp x: 300 lines of code y: 15 # changes watchman/query/since.cpp x: 128 lines of code y: 10 # changes watchman/watcher/eden.cpp x: 1069 lines of code y: 25 # changes watchman/SymlinkTargets.h x: 42 lines of code y: 6 # changes watchman/query/LocalFileResult.cpp x: 113 lines of code y: 4 # changes watchman/watchman_file.h x: 27 lines of code y: 7 # changes watchman/integration/lib/WatchmanEdenTestCase.py x: 81 lines of code y: 2 # changes watchman/python/pywatchman/windows.py x: 236 lines of code y: 7 # changes watchman/integration/lib/path_utils.py x: 62 lines of code y: 2 # changes watchman/integration/cat.py x: 10 lines of code y: 4 # changes watchman/integration/site_spawn.py x: 7 lines of code y: 4 # changes watchman/integration/site_spawn_fail.py x: 4 lines of code y: 4 # changes watchman/integration/touch.py x: 12 lines of code y: 4 # changes watchman/python/pywatchman_aio/__init__.py x: 218 lines of code y: 5 # changes watchman/runtests.py x: 453 lines of code y: 7 # changes build/fbcode_builder/getdeps/envfuncs.py x: 110 lines of code y: 12 # changes watchman/build/facebook_fbcode_builder_config.py x: 8 lines of code y: 5 # changes watchman/build/fbcode_builder_config.py x: 41 lines of code y: 5 # changes watchman/python/setup.py x: 53 lines of code y: 5 # changes build/fbcode_builder/getdeps/buildopts.py x: 434 lines of code y: 52 # changes build/fbcode_builder/getdeps/cargo.py x: 295 lines of code y: 5 # changes build/fbcode_builder/getdeps/py_wheel_builder.py x: 146 lines of code y: 9 # changes build/fbcode_builder/getdeps/runcmd.py x: 106 lines of code y: 14 # changes build/fbcode_builder/shell_quoting.py x: 48 lines of code y: 6 # changes build/fbcode_builder/CMake/RustStaticLibrary.cmake x: 267 lines of code y: 3 # changes build/fbcode_builder/getdeps/cache.py x: 7 lines of code y: 6 # changes build/fbcode_builder/getdeps/copytree.py x: 42 lines of code y: 11 # changes build/fbcode_builder/getdeps/errors.py x: 5 lines of code y: 7 # changes build/fbcode_builder/getdeps/expr.py x: 120 lines of code y: 8 # changes build/fbcode_builder/getdeps/load.py x: 228 lines of code y: 19 # changes build/fbcode_builder/getdeps/platform.py x: 187 lines of code y: 18 # changes build/fbcode_builder/getdeps/subcmd.py x: 24 lines of code y: 6 # changes watchman/rust/watchman_client/src/lib.rs x: 799 lines of code y: 11 # changes watchman/fs/FileSystem.cpp x: 284 lines of code y: 5 # changes eden/fs/service/streamingeden.thrift x: 61 lines of code y: 19 # changes watchman/OptionSet.h x: 113 lines of code y: 3 # changes build/fbcode_builder/CMake/fb_py_test_main.py x: 566 lines of code y: 4 # changes build/fbcode_builder/docker_builder.py x: 111 lines of code y: 7 # changes build/fbcode_builder/fbcode_builder.py x: 391 lines of code y: 13 # changes build/fbcode_builder/make_docker_context.py x: 132 lines of code y: 5 # changes build/fbcode_builder/parse_args.py x: 54 lines of code y: 4 # changes build/fbcode_builder/shell_builder.py x: 73 lines of code y: 9 # changes watchman/rust/watchman_client/src/pdu.rs x: 467 lines of code y: 10 # changes watchman/ChildProcess.cpp x: 536 lines of code y: 5 # changes watchman/ChildProcess.h x: 98 lines of code y: 6 # changes watchman/ContentHash.cpp x: 138 lines of code y: 6 # changes watchman/ContentHash.h x: 43 lines of code y: 5 # changes watchman/Cookie.h x: 9 lines of code y: 6 # changes watchman/CookieSync.cpp x: 199 lines of code y: 11 # changes watchman/CookieSync.h x: 47 lines of code y: 10 # changes watchman/Errors.cpp x: 110 lines of code y: 4 # changes watchman/Errors.h x: 83 lines of code y: 5 # changes watchman/FlagMap.cpp x: 28 lines of code y: 4 # changes watchman/GroupLookup.cpp x: 29 lines of code y: 3 # changes watchman/GroupLookup.h x: 5 lines of code y: 3 # changes watchman/IgnoreSet.cpp x: 57 lines of code y: 2 # changes watchman/IgnoreSet.h x: 21 lines of code y: 2 # changes watchman/LRUCache.h x: 343 lines of code y: 4 # changes watchman/LogConfig.cpp x: 6 lines of code y: 5 # changes watchman/Logging.cpp x: 205 lines of code y: 5 # changes watchman/Logging.h x: 107 lines of code y: 7 # changes watchman/MapUtil.h x: 38 lines of code y: 4 # changes watchman/PendingCollection.cpp x: 239 lines of code y: 10 # changes watchman/PendingCollection.h x: 97 lines of code y: 8 # changes watchman/PerfSample.cpp x: 275 lines of code y: 7 # changes watchman/Poison.cpp x: 33 lines of code y: 5 # changes watchman/Poison.h x: 13 lines of code y: 5 # changes watchman/ProcessLock.cpp x: 93 lines of code y: 4 # changes watchman/PubSub.cpp x: 152 lines of code y: 5 # changes watchman/PubSub.h x: 63 lines of code y: 4 # changes watchman/QueryableView.cpp x: 29 lines of code y: 9 # changes watchman/QueryableView.h x: 45 lines of code y: 15 # changes watchman/Result.h x: 206 lines of code y: 4 # changes watchman/RingBuffer.h x: 35 lines of code y: 4 # changes watchman/Shutdown.cpp x: 20 lines of code y: 3 # changes watchman/SignalHandler.cpp x: 175 lines of code y: 5 # changes watchman/SymlinkTargets.cpp x: 45 lines of code y: 6 # changes watchman/ThreadPool.cpp x: 67 lines of code y: 4 # changes watchman/ThreadPool.h x: 27 lines of code y: 4 # changes watchman/UserDir.cpp x: 123 lines of code y: 3 # changes watchman/UserDir.h x: 7 lines of code y: 2 # changes watchman/WatchmanConfig.cpp x: 397 lines of code y: 5 # changes watchman/WatchmanConfig.h x: 32 lines of code y: 4 # changes watchman/bser.cpp x: 601 lines of code y: 5 # changes watchman/cli/src/audit.rs x: 346 lines of code y: 9 # changes watchman/cppclient/WatchmanClient.cpp x: 180 lines of code y: 6 # changes watchman/cppclient/WatchmanClient.h x: 109 lines of code y: 6 # changes watchman/cppclient/WatchmanConnection.cpp x: 303 lines of code y: 7 # changes watchman/cppclient/WatchmanConnection.h x: 86 lines of code y: 5 # changes watchman/fs/DirHandle.h x: 19 lines of code y: 3 # changes watchman/fs/FSDetect.cpp x: 158 lines of code y: 3 # changes watchman/fs/FSDetect.h x: 14 lines of code y: 2 # changes watchman/fs/FileDescriptor.cpp x: 482 lines of code y: 2 # changes watchman/fs/FileDescriptor.h x: 116 lines of code y: 2 # changes watchman/fs/FileInformation.cpp x: 84 lines of code y: 2 # changes watchman/fs/FileInformation.h x: 88 lines of code y: 2 # changes watchman/fs/FileSystem.h x: 30 lines of code y: 4 # changes watchman/fs/Pipe.cpp x: 72 lines of code y: 2 # changes watchman/fs/Pipe.h x: 16 lines of code y: 2 # changes watchman/fs/UnixDirHandle.cpp x: 317 lines of code y: 2 # changes watchman/fs/WinDirHandle.cpp x: 146 lines of code y: 2 # changes watchman/hash.cpp x: 293 lines of code y: 5 # changes watchman/integration/capabilities.js x: 39 lines of code y: 2 # changes watchman/integration/case.js x: 31 lines of code y: 2 # changes watchman/integration/cppclient.cpp x: 167 lines of code y: 3 # changes watchman/java/src/com/facebook/watchman/CapabilitiesStrategy.java x: 24 lines of code y: 4 # changes watchman/java/src/com/facebook/watchman/WatchmanClientImpl.java x: 212 lines of code y: 4 # changes watchman/java/src/com/facebook/watchman/WatchmanConnection.java x: 257 lines of code y: 4 # changes watchman/java/src/com/facebook/watchman/WatchmanException.java x: 20 lines of code y: 4 # changes watchman/java/src/com/facebook/watchman/WatchmanTransportBuilder.java x: 123 lines of code y: 4 # changes watchman/java/src/com/facebook/watchman/bser/BserConstants.java x: 17 lines of code y: 4 # changes watchman/java/src/com/facebook/watchman/bser/BserSerializer.java x: 192 lines of code y: 4 # changes watchman/java/src/com/facebook/watchman/environment/ExecutableFinder.java x: 129 lines of code y: 4 # changes watchman/java/src/com/facebook/watchman/environment/FileFinder.java x: 88 lines of code y: 4 # changes watchman/java/src/com/facebook/watchman/unixsocket/ReferenceCountedFileDescriptor.java x: 45 lines of code y: 2 # changes watchman/java/src/com/facebook/watchman/unixsocket/UnixDomainSocket.java x: 149 lines of code y: 2 # changes watchman/java/src/com/facebook/watchman/unixsocket/UnixDomainSocketLibrary.java x: 91 lines of code y: 2 # changes watchman/java/src/com/facebook/watchman/windowspipe/WindowsNamedPipe.java x: 115 lines of code y: 4 # changes watchman/launchd.cpp x: 46 lines of code y: 7 # changes watchman/node/bser/index.js x: 522 lines of code y: 4 # changes watchman/node/example.js x: 79 lines of code y: 4 # changes watchman/node/index.js x: 245 lines of code y: 4 # changes watchman/python/pywatchman/bser.c x: 986 lines of code y: 3 # changes watchman/query/FileResult.cpp x: 11 lines of code y: 3 # changes watchman/query/GlobTree.cpp x: 33 lines of code y: 2 # changes watchman/query/QueryContext.cpp x: 135 lines of code y: 9 # changes watchman/query/QueryContext.h x: 74 lines of code y: 7 # changes watchman/query/QueryResult.cpp x: 12 lines of code y: 2 # changes watchman/query/TermRegistry.cpp x: 53 lines of code y: 3 # changes watchman/query/TermRegistry.h x: 40 lines of code y: 3 # changes watchman/query/base.cpp x: 116 lines of code y: 9 # changes watchman/query/dirname.cpp x: 98 lines of code y: 9 # changes watchman/query/empty.cpp x: 45 lines of code y: 9 # changes watchman/query/eval.h x: 28 lines of code y: 3 # changes watchman/query/glob.cpp x: 158 lines of code y: 12 # changes watchman/query/intcompare.cpp x: 92 lines of code y: 9 # changes watchman/query/match.cpp x: 128 lines of code y: 9 # changes watchman/query/name.cpp x: 123 lines of code y: 9 # changes watchman/query/parse.cpp x: 356 lines of code y: 14 # changes watchman/query/parse.h x: 27 lines of code y: 6 # changes watchman/query/pcre.cpp x: 112 lines of code y: 10 # changes watchman/query/type.cpp x: 85 lines of code y: 10 # changes watchman/root/Root.h x: 126 lines of code y: 8 # changes watchman/root/dir.cpp x: 55 lines of code y: 5 # changes watchman/root/init.cpp x: 232 lines of code y: 13 # changes watchman/root/notifythread.cpp x: 39 lines of code y: 10 # changes watchman/root/reap.cpp x: 26 lines of code y: 8 # changes watchman/root/resolve.cpp x: 230 lines of code y: 13 # changes watchman/root/sync.cpp x: 37 lines of code y: 14 # changes watchman/root/threading.cpp x: 58 lines of code y: 11 # changes watchman/root/warnerr.cpp x: 58 lines of code y: 8 # changes watchman/root/watchlist.cpp x: 274 lines of code y: 12 # changes watchman/ruby/ruby-watchman/ext/ruby-watchman/extconf.rb x: 15 lines of code y: 3 # changes watchman/ruby/ruby-watchman/ext/ruby-watchman/watchman.c x: 453 lines of code y: 3 # changes watchman/ruby/ruby-watchman/lib/ruby-watchman.rb x: 1 lines of code y: 3 # changes watchman/ruby/ruby-watchman/lib/ruby-watchman/version.rb x: 3 lines of code y: 3 # changes watchman/ruby/ruby-watchman/ruby-watchman.gemspec x: 27 lines of code y: 3 # changes watchman/ruby/ruby-watchman/spec/ruby_watchman_spec.rb x: 342 lines of code y: 3 # changes watchman/rust/serde_bser/src/de/bunser.rs x: 141 lines of code y: 5 # changes watchman/rust/serde_bser/src/de/map.rs x: 113 lines of code y: 5 # changes watchman/rust/serde_bser/src/de/mod.rs x: 247 lines of code y: 5 # changes watchman/rust/serde_bser/src/de/read.rs x: 231 lines of code y: 5 # changes watchman/rust/serde_bser/src/de/reentrant.rs x: 28 lines of code y: 5 # changes watchman/rust/serde_bser/src/de/template.rs x: 210 lines of code y: 5 # changes watchman/rust/serde_bser/src/de/test.rs x: 428 lines of code y: 4 # changes watchman/rust/serde_bser/src/errors.rs x: 32 lines of code y: 5 # changes watchman/rust/serde_bser/src/header.rs x: 44 lines of code y: 4 # changes watchman/rust/serde_bser/src/lib.rs x: 15 lines of code y: 5 # changes watchman/rust/serde_bser/src/ser/mod.rs x: 386 lines of code y: 5 # changes watchman/rust/serde_bser/src/value.rs x: 154 lines of code y: 6 # changes watchman/rust/watchman_client/src/fields.rs x: 286 lines of code y: 4 # changes watchman/saved_state/LocalSavedStateInterface.cpp x: 74 lines of code y: 8 # changes watchman/saved_state/SavedStateFactory.cpp x: 30 lines of code y: 5 # changes watchman/saved_state/SavedStateFactory.h x: 15 lines of code y: 6 # changes watchman/saved_state/SavedStateInterface.h x: 29 lines of code y: 7 # changes watchman/scm/Git.cpp x: 247 lines of code y: 7 # changes watchman/scm/Git.h x: 45 lines of code y: 4 # changes watchman/scm/Mercurial.cpp x: 322 lines of code y: 10 # changes watchman/scm/Mercurial.h x: 49 lines of code y: 6 # changes watchman/scm/SCM.h x: 54 lines of code y: 6 # changes watchman/sockname.cpp x: 19 lines of code y: 6 # changes watchman/string.cpp x: 521 lines of code y: 6 # changes watchman/watcher/Watcher.cpp x: 11 lines of code y: 5 # changes watchman/watcher/Watcher.h x: 50 lines of code y: 11 # changes watchman/watcher/WatcherRegistry.cpp x: 118 lines of code y: 6 # changes watchman/watcher/WatcherRegistry.h x: 52 lines of code y: 6 # changes watchman/watcher/kqueue.cpp x: 268 lines of code y: 13 # changes watchman/watcher/kqueue.h x: 38 lines of code y: 8 # changes watchman/watcher/portfs.cpp x: 238 lines of code y: 6 # changes watchman/watchman_dir.h x: 20 lines of code y: 5 # changes watchman/watchman_hash.h x: 15 lines of code y: 4 # changes watchman/watchman_system.h x: 194 lines of code y: 6 # changes watchman/watchman_time.h x: 99 lines of code y: 5 # changes watchman/winbuild/backtrace.cpp x: 142 lines of code y: 6 # changes watchman/winbuild/errmap.cpp x: 71 lines of code y: 5 # changes watchman/winbuild/jansson_config.h x: 1 lines of code y: 4 # changes watchman/winbuild/pathmap.cpp x: 114 lines of code y: 6 # changes watchman/winbuild/posix_spawn.cpp x: 403 lines of code y: 5 # changes watchman/winbuild/spawn.h x: 60 lines of code y: 4 # changes watchman/winbuild/susres.cpp x: 65 lines of code y: 4 # changes watchman/winbuild/time.cpp x: 19 lines of code y: 5 # changes website/src/watchman/css/watchman.css x: 798 lines of code y: 6 # changes eden/fs/config/eden_config.thrift x: 22 lines of code y: 3 # changes eden/fs/inodes/overlay/overlay.thrift x: 13 lines of code y: 3 # changes build/fbcode_builder/CMake/fb_py_win_main.c x: 74 lines of code y: 6 # changes watchman/integration/__init__.py x: 1 lines of code y: 1 # changes website/_includes/nav_docs.html x: 99 lines of code y: 8 # changes website/_includes/nav.html x: 102 lines of code y: 5 # changes website/_includes/header.html x: 18 lines of code y: 4 # changes website/_config.yml x: 55 lines of code y: 7 # changes website/_sass/_syntax-highlighting.scss x: 118 lines of code y: 5 # changes build/fbcode_builder/CMake/FindZstd.cmake x: 34 lines of code y: 1 # changes build/fbcode_builder/CMake/make_fbpy_archive.py x: 243 lines of code y: 3 # changes website/_includes/blog_pagination.html x: 25 lines of code y: 3 # changes website/_includes/content/gridblocks.html x: 6 lines of code y: 3 # changes website/_includes/doc_paging.html x: 41 lines of code y: 3 # changes website/_includes/hero.html x: 9 lines of code y: 3 # changes website/_includes/katex_render.html x: 177 lines of code y: 3 # changes website/_includes/nav_blog.html x: 75 lines of code y: 3 # changes website/_includes/plugins/like_button.html x: 17 lines of code y: 3 # changes website/_includes/plugins/post_social_plugins.html x: 32 lines of code y: 3 # changes website/_includes/plugins/slideshow.html x: 86 lines of code y: 3 # changes autogen.cmd x: 3 lines of code y: 2 # changes watchman/cppclient/watchmanclient.pc.in x: 10 lines of code y: 1 # changes watchman/winbuild/getopt.h x: 28 lines of code y: 1 # changes watchman/winbuild/getopt_long.cpp x: 117 lines of code y: 1 # changes build/fbcode_builder/CMake/FindSodium.cmake x: 265 lines of code y: 2 # changes build/fbcode_builder/CMake/FindGflags.cmake x: 97 lines of code y: 3 # changes build/fbcode_builder/CMake/FindRe2.cmake x: 16 lines of code y: 1 # changes build/fbcode_builder/CMake/FindLibUnwind.cmake x: 25 lines of code y: 1 # changes build/fbcode_builder/getdeps/__init__.py x: 1 lines of code y: 2 # changes build/fbcode_builder/CMake/FBCompilerSettingsMSVC.cmake x: 9 lines of code y: 1 # changes build/fbcode_builder/CMake/FBPythonBinary.cmake x: 646 lines of code y: 8 # changes build/fbcode_builder/CMake/FBPythonTestAddTests.cmake x: 54 lines of code y: 1 # changes build/fbcode_builder/CMake/FBThriftPyLibrary.cmake x: 100 lines of code y: 2 # changes build/fbcode_builder/CMake/FBThriftLibrary.cmake x: 72 lines of code y: 1 # changes build/fbcode_builder/CMake/FBCMakeParseArgs.cmake x: 135 lines of code y: 1 # changes build/fbcode_builder/CMake/FindGMock.cmake x: 71 lines of code y: 2 # changes build/fbcode_builder/CMake/FindLibEvent.cmake x: 69 lines of code y: 4 # changes
90.0
# changes
  min: 1.0
  average: 6.38
  25th percentile: 3.0
  median: 5.0
  75th percentile: 7.0
  max: 90.0
0 1069.0
lines of code
min: 1.0 | average: 128.21 | 25th percentile: 19.0 | median: 53.0 | 75th percentile: 149.75 | max: 1069.0

Number of Contributors vs. Number of Changes: 414 points

watchman/main.cpp x: 5 # contributors y: 18 # changes watchman/rust/serde_bser/src/bytestring.rs x: 5 # contributors y: 7 # changes watchman/CommandRegistry.cpp x: 3 # contributors y: 6 # changes watchman/CommandRegistry.h x: 3 # contributors y: 8 # changes watchman/Options.cpp x: 2 # contributors y: 6 # changes watchman/Options.h x: 2 # contributors y: 5 # changes watchman/listener.cpp x: 3 # contributors y: 13 # changes watchman/cmds/reg.cpp x: 3 # contributors y: 9 # changes watchman/Client.cpp x: 1 # contributors y: 2 # changes watchman/cmds/debug.cpp x: 3 # contributors y: 10 # changes watchman/cmds/subscribe.cpp x: 3 # contributors y: 18 # changes watchman/cmds/trigger.cpp x: 4 # contributors y: 16 # changes watchman/Command.cpp x: 1 # contributors y: 1 # changes watchman/cmds/watch.cpp x: 3 # contributors y: 16 # changes watchman/watchman_cmd.h x: 3 # contributors y: 12 # changes watchman/clientmode.cpp x: 3 # contributors y: 7 # changes watchman/PDU.cpp x: 2 # contributors y: 4 # changes watchman/PDU.h x: 2 # contributors y: 3 # changes watchman/TriggerCommand.cpp x: 2 # contributors y: 10 # changes watchman/cmds/query.cpp x: 3 # contributors y: 11 # changes watchman/watcher/fsevents.cpp x: 4 # contributors y: 19 # changes watchman/watcher/kqueue_and_fsevents.cpp x: 3 # contributors y: 14 # changes watchman/rust/watchman_client/Cargo.toml x: 6 # contributors y: 7 # changes watchman/InMemoryView.h x: 3 # contributors y: 24 # changes build/fbcode_builder/getdeps/dyndeps.py x: 6 # contributors y: 16 # changes build/fbcode_builder/getdeps.py x: 20 # contributors y: 61 # changes build/fbcode_builder/getdeps/manifest.py x: 18 # contributors y: 43 # changes build/fbcode_builder/getdeps/fetcher.py x: 12 # contributors y: 27 # changes watchman/integration/lib/Interrupt.py x: 2 # contributors y: 2 # changes watchman/integration/lib/__init__.py x: 2 # contributors y: 1 # changes watchman/python/pywatchman/__init__.py x: 5 # contributors y: 9 # changes watchman/python/pywatchman/capabilities.py x: 4 # contributors y: 6 # changes watchman/python/pywatchman/encoding.py x: 4 # contributors y: 7 # changes build/fbcode_builder/getdeps/builder.py x: 23 # contributors y: 90 # changes eden/fs/service/eden.thrift x: 18 # contributors y: 76 # changes website/_sass/_base.scss x: 7 # contributors y: 8 # changes website/_layouts/home.html x: 4 # contributors y: 5 # changes eden/fs/takeover/takeover.thrift x: 5 # contributors y: 8 # changes watchman/watcher/inotify.cpp x: 3 # contributors y: 15 # changes watchman/watcher/win32.cpp x: 4 # contributors y: 12 # changes watchman/InMemoryView.cpp x: 3 # contributors y: 19 # changes watchman/watcher/eden.cpp x: 7 # contributors y: 25 # changes watchman/query/FileResult.h x: 2 # contributors y: 7 # changes watchman/python/pywatchman_aio/__init__.py x: 3 # contributors y: 5 # changes build/fbcode_builder/getdeps/envfuncs.py x: 7 # contributors y: 12 # changes build/fbcode_builder/getdeps/buildopts.py x: 19 # contributors y: 52 # changes build/fbcode_builder/getdeps/py_wheel_builder.py x: 6 # contributors y: 9 # changes build/fbcode_builder/getdeps/runcmd.py x: 8 # contributors y: 14 # changes build/fbcode_builder/shell_quoting.py x: 5 # contributors y: 6 # changes build/fbcode_builder/CMake/RustStaticLibrary.cmake x: 3 # contributors y: 3 # changes build/fbcode_builder/getdeps/copytree.py x: 5 # contributors y: 11 # changes build/fbcode_builder/getdeps/load.py x: 10 # contributors y: 19 # changes build/fbcode_builder/getdeps/platform.py x: 11 # contributors y: 18 # changes watchman/rust/watchman_client/src/lib.rs x: 7 # contributors y: 11 # changes eden/fs/service/streamingeden.thrift x: 9 # contributors y: 19 # changes build/fbcode_builder/CMake/fb_py_test_main.py x: 4 # contributors y: 4 # changes build/fbcode_builder/docker_builder.py x: 7 # contributors y: 7 # changes build/fbcode_builder/fbcode_builder.py x: 11 # contributors y: 13 # changes build/fbcode_builder/make_docker_context.py x: 5 # contributors y: 5 # changes build/fbcode_builder/shell_builder.py x: 8 # contributors y: 9 # changes watchman/rust/watchman_client/src/pdu.rs x: 7 # contributors y: 10 # changes watchman/LRUCache.h x: 3 # contributors y: 4 # changes watchman/query/QueryContext.cpp x: 2 # contributors y: 9 # changes watchman/query/empty.cpp x: 4 # contributors y: 9 # changes watchman/query/parse.cpp x: 4 # contributors y: 14 # changes watchman/root/Root.h x: 2 # contributors y: 8 # changes watchman/scm/Mercurial.cpp x: 6 # contributors y: 10 # changes watchman/watcher/Watcher.h x: 2 # contributors y: 11 # changes website/_includes/nav_docs.html x: 6 # contributors y: 8 # changes website/_data/nav_docs.yml x: 5 # contributors y: 10 # changes
90.0
# changes
  min: 1.0
  average: 6.38
  25th percentile: 3.0
  median: 5.0
  75th percentile: 7.0
  max: 90.0
0 23.0
# contributors
min: 1.0 | average: 3.17 | 25th percentile: 2.0 | median: 3.0 | 75th percentile: 3.0 | max: 23.0