• Tom Lane's avatar
    Improve git_changelog as per discussion with Robert Haas. · bf429ceb
    Tom Lane authored
    1. Resurrect the behavior where old commits on master will have Branch:
    labels for branches sprouted after the commit was made.  I'm still
    dubious about this mode, but if you want it, say --post-date or -p.
    
    2. Annotate the Branch: labels with the release or branch in which the
    commit was publicly released.  For example, on a release branch you could
    see
    Branch: REL8_3_STABLE Release: REL8_3_2 [92c3a8004] 2008-03-29 00:15:37 +0000
    showing that the fix was released in 8.3.2.  Commits on master will
    usually instead have notes like
    Branch: master Release: REL8_4_BR [6fc9d427] 2008-03-29 00:15:28 +0000
    showing that this commit is ancestral to release branches 8.4 and later.
    If no Release: marker appears, the commit hasn't yet made it into any
    release.
    
    3. Add support for release branches older than 7.4.
    
    4. The implementation is improved by running git log on each branch only
    back to where the branch sprouts from master.  This saves a good deal
    of time (about 50% of the runtime when generating the complete history).
    We generate the post-date-mode tags via a direct understanding that
    they should be applied to master commits made before the branch sprouted,
    rather than backing into them via matching (which isn't any too
    reliable when people used identical log messages for successive commits).
    bf429ceb
git_changelog 8.63 KB