)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"4c4639a5c99bfaedcd6b200e3c2fe307e2c93e2c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Jens Look \u003cjeeloo@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-09-04 10:18:12 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make it possible to configure draft as default push mode"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"By adding \"defaultpushmode\u003d[draft|publish]\" in the .gitreview file it is possible to configure the beahviour of git review."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da20952f_23b44333","line":7,"updated":"2015-09-04 09:15:34.000000000","message":"Line max length is 72 characters, plz wrap lines","commit_id":"78896d74dabad98ce8dda3baa1299dcbad48032d"}],"doc/source/installation.rst":[{"author":{"_account_id":708,"name":"Yuriy Taraday","email":"yuriy@taraday.nl","username":"yorik-sar"},"change_message_id":"24a95ada97cce6cb3051890048a41685339ec817","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  By setting \u0027defaultpushmode\u003ddraft\u0027 the change will be pushed as a draft by"},{"line_number":71,"context_line":"  default. It is possible to push and publish a change using the"},{"line_number":72,"context_line":"  [-P|--publish] flag when executing \u0027git review\u0027 when defaultpushmode is set"},{"line_number":73,"context_line":"  to draft. "},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Hooks"},{"line_number":76,"context_line":"\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bae84128_dbd40449","line":73,"range":{"start_line":73,"start_character":11,"end_line":73,"end_character":12},"updated":"2016-02-19 12:21:58.000000000","message":"Extra whitespace","commit_id":"18315b0e9e648fa7b64eb1431249ade29dd39bf3"},{"author":{"_account_id":10302,"name":"Jens","email":"jeeloo@gmail.com","username":"jeeloo"},"change_message_id":"5c515621a556e264e47ecfb62f424c08493b2e1e","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  By setting \u0027defaultpushmode\u003ddraft\u0027 the change will be pushed as a draft by"},{"line_number":71,"context_line":"  default. It is possible to push and publish a change using the"},{"line_number":72,"context_line":"  [-P|--publish] flag when executing \u0027git review\u0027 when defaultpushmode is set"},{"line_number":73,"context_line":"  to draft. "},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Hooks"},{"line_number":76,"context_line":"\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bae84128_1625a1aa","line":73,"range":{"start_line":73,"start_character":11,"end_line":73,"end_character":12},"in_reply_to":"bae84128_dbd40449","updated":"2016-02-19 12:32:03.000000000","message":"Done","commit_id":"18315b0e9e648fa7b64eb1431249ade29dd39bf3"}],"doc/source/usage.rst":[{"author":{"_account_id":708,"name":"Yuriy Taraday","email":"yuriy@taraday.nl","username":"yorik-sar"},"change_message_id":"24a95ada97cce6cb3051890048a41685339ec817","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    git review -s"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"If you want to submit a draft"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    git review -D"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"bae84128_bb6ca09d","line":57,"updated":"2016-02-19 12:21:58.000000000","message":"You should add \"::\" at the end of the line to make following lines end up in fixed-width block.\n\n(see http://docs-draft.openstack.org/26/220426/5/check/gate-git-review-docs/47d235f//doc/build/html/usage.html for what happens now)","commit_id":"18315b0e9e648fa7b64eb1431249ade29dd39bf3"},{"author":{"_account_id":10302,"name":"Jens","email":"jeeloo@gmail.com","username":"jeeloo"},"change_message_id":"5c515621a556e264e47ecfb62f424c08493b2e1e","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    git review -s"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"If you want to submit a draft"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    git review -D"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"bae84128_76418d39","line":57,"in_reply_to":"bae84128_bb6ca09d","updated":"2016-02-19 12:32:03.000000000","message":"Done","commit_id":"18315b0e9e648fa7b64eb1431249ade29dd39bf3"},{"author":{"_account_id":708,"name":"Yuriy Taraday","email":"yuriy@taraday.nl","username":"yorik-sar"},"change_message_id":"24a95ada97cce6cb3051890048a41685339ec817","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    git review -D"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"If you wand to submit and publish a commit when default pushmode is configured to draft"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    git review -P"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bae84128_1b2b0c32","line":61,"updated":"2016-02-19 12:21:58.000000000","message":"Ditto\n\nAlso please split into 2 lines at 79 column","commit_id":"18315b0e9e648fa7b64eb1431249ade29dd39bf3"},{"author":{"_account_id":10302,"name":"Jens","email":"jeeloo@gmail.com","username":"jeeloo"},"change_message_id":"5c515621a556e264e47ecfb62f424c08493b2e1e","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    git review -D"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"If you wand to submit and publish a commit when default pushmode is configured to draft"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    git review -P"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bae84128_563e09b9","line":61,"in_reply_to":"bae84128_1b2b0c32","updated":"2016-02-19 12:32:03.000000000","message":"Done","commit_id":"18315b0e9e648fa7b64eb1431249ade29dd39bf3"},{"author":{"_account_id":6987,"name":"Khai Do","email":"zaro0508@gmail.com","username":"zaro0508"},"change_message_id":"24fa140604d4456cfd1c73fd880047c60117a46a","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    git review -s"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"If you want to submit a draft::"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    git review -D"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"bae84128_f538fa3f","line":57,"updated":"2016-02-24 19:43:56.000000000","message":"\u0027submit a patchset as a draft\u0027","commit_id":"5680a988ba8a09827553fa0e742aec6cdedd30cd"},{"author":{"_account_id":10302,"name":"Jens","email":"jeeloo@gmail.com","username":"jeeloo"},"change_message_id":"6458dfecada5fed81f8371af09fa951bd6073fd6","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    git review -s"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"If you want to submit a draft::"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    git review -D"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aed3d3a_0ab71f3a","line":57,"in_reply_to":"bae84128_f538fa3f","updated":"2016-02-26 07:08:52.000000000","message":"Done","commit_id":"5680a988ba8a09827553fa0e742aec6cdedd30cd"},{"author":{"_account_id":6987,"name":"Khai Do","email":"zaro0508@gmail.com","username":"zaro0508"},"change_message_id":"24fa140604d4456cfd1c73fd880047c60117a46a","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    git review -D"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"If you wand to submit and publish a commit when default pushmode is configured"},{"line_number":62,"context_line":"to draft::"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    git review -P"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bae84128_95752e34","line":61,"updated":"2016-02-24 19:43:56.000000000","message":"wand/want\n\nAlso to be consistent with gerrit terminology, \u0027commit\u0027 should be \u0027patchset\u0027","commit_id":"5680a988ba8a09827553fa0e742aec6cdedd30cd"},{"author":{"_account_id":10302,"name":"Jens","email":"jeeloo@gmail.com","username":"jeeloo"},"change_message_id":"6458dfecada5fed81f8371af09fa951bd6073fd6","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    git review -D"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"If you wand to submit and publish a commit when default pushmode is configured"},{"line_number":62,"context_line":"to draft::"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    git review -P"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aed3d3a_6a822b54","line":61,"in_reply_to":"bae84128_95752e34","updated":"2016-02-26 07:08:52.000000000","message":"Done","commit_id":"5680a988ba8a09827553fa0e742aec6cdedd30cd"}],"git_review/cmd.py":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"c5cc2be992a5754e3e29b0a4d01c6c85bf51e444","unresolved":false,"context_lines":[{"line_number":1303,"context_line":"    parser.add_argument(\"--reviewers\", nargs\u003d\"+\","},{"line_number":1304,"context_line":"                        help\u003d\"Add reviewers to uploaded patch sets.\")"},{"line_number":1305,"context_line":"    parser.add_argument(\"-P\", \"--publish\", dest\u003d\"publish\", action\u003d\"store_true\","},{"line_number":1306,"context_line":"                        help\u003d\"Submit review as a public change, default mode.\")"},{"line_number":1307,"context_line":"    parser.add_argument(\"-D\", \"--draft\", dest\u003d\"draft\", action\u003d\"store_true\","},{"line_number":1308,"context_line":"                        help\u003d\"Submit review as a draft\")"},{"line_number":1309,"context_line":"    parser.add_argument(\"-c\", \"--compatible\", dest\u003d\"compatible\","}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_83a2effa","line":1306,"updated":"2015-09-04 09:15:08.000000000","message":"\",default mode\" seems unclear and can be removed","commit_id":"78896d74dabad98ce8dda3baa1299dcbad48032d"},{"author":{"_account_id":6987,"name":"Khai Do","email":"zaro0508@gmail.com","username":"zaro0508"},"change_message_id":"24fa140604d4456cfd1c73fd880047c60117a46a","unresolved":false,"context_lines":[{"line_number":1512,"context_line":"            sys.exit(1)"},{"line_number":1513,"context_line":"    assert_one_change(remote, branch, yes, have_hook)"},{"line_number":1514,"context_line":""},{"line_number":1515,"context_line":"    ref \u003d options.pushmode"},{"line_number":1516,"context_line":""},{"line_number":1517,"context_line":"    if options.publish:"},{"line_number":1518,"context_line":"        ref \u003d \"publish\""}],"source_content_type":"text/x-python","patch_set":6,"id":"bae84128_a78f6974","line":1515,"updated":"2016-02-24 19:43:56.000000000","message":"might be nice to do a little error checking here?  What if user configures an invalid pushmode option?","commit_id":"5680a988ba8a09827553fa0e742aec6cdedd30cd"},{"author":{"_account_id":10302,"name":"Jens","email":"jeeloo@gmail.com","username":"jeeloo"},"change_message_id":"2f1808437329f3639041dcb825b5f5bb0b8677bd","unresolved":false,"context_lines":[{"line_number":1512,"context_line":"            sys.exit(1)"},{"line_number":1513,"context_line":"    assert_one_change(remote, branch, yes, have_hook)"},{"line_number":1514,"context_line":""},{"line_number":1515,"context_line":"    ref \u003d options.pushmode"},{"line_number":1516,"context_line":""},{"line_number":1517,"context_line":"    if options.publish:"},{"line_number":1518,"context_line":"        ref \u003d \"publish\""}],"source_content_type":"text/x-python","patch_set":6,"id":"9aed3d3a_c53b53ea","line":1515,"in_reply_to":"bae84128_a78f6974","updated":"2016-02-26 13:59:02.000000000","message":"Done but not here.","commit_id":"5680a988ba8a09827553fa0e742aec6cdedd30cd"},{"author":{"_account_id":29353,"name":"MarcH","email":"marc.herbert@gmail.com","username":"marc"},"change_message_id":"c52ca04de6c1d4681e457b6ea1d330bb2264064b","unresolved":false,"context_lines":[{"line_number":1446,"context_line":""},{"line_number":1447,"context_line":"    parser.add_argument(\"--reviewers\", nargs\u003d\"+\","},{"line_number":1448,"context_line":"                        help\u003d\"Add reviewers to uploaded patch sets.\")"},{"line_number":1449,"context_line":"    parser.add_argument(\"-O\", \"--publish\", dest\u003d\"publish\", action\u003d\"store_true\","},{"line_number":1450,"context_line":"                        help\u003d\"Submit review as a public change.\")"},{"line_number":1451,"context_line":"    parser.add_argument(\"-D\", \"--draft\", dest\u003d\"draft\", action\u003d\"store_true\","},{"line_number":1452,"context_line":"                        help\u003d\"Submit review as a draft\")"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_423d2ae4","line":1449,"range":{"start_line":1449,"start_character":26,"end_line":1449,"end_character":27},"updated":"2018-10-25 00:36:43.000000000","message":"1st of only 2 actual and small 11-\u003e12 rebase change. -P is now used for private changes.","commit_id":"6bbbb7fd101c4735ba516d6c7afd34668fa075c1"},{"author":{"_account_id":29353,"name":"MarcH","email":"marc.herbert@gmail.com","username":"marc"},"change_message_id":"de56eb198ab5437d532cab39cc896423c368bb8e","unresolved":false,"context_lines":[{"line_number":1600,"context_line":"                            track\u003dconvert_bool(config[\u0027track\u0027]),"},{"line_number":1601,"context_line":"                            remote\u003dNone,"},{"line_number":1602,"context_line":"                            usepushurl\u003dconvert_bool(config[\u0027usepushurl\u0027]),"},{"line_number":1603,"context_line":"                            pushmode\u003dvalid_pushmode(config[\u0027pushmode\u0027]))"},{"line_number":1604,"context_line":""},{"line_number":1605,"context_line":"    options \u003d parser.parse_args()"},{"line_number":1606,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_fdd7374f","line":1603,"updated":"2018-10-25 01:04:27.000000000","message":"this \"options.pushmode\" is confusing because it scatters the logic in two different places and it\u0027s IMHO wrong because it makes it look like \"pushmode\" is a command line option when it\u0027s not. \u0027pushmode\u0027, \u0027track\u0027, \u0027rebase\u0027, etc. are actual command line options.\n\nOne possible fix is to remove this line and inline valid_pushmode below, that seems to work.\nAnother solution is to actually add one and only one --pushmode option and simplify/remove most of the logic below (BTW this tool seems to be running out of single letters pretty fast)","commit_id":"6bbbb7fd101c4735ba516d6c7afd34668fa075c1"},{"author":{"_account_id":29353,"name":"MarcH","email":"marc.herbert@gmail.com","username":"marc"},"change_message_id":"c52ca04de6c1d4681e457b6ea1d330bb2264064b","unresolved":false,"context_lines":[{"line_number":1686,"context_line":"            sys.exit(1)"},{"line_number":1687,"context_line":"    assert_one_change(remote, branch, yes, have_hook)"},{"line_number":1688,"context_line":""},{"line_number":1689,"context_line":"    ref \u003d options.pushmode"},{"line_number":1690,"context_line":""},{"line_number":1691,"context_line":"    if options.publish:"},{"line_number":1692,"context_line":"        ref \u003d \"publish\""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_a2319e0c","line":1689,"updated":"2018-10-25 00:36:43.000000000","message":"11-\u003e12 rebase conflict on this line, solved with --ours.","commit_id":"6bbbb7fd101c4735ba516d6c7afd34668fa075c1"}],"git_review/tests/test_git_review.py":[{"author":{"_account_id":6987,"name":"Khai Do","email":"zaro0508@gmail.com","username":"zaro0508"},"change_message_id":"2bbd51851ec83e0993ae319d1d485065aa043650","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        self._simple_change(\u0027test file modified\u0027, \u0027test commit message 1\u0027)"},{"line_number":98,"context_line":"        review_res \u003d self._run_git_review(\u0027-D\u0027)"},{"line_number":99,"context_line":"        self.assertIn(\u0027draft\u0027, review_res)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def test_git_review_s_in_detached_head(self):"},{"line_number":102,"context_line":"        \"\"\"Test git-review -s in detached HEAD state.\"\"\""},{"line_number":103,"context_line":"        self.reset_remote()"}],"source_content_type":"text/x-python","patch_set":9,"id":"9aed3d3a_37b91a7a","line":100,"updated":"2016-02-29 20:41:29.000000000","message":"Now that you\u0027ve added validation for pushmode configs how about a test to check for an invalid pushmode config?","commit_id":"786adc17fcd8b7f5fdcc1e8648ca074cff434186"},{"author":{"_account_id":10302,"name":"Jens","email":"jeeloo@gmail.com","username":"jeeloo"},"change_message_id":"6bc541d7fb2b114aa71a2cf1af4d5ac771230882","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        self._simple_change(\u0027test file modified\u0027, \u0027test commit message 1\u0027)"},{"line_number":98,"context_line":"        review_res \u003d self._run_git_review(\u0027-D\u0027)"},{"line_number":99,"context_line":"        self.assertIn(\u0027draft\u0027, review_res)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def test_git_review_s_in_detached_head(self):"},{"line_number":102,"context_line":"        \"\"\"Test git-review -s in detached HEAD state.\"\"\""},{"line_number":103,"context_line":"        self.reset_remote()"}],"source_content_type":"text/x-python","patch_set":9,"id":"9aed3d3a_730ef6e5","line":100,"in_reply_to":"9aed3d3a_37b91a7a","updated":"2016-03-01 10:12:41.000000000","message":"Done","commit_id":"786adc17fcd8b7f5fdcc1e8648ca074cff434186"}]}
