)]}'
{"doc/source/common/patch-best-practices.rst":[{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"5b5c7d874a943f6451b7ee252c961b4514afdac7","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":" git rebase -i HEAD^"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"You need as many \u0027^\u0027 as the number of the patch from the top of the chain."},{"line_number":104,"context_line":"Gerrit also provides you options to edit the patch itself or only the commit"},{"line_number":105,"context_line":"message and a few more for more advanced changes, like modifying the author."},{"line_number":106,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_c301d9b1","line":103,"updated":"2018-04-16 06:12:12.000000000","message":"You could mention git-restack, see https://docs.openstack.org/infra/git-restack/","commit_id":"98278ae2e24e85be3c0914667d329f027a0a6c2d"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"b284719e407ce8732472e9a8e3e7ba77a1a33385","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":" git rebase -i HEAD^"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"You need as many \u0027^\u0027 as the number of the patch from the top of the chain."},{"line_number":104,"context_line":"Gerrit also provides you options to edit the patch itself or only the commit"},{"line_number":105,"context_line":"message and a few more for more advanced changes, like modifying the author."},{"line_number":106,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_0f037044","line":103,"in_reply_to":"9f6a8fd7_c301d9b1","updated":"2018-04-16 09:44:08.000000000","message":"The documentation doesn\u0027t say much about it and I\u0027ve never used it, so I will leave this to someone who has experience with the tool.\n\nIt would be weird to add the reference to it in the \"best practices\" section without a single clue on how it works. :)\n\nNot to mention that I\u0027m a fanatic of basic Git commands...","commit_id":"98278ae2e24e85be3c0914667d329f027a0a6c2d"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"5b5c7d874a943f6451b7ee252c961b4514afdac7","unresolved":false,"context_lines":[{"line_number":158,"context_line":"Changes that are not related to any feature implementation or bug report can be"},{"line_number":159,"context_line":"uploaded but are less welcomed by reviewers."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Improvement to either the code or doucmenation should be part of a larger"},{"line_number":162,"context_line":"effort, like if you would like to fix typos in documentation then you should"},{"line_number":163,"context_line":"do it for a larger block, like a whole guide. It is also preferred to report a"},{"line_number":164,"context_line":"story with tasks for a work item like this that can be tracked later."}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_43270966","line":161,"range":{"start_line":161,"start_character":34,"end_line":161,"end_character":46},"updated":"2018-04-16 06:12:12.000000000","message":"typo: documentation","commit_id":"98278ae2e24e85be3c0914667d329f027a0a6c2d"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"b284719e407ce8732472e9a8e3e7ba77a1a33385","unresolved":false,"context_lines":[{"line_number":158,"context_line":"Changes that are not related to any feature implementation or bug report can be"},{"line_number":159,"context_line":"uploaded but are less welcomed by reviewers."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Improvement to either the code or doucmenation should be part of a larger"},{"line_number":162,"context_line":"effort, like if you would like to fix typos in documentation then you should"},{"line_number":163,"context_line":"do it for a larger block, like a whole guide. It is also preferred to report a"},{"line_number":164,"context_line":"story with tasks for a work item like this that can be tracked later."}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_2f2194b5","line":161,"range":{"start_line":161,"start_character":34,"end_line":161,"end_character":46},"in_reply_to":"9f6a8fd7_43270966","updated":"2018-04-16 09:44:08.000000000","message":"Done","commit_id":"98278ae2e24e85be3c0914667d329f027a0a6c2d"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"8f78535862d6772ed7f6f9b00affb8878167ab5b","unresolved":false,"context_lines":[{"line_number":2,"context_line":"How to Become a Patch Guru?"},{"line_number":3,"context_line":"###########################"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"When you are working on to implement a new feature or add documentation to an"},{"line_number":6,"context_line":"already existing one it is easy to get carried away by the work itself and"},{"line_number":7,"context_line":"forget about the unwritten rules of constructing your changes."},{"line_number":8,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_a64aa17d","line":5,"range":{"start_line":5,"start_character":54,"end_line":5,"end_character":57},"updated":"2018-04-16 19:20:24.000000000","message":"s/add/adding","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"8f78535862d6772ed7f6f9b00affb8878167ab5b","unresolved":false,"context_lines":[{"line_number":2,"context_line":"How to Become a Patch Guru?"},{"line_number":3,"context_line":"###########################"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"When you are working on to implement a new feature or add documentation to an"},{"line_number":6,"context_line":"already existing one it is easy to get carried away by the work itself and"},{"line_number":7,"context_line":"forget about the unwritten rules of constructing your changes."},{"line_number":8,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_86451d73","line":5,"range":{"start_line":5,"start_character":24,"end_line":5,"end_character":36},"updated":"2018-04-16 19:20:24.000000000","message":"s/to implement/implementing","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"57e89e9e736260feb9b6790931946a638556c574","unresolved":false,"context_lines":[{"line_number":2,"context_line":"How to Become a Patch Guru?"},{"line_number":3,"context_line":"###########################"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"When you are working on to implement a new feature or add documentation to an"},{"line_number":6,"context_line":"already existing one it is easy to get carried away by the work itself and"},{"line_number":7,"context_line":"forget about the unwritten rules of constructing your changes."},{"line_number":8,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_484dbd70","line":5,"range":{"start_line":5,"start_character":24,"end_line":5,"end_character":36},"in_reply_to":"9f6a8fd7_86451d73","updated":"2018-04-17 12:39:10.000000000","message":"Done","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"57e89e9e736260feb9b6790931946a638556c574","unresolved":false,"context_lines":[{"line_number":2,"context_line":"How to Become a Patch Guru?"},{"line_number":3,"context_line":"###########################"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"When you are working on to implement a new feature or add documentation to an"},{"line_number":6,"context_line":"already existing one it is easy to get carried away by the work itself and"},{"line_number":7,"context_line":"forget about the unwritten rules of constructing your changes."},{"line_number":8,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_e83db1bb","line":5,"range":{"start_line":5,"start_character":54,"end_line":5,"end_character":57},"in_reply_to":"9f6a8fd7_a64aa17d","updated":"2018-04-17 12:39:10.000000000","message":"Done","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"8f78535862d6772ed7f6f9b00affb8878167ab5b","unresolved":false,"context_lines":[{"line_number":3,"context_line":"###########################"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"When you are working on to implement a new feature or add documentation to an"},{"line_number":6,"context_line":"already existing one it is easy to get carried away by the work itself and"},{"line_number":7,"context_line":"forget about the unwritten rules of constructing your changes."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This section will guide you through how to create patches that people will want"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_2656912b","line":6,"range":{"start_line":6,"start_character":17,"end_line":6,"end_character":20},"updated":"2018-04-16 19:20:24.000000000","message":"\u0027feature\u0027 instead of \u0027one\u0027 ?","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"57e89e9e736260feb9b6790931946a638556c574","unresolved":false,"context_lines":[{"line_number":3,"context_line":"###########################"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"When you are working on to implement a new feature or add documentation to an"},{"line_number":6,"context_line":"already existing one it is easy to get carried away by the work itself and"},{"line_number":7,"context_line":"forget about the unwritten rules of constructing your changes."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This section will guide you through how to create patches that people will want"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_c869cdbe","line":6,"range":{"start_line":6,"start_character":17,"end_line":6,"end_character":20},"in_reply_to":"9f6a8fd7_2656912b","updated":"2018-04-17 12:39:10.000000000","message":"I didn\u0027t want to repeat the word.","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"8f78535862d6772ed7f6f9b00affb8878167ab5b","unresolved":false,"context_lines":[{"line_number":16,"context_line":"always suggest to break down your changes into smaller blocks."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"While there is no magic number try to **keep the size of your changes as small"},{"line_number":19,"context_line":"as possible**, but under a few hunderds of line changes total. It is applicable"},{"line_number":20,"context_line":"for changes including tests as well as the test code requires just as much"},{"line_number":21,"context_line":"review effort as the code changes themselves."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"In rare occasions when there is no good logical breakdown for a change your"},{"line_number":24,"context_line":"patch can grow to a thousand lines or more. In some cases it is acceptable as"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_e1516310","line":21,"range":{"start_line":19,"start_character":63,"end_line":21,"end_character":45},"updated":"2018-04-16 19:20:24.000000000","message":"\u0027Patches that are test heavy changes with little code change require as much effort as code heavy changes.\u0027","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"57e89e9e736260feb9b6790931946a638556c574","unresolved":false,"context_lines":[{"line_number":16,"context_line":"always suggest to break down your changes into smaller blocks."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"While there is no magic number try to **keep the size of your changes as small"},{"line_number":19,"context_line":"as possible**, but under a few hunderds of line changes total. It is applicable"},{"line_number":20,"context_line":"for changes including tests as well as the test code requires just as much"},{"line_number":21,"context_line":"review effort as the code changes themselves."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"In rare occasions when there is no good logical breakdown for a change your"},{"line_number":24,"context_line":"patch can grow to a thousand lines or more. In some cases it is acceptable as"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_087ee56a","line":21,"range":{"start_line":19,"start_character":63,"end_line":21,"end_character":45},"in_reply_to":"9f6a8fd7_e1516310","updated":"2018-04-17 12:39:10.000000000","message":"Done","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"8f78535862d6772ed7f6f9b00affb8878167ab5b","unresolved":false,"context_lines":[{"line_number":21,"context_line":"review effort as the code changes themselves."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"In rare occasions when there is no good logical breakdown for a change your"},{"line_number":24,"context_line":"patch can grow to a thousand lines or more. In some cases it is acceptable as"},{"line_number":25,"context_line":"you cannot extract the related test changes to another patch for instance, but"},{"line_number":26,"context_line":"it\u0027s highly unrecommended."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_817d0770","line":24,"updated":"2018-04-16 19:20:24.000000000","message":"Think about different ways you can break it down. Focus on implementing the new feature in one patch, adding documentation in another patch and then enabling the feature in a third patch.","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"57e89e9e736260feb9b6790931946a638556c574","unresolved":false,"context_lines":[{"line_number":21,"context_line":"review effort as the code changes themselves."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"In rare occasions when there is no good logical breakdown for a change your"},{"line_number":24,"context_line":"patch can grow to a thousand lines or more. In some cases it is acceptable as"},{"line_number":25,"context_line":"you cannot extract the related test changes to another patch for instance, but"},{"line_number":26,"context_line":"it\u0027s highly unrecommended."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_6867614f","line":24,"in_reply_to":"9f6a8fd7_817d0770","updated":"2018-04-17 12:39:10.000000000","message":"I added some details on how to structure patches later and fixed the above sentence.","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"8f78535862d6772ed7f6f9b00affb8878167ab5b","unresolved":false,"context_lines":[{"line_number":23,"context_line":"In rare occasions when there is no good logical breakdown for a change your"},{"line_number":24,"context_line":"patch can grow to a thousand lines or more. In some cases it is acceptable as"},{"line_number":25,"context_line":"you cannot extract the related test changes to another patch for instance, but"},{"line_number":26,"context_line":"it\u0027s highly unrecommended."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"You still need to expect a much longer review time for a large change like"},{"line_number":29,"context_line":"that even if people acknowledge the size of it. You can help reviewers by"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_0191f799","line":26,"range":{"start_line":26,"start_character":5,"end_line":26,"end_character":25},"updated":"2018-04-16 19:20:24.000000000","message":"s/highly unrecommended/ not highly recommended","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"57e89e9e736260feb9b6790931946a638556c574","unresolved":false,"context_lines":[{"line_number":23,"context_line":"In rare occasions when there is no good logical breakdown for a change your"},{"line_number":24,"context_line":"patch can grow to a thousand lines or more. In some cases it is acceptable as"},{"line_number":25,"context_line":"you cannot extract the related test changes to another patch for instance, but"},{"line_number":26,"context_line":"it\u0027s highly unrecommended."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"You still need to expect a much longer review time for a large change like"},{"line_number":29,"context_line":"that even if people acknowledge the size of it. You can help reviewers by"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_08f3450c","line":26,"range":{"start_line":26,"start_character":5,"end_line":26,"end_character":25},"in_reply_to":"9f6a8fd7_0191f799","updated":"2018-04-17 12:39:10.000000000","message":"Done","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"8f78535862d6772ed7f6f9b00affb8878167ab5b","unresolved":false,"context_lines":[{"line_number":25,"context_line":"you cannot extract the related test changes to another patch for instance, but"},{"line_number":26,"context_line":"it\u0027s highly unrecommended."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"You still need to expect a much longer review time for a large change like"},{"line_number":29,"context_line":"that even if people acknowledge the size of it. You can help reviewers by"},{"line_number":30,"context_line":"adding code comments and writing a detailed commit message to describe the"},{"line_number":31,"context_line":"changes you introduced in your patch."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_e16403bc","line":29,"range":{"start_line":28,"start_character":69,"end_line":29,"end_character":47},"updated":"2018-04-16 19:20:24.000000000","message":"The last part of the sentence is somewhat confusing. Maybe just make the sentence say: \u0027Longer patches require more time to review; wherever you can, keep the length reasonable. And where you can\u0027t, you can help the reviewers by...\u0027","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"57e89e9e736260feb9b6790931946a638556c574","unresolved":false,"context_lines":[{"line_number":25,"context_line":"you cannot extract the related test changes to another patch for instance, but"},{"line_number":26,"context_line":"it\u0027s highly unrecommended."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"You still need to expect a much longer review time for a large change like"},{"line_number":29,"context_line":"that even if people acknowledge the size of it. You can help reviewers by"},{"line_number":30,"context_line":"adding code comments and writing a detailed commit message to describe the"},{"line_number":31,"context_line":"changes you introduced in your patch."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_28464925","line":29,"range":{"start_line":28,"start_character":69,"end_line":29,"end_character":47},"in_reply_to":"9f6a8fd7_e16403bc","updated":"2018-04-17 12:39:10.000000000","message":"Done","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"8f78535862d6772ed7f6f9b00affb8878167ab5b","unresolved":false,"context_lines":[{"line_number":30,"context_line":"adding code comments and writing a detailed commit message to describe the"},{"line_number":31,"context_line":"changes you introduced in your patch."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"\u003cIs there a commit message section to refer to?\u003e"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Patch Chains, Depends-On Tag and Gerrit Topics"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_e10963dd","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":48},"updated":"2018-04-16 19:20:24.000000000","message":"I think there is a patch out for it now: https://review.openstack.org/#/c/559294/","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"57e89e9e736260feb9b6790931946a638556c574","unresolved":false,"context_lines":[{"line_number":30,"context_line":"adding code comments and writing a detailed commit message to describe the"},{"line_number":31,"context_line":"changes you introduced in your patch."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"\u003cIs there a commit message section to refer to?\u003e"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Patch Chains, Depends-On Tag and Gerrit Topics"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_a851f9da","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":48},"in_reply_to":"9f6a8fd7_e10963dd","updated":"2018-04-17 12:39:10.000000000","message":"Cool, will keep an eye on that one.","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"8f78535862d6772ed7f6f9b00affb8878167ab5b","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Patch Chains, Depends-On Tag and Gerrit Topics"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"In case of complex feature implementation work when you need to introduce"},{"line_number":39,"context_line":"changes to multiple modules of the same project or multiple projects you need"},{"line_number":40,"context_line":"to be very careful with managing the dependencies."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_21ff5bab","line":38,"range":{"start_line":38,"start_character":3,"end_line":38,"end_character":7},"updated":"2018-04-16 19:20:24.000000000","message":"s/case/the case","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"57e89e9e736260feb9b6790931946a638556c574","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Patch Chains, Depends-On Tag and Gerrit Topics"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"In case of complex feature implementation work when you need to introduce"},{"line_number":39,"context_line":"changes to multiple modules of the same project or multiple projects you need"},{"line_number":40,"context_line":"to be very careful with managing the dependencies."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_085a65f2","line":38,"range":{"start_line":38,"start_character":3,"end_line":38,"end_character":7},"in_reply_to":"9f6a8fd7_21ff5bab","updated":"2018-04-17 12:39:10.000000000","message":"Done","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"8f78535862d6772ed7f6f9b00affb8878167ab5b","unresolved":false,"context_lines":[{"line_number":40,"context_line":"to be very careful with managing the dependencies."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"There are multiple options to choose from depending on the structure of your"},{"line_number":43,"context_line":"design you can either organize the changes in patch chains or you can use the"},{"line_number":44,"context_line":"\u0027Depends-On\u0027 tag."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Depends-On Tag"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_81b507f1","line":43,"range":{"start_line":43,"start_character":1,"end_line":43,"end_character":13},"updated":"2018-04-16 19:20:24.000000000","message":"Break up this sentence here: \"...of your design. You can either...\"","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"57e89e9e736260feb9b6790931946a638556c574","unresolved":false,"context_lines":[{"line_number":40,"context_line":"to be very careful with managing the dependencies."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"There are multiple options to choose from depending on the structure of your"},{"line_number":43,"context_line":"design you can either organize the changes in patch chains or you can use the"},{"line_number":44,"context_line":"\u0027Depends-On\u0027 tag."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Depends-On Tag"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_4805bdc1","line":43,"range":{"start_line":43,"start_character":1,"end_line":43,"end_character":13},"in_reply_to":"9f6a8fd7_81b507f1","updated":"2018-04-17 12:39:10.000000000","message":"Done","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"8f78535862d6772ed7f6f9b00affb8878167ab5b","unresolved":false,"context_lines":[{"line_number":140,"context_line":"chains and independent changes."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"It is a good practice to group changes by modules in a project, for instance"},{"line_number":143,"context_line":"vrit driver changes, compute manager and api changes in case of OpenStsck"},{"line_number":144,"context_line":"Compute."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"By grouping the changes per module you can also construct the chain or"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_417daf1a","line":143,"range":{"start_line":143,"start_character":64,"end_line":143,"end_character":73},"updated":"2018-04-16 19:20:24.000000000","message":"s/OpenStsck/OpenStack","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"8f78535862d6772ed7f6f9b00affb8878167ab5b","unresolved":false,"context_lines":[{"line_number":140,"context_line":"chains and independent changes."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"It is a good practice to group changes by modules in a project, for instance"},{"line_number":143,"context_line":"vrit driver changes, compute manager and api changes in case of OpenStsck"},{"line_number":144,"context_line":"Compute."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"By grouping the changes per module you can also construct the chain or"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_a1b60bd9","line":143,"range":{"start_line":143,"start_character":0,"end_line":143,"end_character":4},"updated":"2018-04-16 19:20:24.000000000","message":"s/vrit/virt","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"57e89e9e736260feb9b6790931946a638556c574","unresolved":false,"context_lines":[{"line_number":140,"context_line":"chains and independent changes."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"It is a good practice to group changes by modules in a project, for instance"},{"line_number":143,"context_line":"vrit driver changes, compute manager and api changes in case of OpenStsck"},{"line_number":144,"context_line":"Compute."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"By grouping the changes per module you can also construct the chain or"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_482e1d44","line":143,"range":{"start_line":143,"start_character":64,"end_line":143,"end_character":73},"in_reply_to":"9f6a8fd7_417daf1a","updated":"2018-04-17 12:39:10.000000000","message":"Done","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"57e89e9e736260feb9b6790931946a638556c574","unresolved":false,"context_lines":[{"line_number":140,"context_line":"chains and independent changes."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"It is a good practice to group changes by modules in a project, for instance"},{"line_number":143,"context_line":"vrit driver changes, compute manager and api changes in case of OpenStsck"},{"line_number":144,"context_line":"Compute."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"By grouping the changes per module you can also construct the chain or"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_68e201d8","line":143,"range":{"start_line":143,"start_character":0,"end_line":143,"end_character":4},"in_reply_to":"9f6a8fd7_a1b60bd9","updated":"2018-04-17 12:39:10.000000000","message":"Done","commit_id":"3e7aa4e596cb64c9f2d3a2b94d980ec275a80176"},{"author":{"_account_id":17765,"name":"Frank Kloeker","email":"f.kloeker@telekom.de","username":"eumel8"},"change_message_id":"4bc5a5120618727ce9de694e58ec1f6f5916bab9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"###########################"},{"line_number":2,"context_line":"How to Become a Patch Guru?"},{"line_number":3,"context_line":"###########################"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"When you are working on implementing a new feature or adding documentation to"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9f6a8fd7_e7839703","line":2,"range":{"start_line":2,"start_character":7,"end_line":2,"end_character":8},"updated":"2018-04-17 19:51:41.000000000","message":"Is there a deeper sense for capital letters of some words?\nI think this will be harder to translate such sentences beside proper names like \"Patch Guru\".","commit_id":"8f8eed03138264a9fa35d1fed3b6f748f763663b"},{"author":{"_account_id":17765,"name":"Frank Kloeker","email":"f.kloeker@telekom.de","username":"eumel8"},"change_message_id":"4bc5a5120618727ce9de694e58ec1f6f5916bab9","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This section will guide you through how to create patches that people will want"},{"line_number":10,"context_line":"to review."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The Right Size"},{"line_number":13,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Reviewing large patches is very inconvenient and time consuming therefore we"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9f6a8fd7_c77a1323","line":12,"range":{"start_line":12,"start_character":4,"end_line":12,"end_character":5},"updated":"2018-04-17 19:51:41.000000000","message":"same here","commit_id":"8f8eed03138264a9fa35d1fed3b6f748f763663b"},{"author":{"_account_id":17765,"name":"Frank Kloeker","email":"f.kloeker@telekom.de","username":"eumel8"},"change_message_id":"4bc5a5120618727ce9de694e58ec1f6f5916bab9","unresolved":false,"context_lines":[{"line_number":86,"context_line":"also links which help you navigate between the changes to review them when you"},{"line_number":87,"context_line":"upload a new version."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"How to Handle Chains?"},{"line_number":90,"context_line":"---------------------"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"A patch chain is easy to handle if you keep in mind a few recommendations:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9f6a8fd7_67ac678c","line":89,"range":{"start_line":89,"start_character":7,"end_line":89,"end_character":8},"updated":"2018-04-17 19:51:41.000000000","message":"capital letter also here","commit_id":"8f8eed03138264a9fa35d1fed3b6f748f763663b"},{"author":{"_account_id":17765,"name":"Frank Kloeker","email":"f.kloeker@telekom.de","username":"eumel8"},"change_message_id":"4bc5a5120618727ce9de694e58ec1f6f5916bab9","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"* To modify a patch within a chain you will need to use interactive rebase:"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":" git rebase -i HEAD^"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"You need as many \u0027^\u0027 as the number of the patch you want to edit first from the"},{"line_number":106,"context_line":"top of the chain. Gerrit also provides you options to edit the patch itself or"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9f6a8fd7_07e24b04","line":103,"range":{"start_line":103,"start_character":1,"end_line":103,"end_character":20},"updated":"2018-04-17 19:51:41.000000000","message":"why not use a\n.. code-block:: console","commit_id":"8f8eed03138264a9fa35d1fed3b6f748f763663b"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"86b6be4e9665e186e04964a5db181c080e69ebc2","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"* To modify a patch within a chain you will need to use interactive rebase:"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":" git rebase -i HEAD^"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"You need as many \u0027^\u0027 as the number of the patch you want to edit first from the"},{"line_number":106,"context_line":"top of the chain. Gerrit also provides you options to edit the patch itself or"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9f6a8fd7_0ef9fb4b","line":103,"range":{"start_line":103,"start_character":1,"end_line":103,"end_character":20},"in_reply_to":"9f6a8fd7_07e24b04","updated":"2018-04-18 04:05:04.000000000","message":"Done","commit_id":"8f8eed03138264a9fa35d1fed3b6f748f763663b"},{"author":{"_account_id":17765,"name":"Frank Kloeker","email":"f.kloeker@telekom.de","username":"eumel8"},"change_message_id":"4bc5a5120618727ce9de694e58ec1f6f5916bab9","unresolved":false,"context_lines":[{"line_number":134,"context_line":"This is a good way to help tracking related changes let that be a feature"},{"line_number":135,"context_line":"implementation, bugfix or documentation work."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"How to Structure Your Changes?"},{"line_number":138,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"When your work item grows above a particular size and you need to upload"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9f6a8fd7_27b8afc6","line":137,"range":{"start_line":137,"start_character":7,"end_line":137,"end_character":8},"updated":"2018-04-17 19:51:41.000000000","message":"capital letter also here","commit_id":"8f8eed03138264a9fa35d1fed3b6f748f763663b"},{"author":{"_account_id":17765,"name":"Frank Kloeker","email":"f.kloeker@telekom.de","username":"eumel8"},"change_message_id":"4bc5a5120618727ce9de694e58ec1f6f5916bab9","unresolved":false,"context_lines":[{"line_number":155,"context_line":"implemented first that you will use later when you implement new API"},{"line_number":156,"context_line":"functionality."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"The Right Content"},{"line_number":159,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Changes that are not related to any feature implementation or bug report can be"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9f6a8fd7_07b7abd7","line":158,"range":{"start_line":158,"start_character":4,"end_line":158,"end_character":5},"updated":"2018-04-17 19:51:41.000000000","message":"capital letter also here","commit_id":"8f8eed03138264a9fa35d1fed3b6f748f763663b"}]}
