Project

General

Profile

Actions

HOWTO write the release notes » History » Revision 1

Revision 1/58 | Next »
Loïc Dachary, 03/29/2015 06:40 PM


  • git clone -b release (for instance git clone -b dumpling http://github.com/ceph/ceph)
  • run the following to get a base to work on
    #!/usr/bin/env python
    
    import re
    
    # Needs https://github.com/gitpython-developers/GitPython, pip install gitpython
    from git import Repo
    
    repo = Repo('.')
    
    active_branch = repo.active_branch.name
    
    print "active_branch: " + active_branch
    print
    print "-" * 10
    print
    
    version_pattern = re.compile("\d+\.\d+(\.\d+)?")
    signed_off_pattern = re.compile("Signed-off-by: (.+) <")
    fixes_pattern = re.compile("Fixes: (#\d+(, #\d+)*)")
    
    found = 0
    
    def to_line(commit):
        return "* `{0}<http://github.com/ceph/ceph/commit/{1}>`_".format(commit.summary, str(commit))
    
    # List all commits in Git log up to the latest 0.mm.nn tag
    for commit in list(repo.iter_commits(active_branch)):
        if version_pattern.match(commit.summary):
            break
        else:
            line = to_line(commit)
            fixes = ["`#{0}<http://tracker.ceph.com/issues/{0}>`_".format(issue_number[1:])
                for sublist in fixes_pattern.finditer(commit.message)
                for issue_number in sublist.group(1).split(", ")
            ]
            signers = signed_off_pattern.findall(commit.message)
            if signers:
                fixes.append(", ".join(signers))
            if fixes or signers:
                line = line + " (" + " ".join(fixes) + ")" 
                print line
                print
                found += 1
    
    print
    print "-" * 10
    print
    print "Found {0} commits matching \"Fixes:\" or \"Signed-off-by:\"".format(found)
    
  • manual edit the list of commits
  • add a section in http://docs.ceph.com/docs/master/release-notes/ in the master branch of ceph in the release-notes.rst file with the list of commits
  • add the release to the timeline

Updated by Loïc Dachary about 9 years ago · 1 revisions