)]}'
{"freezer/common/config.py":[{"author":{"_account_id":14123,"name":"Stefano Canepa","email":"sc@linux.it","username":"sc"},"change_message_id":"b8c43b8e729a2b63c630c23e48290e715294d52f","unresolved":false,"context_lines":[{"line_number":99,"context_line":"               choices\u003d[\u0027tar\u0027, \u0027rsync\u0027],"},{"line_number":100,"context_line":"               dest\u003d\u0027incremental_engine\u0027,"},{"line_number":101,"context_line":"               default\u003d\u0027tar\u0027,"},{"line_number":102,"context_line":"               help\u003d\"Set the incremental engine used for incremental backups.\""},{"line_number":103,"context_line":"                    \"With tar, the file inode will be checked for changes \""},{"line_number":104,"context_line":"                    \"amid backup execution. If the file inode changed, the \""},{"line_number":105,"context_line":"                    \"whole file will be backed up. With rsync, the data blocks \""}],"source_content_type":"text/x-python","patch_set":5,"id":"da0c15f0_015ff2e5","line":102,"range":{"start_line":102,"start_character":29,"end_line":102,"end_character":40},"updated":"2016-03-25 23:44:13.000000000","message":"IMHO this needs to be: Set the engine used for incremental backups.","commit_id":"b6b88192fffb4d4424c5c08c60d78d0909d34d6f"},{"author":{"_account_id":14123,"name":"Stefano Canepa","email":"sc@linux.it","username":"sc"},"change_message_id":"b8c43b8e729a2b63c630c23e48290e715294d52f","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                    \"amid backup execution. If the file inode changed, the \""},{"line_number":105,"context_line":"                    \"whole file will be backed up. With rsync, the data blocks \""},{"line_number":106,"context_line":"                    \"changes will be verified and only the changed blocks \""},{"line_number":107,"context_line":"                    \"will be backed up. Tar is faster, but is uses more space \""},{"line_number":108,"context_line":"                    \"and bandwidth. Rsync is slower, but uses less space and \""},{"line_number":109,"context_line":"                    \"bandwidth.\"),"},{"line_number":110,"context_line":"    cfg.StrOpt(\u0027container\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"da0c15f0_215cb6ec","line":107,"range":{"start_line":107,"start_character":47,"end_line":107,"end_character":53},"updated":"2016-03-25 23:44:13.000000000","message":"... and this: Tar is faster but uses more space","commit_id":"b6b88192fffb4d4424c5c08c60d78d0909d34d6f"}],"freezer/engine/rsync/rsync_engine.py":[{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"b1ebe08895fe192406b7d891911e4d8ed06f9bd1","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            self, compression_algo, dereference_symlink, exclude,"},{"line_number":51,"context_line":"            main_storage, is_windows, encrypt_pass_file\u003dNone,"},{"line_number":52,"context_line":"            dry_run\u003dFalse, chunk_size\u003dDEFAULT_CHUNK_SIZE,"},{"line_number":53,"context_line":"            incremental_engine\u003d\u0027tar\u0027):"},{"line_number":54,"context_line":"        self.compression_algo \u003d compression_algo"},{"line_number":55,"context_line":"        self.encrypt_pass_file \u003d encrypt_pass_file"},{"line_number":56,"context_line":"        self.dereference_symlink \u003d dereference_symlink"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa0719c6_9e2ac88e","line":53,"range":{"start_line":53,"start_character":35,"end_line":53,"end_character":38},"updated":"2016-03-23 22:07:52.000000000","message":"Might be a good idea to call the super class constructor even if it does nothing. Add no-arg constructor to BackupEngine so that future changes to BackupEngine might do something in the constructor.","commit_id":"c1123564b0b41bad429b15f1cbceab2970a48dc8"},{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"b1ebe08895fe192406b7d891911e4d8ed06f9bd1","unresolved":false,"context_lines":[{"line_number":638,"context_line":""},{"line_number":639,"context_line":"        return inode_dict, inode_bin_str"},{"line_number":640,"context_line":""},{"line_number":641,"context_line":"    def get_sign_delta(self, fs_path, exclude\u003dNone,"},{"line_number":642,"context_line":"                       old_fs_meta\u003dNone, new_fs_meta\u003dNone, new_level\u003d0):"},{"line_number":643,"context_line":"        \"\"\"Compute the file or fs tree path signatures."},{"line_number":644,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa0719c6_316c8dcf","line":641,"range":{"start_line":641,"start_character":8,"end_line":641,"end_character":22},"updated":"2016-03-23 22:07:52.000000000","message":"This method might be improved if it was broken into smaller methods.","commit_id":"c1123564b0b41bad429b15f1cbceab2970a48dc8"}],"freezer/engine/tar/tar_engine.py":[{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"b1ebe08895fe192406b7d891911e4d8ed06f9bd1","unresolved":false,"context_lines":[{"line_number":32,"context_line":"            self, compression_algo, dereference_symlink, exclude, main_storage,"},{"line_number":33,"context_line":"            is_windows, encrypt_pass_file\u003dNone, dry_run\u003dFalse,"},{"line_number":34,"context_line":"            chunk_size\u003dDEFAULT_CHUNK_SIZE, hostname_backupname_timestamp\u003dNone,"},{"line_number":35,"context_line":"            incremental_engine\u003d\u0027tar\u0027):"},{"line_number":36,"context_line":"        self.compression_algo \u003d compression_algo"},{"line_number":37,"context_line":"        self.encrypt_pass_file \u003d encrypt_pass_file"},{"line_number":38,"context_line":"        self.dereference_symlink \u003d dereference_symlink"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa0719c6_516781e8","line":35,"range":{"start_line":35,"start_character":35,"end_line":35,"end_character":38},"updated":"2016-03-23 22:07:52.000000000","message":"Call super class constructor?","commit_id":"c1123564b0b41bad429b15f1cbceab2970a48dc8"}],"freezer/storage/swift.py":[{"author":{"_account_id":14123,"name":"Stefano Canepa","email":"sc@linux.it","username":"sc"},"change_message_id":"b8c43b8e729a2b63c630c23e48290e715294d52f","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        \"\"\""},{"line_number":40,"context_line":"        :type client_manager: freezer.osclients.ClientManager"},{"line_number":41,"context_line":"        :type container: str"},{"line_number":42,"context_line":"        \"\"\""},{"line_number":43,"context_line":"        self.client_manager \u003d client_manager"},{"line_number":44,"context_line":"        # The containers used by freezer to executed backups needs to have"},{"line_number":45,"context_line":"        # freezer_ prefix in the name. If the user provider container doesn\u0027t"}],"source_content_type":"text/x-python","patch_set":5,"id":"da0c15f0_81e822e4","line":42,"range":{"start_line":42,"start_character":8,"end_line":42,"end_character":11},"updated":"2016-03-25 23:44:13.000000000","message":"Comment does not match with code.","commit_id":"b6b88192fffb4d4424c5c08c60d78d0909d34d6f"}],"freezer/utils/config.py":[{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"b1ebe08895fe192406b7d891911e4d8ed06f9bd1","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from freezer.utils import utils"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"EXPORT \u003d re.compile(r\"^\\s*export\\s+([^\u003d^#^\\s]+)\\s*\u003d\\s*([^#^\\n]*)\\s*$\","},{"line_number":27,"context_line":"                    re.MULTILINE)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"INI \u003d re.compile(r\"^\\s*([^\u003d#\\s]+)\\s*\u003d[\\t]*([^#\\n]*)\\s*$\", re.MULTILINE)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa0719c6_11850906","line":26,"range":{"start_line":26,"start_character":60,"end_line":26,"end_character":61},"updated":"2016-03-23 22:07:52.000000000","message":"Might want to explain what these regexes do and give examples.","commit_id":"c1123564b0b41bad429b15f1cbceab2970a48dc8"}],"tests/unit/storages/test_base.py":[{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"b1ebe08895fe192406b7d891911e4d8ed06f9bd1","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class TestBackup(unittest.TestCase):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    tar_incremental_engine \u003d \u0027tar\u0027"},{"line_number":24,"context_line":"    rsync_incremental_engine \u003d \u0027rsync\u0027"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def test_backup_parse(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa0719c6_11ea29ac","line":23,"range":{"start_line":23,"start_character":30,"end_line":23,"end_character":33},"updated":"2016-03-23 22:07:52.000000000","message":"Constants are usually uppercase for visual separation and recognition.","commit_id":"c1123564b0b41bad429b15f1cbceab2970a48dc8"}],"tests/unit/storages/test_swift.py":[{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"b1ebe08895fe192406b7d891911e4d8ed06f9bd1","unresolved":false,"context_lines":[{"line_number":34,"context_line":"            100, skip_prepare\u003dTrue"},{"line_number":35,"context_line":"        )"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        self.tar_incremental_engine \u003d \u0027tar\u0027"},{"line_number":38,"context_line":"        self.rsync_incremental_engine \u003d \u0027rsync\u0027"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        self.files \u003d ["}],"source_content_type":"text/x-python","patch_set":4,"id":"fa0719c6_51f7818a","line":37,"range":{"start_line":37,"start_character":13,"end_line":37,"end_character":35},"updated":"2016-03-23 22:07:52.000000000","message":"Uppercase?","commit_id":"c1123564b0b41bad429b15f1cbceab2970a48dc8"},{"author":{"_account_id":14123,"name":"Stefano Canepa","email":"sc@linux.it","username":"sc"},"change_message_id":"b8c43b8e729a2b63c630c23e48290e715294d52f","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        )"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        self.tar_incremental_engine \u003d \u0027tar\u0027"},{"line_number":38,"context_line":"        self.rsync_incremental_engine \u003d \u0027rsync\u0027"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        self.files \u003d ["},{"line_number":41,"context_line":"            \"tar_metadata_hostname_backup_1000_0\","}],"source_content_type":"text/x-python","patch_set":5,"id":"da0c15f0_a1c4465f","line":38,"range":{"start_line":38,"start_character":13,"end_line":38,"end_character":37},"updated":"2016-03-25 23:44:13.000000000","message":"It looks unused","commit_id":"b6b88192fffb4d4424c5c08c60d78d0909d34d6f"}]}
