login
Header Space

 
 

Re: Comments on recursive merge..

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Linus Torvalds <torvalds@...>
Cc: <git@...>
Date: Friday, November 11, 2005 - 6:25 pm

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
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Comments on recursive merge.., Linus Torvalds, (Mon Nov 7, 12:48 pm)
Re: Comments on recursive merge.., Fredrik Kuivinen, (Mon Nov 7, 6:58 pm)
Re: Comments on recursive merge.., Junio C Hamano, (Mon Nov 7, 8:13 pm)
Re: Comments on recursive merge.., Linus Torvalds, (Mon Nov 7, 8:33 pm)
Re: Comments on recursive merge.., Junio C Hamano, (Fri Nov 11, 6:25 pm)
Re: Comments on recursive merge.., Ryan Anderson, (Sat Nov 12, 2:35 am)
[PATCH] GIT commit statistics., Junio C Hamano, (Sat Nov 12, 3:44 am)
Re: [PATCH] GIT commit statistics., Martin Langhoff, (Sat Nov 12, 8:19 am)
Re: [PATCH] GIT commit statistics., Petr Baudis, (Sun Nov 13, 7:11 am)
Re: [PATCH] GIT commit statistics., Junio C Hamano, (Sun Nov 13, 6:59 am)
Re: [PATCH] GIT commit statistics., Martin Langhoff, (Sun Nov 13, 4:42 pm)
Re: [PATCH] GIT commit statistics., Junio C Hamano, (Sun Nov 13, 11:33 pm)
Re: [PATCH] GIT commit statistics., Martin Langhoff, (Mon Nov 14, 12:01 am)
Re: [PATCH] GIT commit statistics., Junio C Hamano, (Mon Nov 14, 2:06 am)
Re: [PATCH] GIT commit statistics., Martin Langhoff, (Mon Nov 14, 4:51 am)
Re: [PATCH] GIT commit statistics., Junio C Hamano, (Mon Nov 14, 11:00 pm)
Re: [PATCH] GIT commit statistics., Junio C Hamano, (Mon Nov 14, 5:27 am)
Re: [PATCH] GIT commit statistics., Petr Baudis, (Mon Nov 14, 5:25 am)
Re: [PATCH] GIT commit statistics., Martin Langhoff, (Mon Nov 14, 5:25 pm)
Re: [PATCH] GIT commit statistics., Johannes Schindelin, (Sat Nov 12, 3:04 pm)
Re: [PATCH] GIT commit statistics., Petr Baudis, (Sat Nov 12, 8:53 am)
Re: [PATCH] GIT commit statistics., Catalin Marinas, (Tue Nov 15, 6:04 am)
Re: [PATCH] GIT commit statistics., Chuck Lever, (Tue Nov 15, 11:29 am)
Re: Comments on recursive merge.., Linus Torvalds, (Fri Nov 11, 6:53 pm)
Re: Comments on recursive merge.., Junio C Hamano, (Fri Nov 11, 8:42 pm)
Re: Comments on recursive merge.., Johannes Schindelin, (Tue Nov 8, 7:58 am)
Re: Comments on recursive merge.., Fredrik Kuivinen, (Tue Nov 8, 5:02 pm)
Re: Comments on recursive merge.., Johannes Schindelin, (Tue Nov 8, 7:04 pm)
Re: Comments on recursive merge.., Linus Torvalds, (Tue Nov 8, 5:52 pm)
Re: Comments on recursive merge.., Fredrik Kuivinen, (Tue Nov 8, 6:36 pm)
Re: Comments on recursive merge.., Linus Torvalds, (Tue Nov 8, 7:05 pm)
Re: Comments on recursive merge.., Petr Baudis, (Tue Nov 8, 8:32 pm)
Re: Comments on recursive merge.., Linus Torvalds, (Tue Nov 8, 8:51 pm)
Re: Comments on recursive merge.., Junio C Hamano, (Tue Nov 8, 8:59 pm)
Re: Comments on recursive merge.., Linus Torvalds, (Tue Nov 8, 9:22 pm)
Re: Comments on recursive merge.., Junio C Hamano, (Tue Nov 8, 9:42 pm)
Re: Comments on recursive merge.., Johannes Schindelin, (Tue Nov 8, 7:18 pm)
Re: Comments on recursive merge.., Linus Torvalds, (Tue Nov 8, 8:18 pm)
Re: Comments on recursive merge.., Junio C Hamano, (Wed Nov 9, 2:10 am)
Re: Comments on recursive merge.., Junio C Hamano, (Tue Nov 8, 5:47 pm)
Re: Comments on recursive merge.., Junio C Hamano, (Mon Nov 7, 8:59 pm)
Re: Comments on recursive merge.., Linus Torvalds, (Mon Nov 7, 12:56 pm)
[PATCH] merge-recursive: Only print relevant rename messages, Fredrik Kuivinen, (Mon Nov 7, 7:19 pm)
speck-geostationary