)]}'
{"swift/cli/relinker.py":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"90d2ea38db23d0bbac6abb2a51d052a2fb0ec6b8","unresolved":true,"context_lines":[{"line_number":251,"context_line":"        raise NotImplementedError"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    def create_link(self, fname):"},{"line_number":254,"context_line":"        newfname \u003d replace_partition_in_path(fname, self.next_part_power)"},{"line_number":255,"context_line":"        try:"},{"line_number":256,"context_line":"            diskfile.relink_paths(fname, newfname, check_existing\u003dTrue)"},{"line_number":257,"context_line":"            # TODO: separate count of links created vs files visited"}],"source_content_type":"text/x-python","patch_set":1,"id":"2834a2f5_9fdfc651","line":254,"updated":"2021-03-10 05:03:25.000000000","message":"like my comment below, this doesn\u0027t check the links are different. And I assume a link to itself is bad. Howerver, at least everytime this method is called there is a missing files guard which indicates the files are different.","commit_id":"8905365d0de8991506ec2c6bad0da47b72898c7a"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"90d2ea38db23d0bbac6abb2a51d052a2fb0ec6b8","unresolved":true,"context_lines":[{"line_number":263,"context_line":"            self.logger.warning(\"Relinking %s to %s failed: %s\","},{"line_number":264,"context_line":"                                fname, newfname, exc)"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    def find_missing_files(self, hash_path, new_hash_path):"},{"line_number":267,"context_line":"        # Compare the contents of each hash dir with contents of same hash"},{"line_number":268,"context_line":"        # dir in its new partition to verify that the new location has the"},{"line_number":269,"context_line":"        # most up to date set of files. The new location may have newer"}],"source_content_type":"text/x-python","patch_set":1,"id":"c0524ac1_27565dd4","line":266,"updated":"2021-03-10 05:03:25.000000000","message":"Do we want to check that the hash_path and new_hash_path are not the same. Because if they are there wont be any missing files so a link wont be made, but means we\u0027re causing needless IO.\n\nNot 100% sure it could happen so long as the patitions filter is working, but might be a good safe guard.","commit_id":"8905365d0de8991506ec2c6bad0da47b72898c7a"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"90d2ea38db23d0bbac6abb2a51d052a2fb0ec6b8","unresolved":true,"context_lines":[{"line_number":434,"context_line":""},{"line_number":435,"context_line":"        # new location must have at least the set of required files"},{"line_number":436,"context_line":"        if missing_files:"},{"line_number":437,"context_line":"            # TODO: should this warning be more dictinct and or more"},{"line_number":438,"context_line":"            # succinct? this is the *bad* case"},{"line_number":439,"context_line":"            self.logger.warning("},{"line_number":440,"context_line":"                \u0027Error cleaning up %s: files %s need relinking to %s\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"edefa81e_40acb01b","line":437,"range":{"start_line":437,"start_character":48,"end_line":437,"end_character":56},"updated":"2021-03-10 05:03:25.000000000","message":"distinct","commit_id":"8905365d0de8991506ec2c6bad0da47b72898c7a"}],"swift/common/utils.py":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"90d2ea38db23d0bbac6abb2a51d052a2fb0ec6b8","unresolved":true,"context_lines":[{"line_number":3217,"context_line":"                             hook_pre_partition\u003dNone, hook_post_partition\u003dNone,"},{"line_number":3218,"context_line":"                             hook_pre_suffix\u003dNone, hook_post_suffix\u003dNone,"},{"line_number":3219,"context_line":"                             hook_pre_hash\u003dNone, hook_post_hash\u003dNone,"},{"line_number":3220,"context_line":"                             error_counter\u003dNone, yield_dirs\u003dFalse):"},{"line_number":3221,"context_line":"    \"\"\""},{"line_number":3222,"context_line":"    Given a devices path and a data directory, yield (path, device,"},{"line_number":3223,"context_line":"    partition) for all files in that directory"}],"source_content_type":"text/x-python","patch_set":1,"id":"103aedf0_aa0c11c1","line":3220,"updated":"2021-03-10 05:03:25.000000000","message":"yield_dirs is probably fine, but a wonder if yeild_hash_dirs is a better descriptive name?","commit_id":"8905365d0de8991506ec2c6bad0da47b72898c7a"}]}
