Linus Torvalds <torvalds@osdl.org> writes:Just for fun, I randomly picked two heads/master commits from linux-2.6 repository (one was when I happened to have pulled the last time, and the other was when I thought this might be an interesting exercise and pulled again), and fed the commits between the two to a little script that looks at commits and tries to stat what they did (the script ignores renames so they appear as deletes and adds). Here is what the script spitted out: Total commit objects: 3957 Trivial Merges: 72 (1.82%) Merges: 225 (5.69%) Number of paths touched by non-merge commits: average 4.50, median 2, min 2, max 199 Number of merge parents: average 2.00, median 2, min 2, max 2 Number of merge bases: average 1.00, median 1, min 1, max 1 File level merges: average 37.61, median 8, min 0, max 555 Number of changed paths from the first parent: average 379.09, median 66, min 1, max 7553 File level 3-ways: average 1.96, median 1, min 0, max 37 Paths deleted: average 47.56, median 15, min 0, max 554 This counts what happened in individual devleoper's trees, subsystem maintainer trees and your tree, not just what you saw yourself. Some observations. - Trivial Merges count is surprisingly high. About 1/3 of merges are pure in-index merges. - Most of the commits (developer commits, not merges) are small and touches only a couple of paths. - Nobody does octopus ;-). - We did not have multi-base merge case during the period looked at (but the sample count is very low). - merge-one-file was called for only a handful (median 8) files, which is negligibly small compared to the total 17K files in the kernel tree, and fairly small compared to the number of changed paths from the first parent (meaning, read-tree trivial collapsing helped majorly). Among them, the number of paths that needed real file-level 3-way merges were even smaller (avg 1.96). All three of these points together is a fine demonstration that you designed git really right. The samples were between these two commits: commit 6693e74a16ef563960764bd963f1048392135c3c Author: Linus Torvalds <torvalds@g5.osdl.org> Date: Tue Oct 25 20:40:09 2005 -0700 commit 388f7ef720a982f49925e7b4e96f216f208f8c03 Author: Linus Torvalds <torvalds@g5.osdl.org> Date: Fri Nov 11 09:26:39 2005 -0800 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| David Miller | Re: [patch 7/8] fdmap v2 - implement sys_socket2 |
| Sean | Re: [AppArmor 39/45] AppArmor: Profile loading and manipulation,pathname matching |
| Andi Kleen | Re: missing madvise functionality |
| Alan Cox | [PATCH 03/57] ali: watchdog locking and style |
git: | |
| Guido Ostkamp | [PATCH] Fix Solaris Workshop Compiler issues |
| David Lang | Re: mingw, windows, crlf/lf, and git |
| Johannes Schindelin | Re: [kernel.org users] [RFD] On deprecating "git-foo" for builtins |
| Johannes Schindelin | Re: [PATCH] Fix off by one error in prep_exclude. |
| Marco Peereboom | Re: Real men don't attack straw men |
| patrick keshishian | SMTP flood + spamdb |
| Marcos Laufer | dmesg IBM x3650 OpenBSD 4.3 |
| Nick Holland | Re: The Atheros story in much fewer words |
| Hans de Goede | Re: cat /proc/net/tcp takes 0.5 seconds on x86_64 |
| Stephen Hemminger | [RFC] TCP illinois max rtt aging |
| Tilman Schmidt | Re: 2.6.25-rc8: FTP transfer errors |
| Evgeniy Polyakov | Re: Network/block layer race. |
| high memory | 14 hours ago | Linux kernel |
| semaphore access speed | 17 hours ago | Applications and Utilities |
| the kernel how to power off the machine | 18 hours ago | Linux kernel |
| Easter Eggs in windows XP | 21 hours ago | Windows |
| Shared swap partition | 22 hours ago | Linux general |
| Root password | 22 hours ago | Linux general |
| Where/when DNOTIFY is used? | 1 day ago | Linux kernel |
| How to convert Linux Kernel built-in module into a loadable module | 1 day ago | Linux kernel |
| Linux 2.6.24 and I/O schedulers | 1 day ago | Linux kernel |
| USB Driver -- Interrupt Polling -- A Little Help Please | 1 day ago | Linux general |
