Reviewed a massive 400 file Pull Request from a 'community contributor' that upgraded one of our systems from the deprecated .NET Framework 4 to .NET [Core] 5.
Working in open source with changes from folks outside your team can be challenging, especially when the scope of work is so large. It's important to be respectful but firm, and meticulous without nitpicking, all in a publicly-viewable forum.
It took about a month to complete, capturing the high-level differences and low-hanging fruit, and then testing and reviewing changes with a fine-toothed comb, project-by-project and file-by-file.
Besides defects and issues (which there were surprisingly few) there were opportunities to make my job as reviewer easier (the diff was initially 800 files due to renames) which needed to be addressed quickly, as well as minor-but-important corrections to match coding styles and practices common to our other applications and systems.
Since the diff was so large, it was impossible to use GitHub's inline comment tools, so instead I left top-level comments with checklists related to the changes. Conversation with the contributors could get lost in the sea of things so it was important to group comments well. An accidental merge of another feature by a teammate meant we had to do some Git fancy footwork to right the path of the tree.
Overall the critical feedback was limited and the contributors were great to work with. Changes were merged with only a couple follow-up tasks for our internal team. A success!
Working in open source with changes from folks outside your team can be challenging, especially when the scope of work is so large. It's important to be respectful but firm, and meticulous without nitpicking, all in a publicly-viewable forum.
It took about a month to complete, capturing the high-level differences and low-hanging fruit, and then testing and reviewing changes with a fine-toothed comb, project-by-project and file-by-file.
Besides defects and issues (which there were surprisingly few) there were opportunities to make my job as reviewer easier (the diff was initially 800 files due to renames) which needed to be addressed quickly, as well as minor-but-important corrections to match coding styles and practices common to our other applications and systems.
Since the diff was so large, it was impossible to use GitHub's inline comment tools, so instead I left top-level comments with checklists related to the changes. Conversation with the contributors could get lost in the sea of things so it was important to group comments well. An accidental merge of another feature by a teammate meant we had to do some Git fancy footwork to right the path of the tree.
Overall the critical feedback was limited and the contributors were great to work with. Changes were merged with only a couple follow-up tasks for our internal team. A success!