)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"7794161bfe04b0dfed84460bb6649e4ad8e2cc6a","unresolved":false,"context_lines":[{"line_number":15,"context_line":"correctly handle first releases in a series (because it doesn\u0027t load all"},{"line_number":16,"context_line":"release history.  It also doesn\u0027t use some of the new features (like"},{"line_number":17,"context_line":"series_status).  Adding --interactive to new-release gets us a long way"},{"line_number":18,"context_line":"to deprecating interactive-release but we aren\u0027t quire there yet."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I25bbb4d7df9ae618500dd37f4b0cbc32c0bbd153"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3fa7e38b_99e639e7","line":18,"range":{"start_line":18,"start_character":52,"end_line":18,"end_character":53},"updated":"2019-11-20 14:18:56.000000000","message":"nit: I think this is spelled \u0027quite\u0027 ;)","commit_id":"4cf2670c1fb36bfe93c4a3ea81f4aa10cfa42fd1"}],"openstack_releases/cmds/new_release.py":[{"author":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"change_message_id":"a9100681e0d320a75889035566ffda7785449f57","unresolved":false,"context_lines":[{"line_number":448,"context_line":"            sha \u003d gitutils.sha_for_tag(workdir, repo, version)"},{"line_number":449,"context_line":""},{"line_number":450,"context_line":"            # Check out the working repo to the sha"},{"line_number":451,"context_line":"            gitutils.checkout_ref(workdir, repo, sha)"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"        if is_retagging:"},{"line_number":454,"context_line":"            changes +\u003d 1"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_737071db","line":451,"updated":"2019-10-25 12:41:52.000000000","message":"Any particular reason to check out the SHA? This seems unrelated to adding --interactive...","commit_id":"e5164317ba936de49d74a75a564e2285ae52d505"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1056b96f174e230ce192a343b97f3d3aff7923cd","unresolved":false,"context_lines":[{"line_number":448,"context_line":"            sha \u003d gitutils.sha_for_tag(workdir, repo, version)"},{"line_number":449,"context_line":""},{"line_number":450,"context_line":"            # Check out the working repo to the sha"},{"line_number":451,"context_line":"            gitutils.checkout_ref(workdir, repo, sha)"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"        if is_retagging:"},{"line_number":454,"context_line":"            changes +\u003d 1"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_ae29a237","line":451,"in_reply_to":"3fa7e38b_737071db","updated":"2019-10-25 12:59:33.000000000","message":"Yes, otherwise on stable branches HEAD is on master, so we get a list of all commits from the start of the stable branch up until current master.","commit_id":"e5164317ba936de49d74a75a564e2285ae52d505"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"0cd71adc574b559d05e9a374348c5f8f703b5dca","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from __future__ import print_function"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import argparse"},{"line_number":18,"context_line":"import atexit"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_f4d68827","line":15,"updated":"2019-11-15 14:38:00.000000000","message":"This isn\u0027t needed anymore.","commit_id":"b18dfd6765fa1acc3d01373531a5675e66b48768"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"0cd71adc574b559d05e9a374348c5f8f703b5dca","unresolved":false,"context_lines":[{"line_number":247,"context_line":"        if args.cleanup:"},{"line_number":248,"context_line":"            shutil.rmtree(workdir, True)"},{"line_number":249,"context_line":"        else:"},{"line_number":250,"context_line":"            print(\u0027not cleaning up %s\u0027 % workdir)"},{"line_number":251,"context_line":"    atexit.register(cleanup_workdir)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    # Allow for independent projects."}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_f4a448bb","line":250,"range":{"start_line":250,"start_character":12,"end_line":250,"end_character":17},"updated":"2019-11-15 14:38:00.000000000","message":"Why switch this to print? We should either stick with using logging for output, or drop all the logging bits all together.","commit_id":"b18dfd6765fa1acc3d01373531a5675e66b48768"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"0cd71adc574b559d05e9a374348c5f8f703b5dca","unresolved":false,"context_lines":[{"line_number":448,"context_line":"                version \u003d \u0027master\u0027"},{"line_number":449,"context_line":""},{"line_number":450,"context_line":"            sha \u003d gitutils.sha_for_tag(workdir, repo, version)"},{"line_number":451,"context_line":""},{"line_number":452,"context_line":"        if is_retagging:"},{"line_number":453,"context_line":"            changes +\u003d 1"},{"line_number":454,"context_line":"            LOG.info(\u0027re-tagging %s at %s (%s)\u0027, repo, sha, previous_tag)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_94b074ff","line":451,"updated":"2019-11-15 14:38:00.000000000","message":"Lost the updates that checkout the branch. Without that, using this on a stable branch will show all changes to master since the last stable release.","commit_id":"b18dfd6765fa1acc3d01373531a5675e66b48768"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"0cd71adc574b559d05e9a374348c5f8f703b5dca","unresolved":false,"context_lines":[{"line_number":516,"context_line":"            })"},{"line_number":517,"context_line":""},{"line_number":518,"context_line":"    # TODO(tonyb): Do this early and also prompt for release type."},{"line_number":519,"context_line":"    #              Once we do that we can probably deprecate interactive-release"},{"line_number":520,"context_line":"    if args.interactive:"},{"line_number":521,"context_line":"        # NOTE(tonyb): This is pretty much just copied from interactive-release"},{"line_number":522,"context_line":"        last_tag \u003d \u0027.\u0027.join(last_version)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_d49fcc62","line":519,"updated":"2019-11-15 14:38:00.000000000","message":"Why was this moved back? This had to be moved earlier, inside the loop, otherwise it is too late and you only operate on the last repo of the deliverable.","commit_id":"b18dfd6765fa1acc3d01373531a5675e66b48768"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"7794161bfe04b0dfed84460bb6649e4ad8e2cc6a","unresolved":false,"context_lines":[{"line_number":485,"context_line":"                last_tag \u003d \u0027.\u0027.join(last_version)"},{"line_number":486,"context_line":"                change_lines \u003d list(clean_changes(gitutils.changes_since("},{"line_number":487,"context_line":"                    workdir, repo, last_tag).splitlines()))"},{"line_number":488,"context_line":"                max_changes_show \u003d 100"},{"line_number":489,"context_line":"                LOG.info(\u0027\u0027)"},{"line_number":490,"context_line":"                if last_tag:"},{"line_number":491,"context_line":"                    LOG.info(\"%s changes to %s since %s are:\","}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_59cc4160","line":488,"range":{"start_line":488,"start_character":16,"end_line":488,"end_character":38},"updated":"2019-11-20 14:18:56.000000000","message":"Do we need that pseudo pagination?","commit_id":"4cf2670c1fb36bfe93c4a3ea81f4aa10cfa42fd1"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"3c8a0088c3a78e0a6679a530fecd0faa5071886b","unresolved":false,"context_lines":[{"line_number":485,"context_line":"                last_tag \u003d \u0027.\u0027.join(last_version)"},{"line_number":486,"context_line":"                change_lines \u003d list(clean_changes(gitutils.changes_since("},{"line_number":487,"context_line":"                    workdir, repo, last_tag).splitlines()))"},{"line_number":488,"context_line":"                max_changes_show \u003d 100"},{"line_number":489,"context_line":"                LOG.info(\u0027\u0027)"},{"line_number":490,"context_line":"                if last_tag:"},{"line_number":491,"context_line":"                    LOG.info(\"%s changes to %s since %s are:\","}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_e323b3bc","line":488,"range":{"start_line":488,"start_character":16,"end_line":488,"end_character":38},"in_reply_to":"3fa7e38b_59cc4160","updated":"2019-11-26 22:43:39.000000000","message":"Kinda?\n\nLike I said I copied it from interactive-release.  It\u0027s good to be able to see if there are lots of changes without flooding your scrollback.\n\nI guess we could remove it later, when we\u0027re using the tools regularly","commit_id":"4cf2670c1fb36bfe93c4a3ea81f4aa10cfa42fd1"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"5fa7fcc2ed44631a17391b04a1e224b3f8888693","unresolved":false,"context_lines":[{"line_number":485,"context_line":"                last_tag \u003d \u0027.\u0027.join(last_version)"},{"line_number":486,"context_line":"                change_lines \u003d list(clean_changes(gitutils.changes_since("},{"line_number":487,"context_line":"                    workdir, repo, last_tag).splitlines()))"},{"line_number":488,"context_line":"                max_changes_show \u003d 100"},{"line_number":489,"context_line":"                LOG.info(\u0027\u0027)"},{"line_number":490,"context_line":"                if last_tag:"},{"line_number":491,"context_line":"                    LOG.info(\"%s changes to %s since %s are:\","}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_df7bd5bc","line":488,"range":{"start_line":488,"start_character":16,"end_line":488,"end_character":38},"in_reply_to":"3fa7e38b_e323b3bc","updated":"2019-11-27 09:26:35.000000000","message":"Yeah, I guess I have a large scrollback so that\u0027s why I thought: hey, \"the sky is the limit\"! :)\n\nLooks good to me.","commit_id":"4cf2670c1fb36bfe93c4a3ea81f4aa10cfa42fd1"}]}
