)]}'
{"cinder/backup/chunkeddriver.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"9b5f448ef7251d7f2e28cbb0499b10f959dbbb9c","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        self.az \u003d CONF.storage_availability_zone"},{"line_number":97,"context_line":"        self.backup_compression_algorithm \u003d CONF.backup_compression_algorithm"},{"line_number":98,"context_line":"        self.compressor \u003d \\"},{"line_number":99,"context_line":"            self._get_compressor(CONF.backup_compression_algorithm)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    # To create your own \"chunked\" backup driver, implement the following"},{"line_number":102,"context_line":"    # abstract methods."}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_d1234fa5","line":99,"updated":"2015-03-11 19:49:16.000000000","message":"If you\u0027ll post new patch, pleas change \\ with ().\nI won\u0027t block this patch for it","commit_id":"d07959585a42436a34613916cad0463c03b56592"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"9b5f448ef7251d7f2e28cbb0499b10f959dbbb9c","unresolved":false,"context_lines":[{"line_number":306,"context_line":"            comp_size_bytes \u003d len(data)"},{"line_number":307,"context_line":"            LOG.debug(\u0027compressed %(data_size_bytes)d bytes of data \u0027"},{"line_number":308,"context_line":"                      \u0027to %(comp_size_bytes)d bytes using \u0027"},{"line_number":309,"context_line":"                      \u0027%(algorithm)s\u0027 %"},{"line_number":310,"context_line":"                      {"},{"line_number":311,"context_line":"                          \u0027data_size_bytes\u0027: data_size_bytes,"},{"line_number":312,"context_line":"                          \u0027comp_size_bytes\u0027: comp_size_bytes,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_b157bb01","line":309,"updated":"2015-03-11 19:49:16.000000000","message":"%\u003d\u003e,","commit_id":"d07959585a42436a34613916cad0463c03b56592"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"9b5f448ef7251d7f2e28cbb0499b10f959dbbb9c","unresolved":false,"context_lines":[{"line_number":323,"context_line":"            writer.write(data)"},{"line_number":324,"context_line":"        md5 \u003d hashlib.md5(data).hexdigest()"},{"line_number":325,"context_line":"        obj[object_name][\u0027md5\u0027] \u003d md5"},{"line_number":326,"context_line":"        LOG.debug(\u0027backup MD5 for %(object_name)s: %(md5)s\u0027 %"},{"line_number":327,"context_line":"                  {\u0027object_name\u0027: object_name, \u0027md5\u0027: md5})"},{"line_number":328,"context_line":"        object_list.append(obj)"},{"line_number":329,"context_line":"        object_id +\u003d 1"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_d15a6f29","line":326,"updated":"2015-03-11 19:49:16.000000000","message":"%\u003d\u003e,","commit_id":"d07959585a42436a34613916cad0463c03b56592"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"9b5f448ef7251d7f2e28cbb0499b10f959dbbb9c","unresolved":false,"context_lines":[{"line_number":573,"context_line":"            decompressor \u003d self._get_compressor(compression_algorithm)"},{"line_number":574,"context_line":"            volume_file.seek(metadata_object.values()[0][\u0027offset\u0027])"},{"line_number":575,"context_line":"            if decompressor is not None:"},{"line_number":576,"context_line":"                LOG.debug(\u0027decompressing data using %s algorithm\u0027 %"},{"line_number":577,"context_line":"                          compression_algorithm)"},{"line_number":578,"context_line":"                decompressed \u003d decompressor.decompress(body)"},{"line_number":579,"context_line":"                volume_file.write(decompressed)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_f16773e8","line":576,"updated":"2015-03-11 19:49:16.000000000","message":"%\u003d\u003e,","commit_id":"d07959585a42436a34613916cad0463c03b56592"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"9b5f448ef7251d7f2e28cbb0499b10f959dbbb9c","unresolved":false,"context_lines":[{"line_number":670,"context_line":"            try:"},{"line_number":671,"context_line":"                object_names \u003d self._generate_object_names(backup)"},{"line_number":672,"context_line":"            except Exception:"},{"line_number":673,"context_line":"                LOG.warn(_LW(\u0027swift error while listing objects, continuing\u0027"},{"line_number":674,"context_line":"                             \u0027 with delete.\u0027))"},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"            for object_name in object_names:"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_ee0b1229","line":673,"updated":"2015-03-11 19:49:16.000000000","message":"Should we log exception too? Something like LOG.debug(\u0027Swift error...\u0027, exc)","commit_id":"d07959585a42436a34613916cad0463c03b56592"}],"cinder/backup/drivers/nfs.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"f52185590a461bcdcc65741ba2f07235cd8ece63","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"nfsbackup_service_opts \u003d ["},{"line_number":34,"context_line":"    cfg.IntOpt(\u0027backup_file_size\u0027,"},{"line_number":35,"context_line":"               default\u003d2000000000,"},{"line_number":36,"context_line":"               help\u003d\u0027The size in bytes of backup files\u0027),"},{"line_number":37,"context_line":"    cfg.IntOpt(\u0027backup_max_read_size_bytes\u0027,"},{"line_number":38,"context_line":"               default \u003d 1048576,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_baad2033","line":35,"updated":"2015-02-26 19:26:46.000000000","message":"Does it make sense to have a default here?  Maybe I just don\u0027t understand how this is used.  It goes into chunk_size_bytes.  The name of the option makes me think you are setting up a default size for the file that is doing the backing up which doesn\u0027t make sense.  Can you better explain this please?","commit_id":"bf460a233c70fdf98312fd912ef3a00c8dd9f1b9"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"62666ca1eadebf265479d94580b9e81232665c1b","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"nfsbackup_service_opts \u003d ["},{"line_number":34,"context_line":"    cfg.IntOpt(\u0027backup_file_size\u0027,"},{"line_number":35,"context_line":"               default\u003d2000000000,"},{"line_number":36,"context_line":"               help\u003d\u0027The size in bytes of backup files\u0027),"},{"line_number":37,"context_line":"    cfg.IntOpt(\u0027backup_max_read_size_bytes\u0027,"},{"line_number":38,"context_line":"               default \u003d 1048576,"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_278d9a32","line":35,"in_reply_to":"ba7be1f8_4eef6387","updated":"2015-03-04 05:14:47.000000000","message":"That helps a lot.  Thank you!","commit_id":"bf460a233c70fdf98312fd912ef3a00c8dd9f1b9"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"9c6be53c6bd3ba41a96cd638c7d92f173357ce01","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"nfsbackup_service_opts \u003d ["},{"line_number":34,"context_line":"    cfg.IntOpt(\u0027backup_file_size\u0027,"},{"line_number":35,"context_line":"               default\u003d2000000000,"},{"line_number":36,"context_line":"               help\u003d\u0027The size in bytes of backup files\u0027),"},{"line_number":37,"context_line":"    cfg.IntOpt(\u0027backup_max_read_size_bytes\u0027,"},{"line_number":38,"context_line":"               default \u003d 1048576,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_4eef6387","line":35,"in_reply_to":"ba7be1f8_baad2033","updated":"2015-03-03 15:40:08.000000000","message":"I\u0027m going to change the help to say:\n   \u0027The maximum size in bytes of the files used to hold backups.  If the volume being backed up exceeds this size then it will be backed up into multiple files.\u0027\n\nPlease let me know if that helps.\n\nThe default setting is a common Linux max file size.  There\u0027s not a whole lot of sense, other things being equal, in breaking the backup into multiple files in the backup repository unless one has to do so.","commit_id":"bf460a233c70fdf98312fd912ef3a00c8dd9f1b9"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"f52185590a461bcdcc65741ba2f07235cd8ece63","unresolved":false,"context_lines":[{"line_number":33,"context_line":"nfsbackup_service_opts \u003d ["},{"line_number":34,"context_line":"    cfg.IntOpt(\u0027backup_file_size\u0027,"},{"line_number":35,"context_line":"               default\u003d2000000000,"},{"line_number":36,"context_line":"               help\u003d\u0027The size in bytes of backup files\u0027),"},{"line_number":37,"context_line":"    cfg.IntOpt(\u0027backup_max_read_size_bytes\u0027,"},{"line_number":38,"context_line":"               default \u003d 1048576,"},{"line_number":39,"context_line":"               help\u003d\u0027The maxiumum number of bytes in a read operation\u0027),"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_ba2280b6","line":36,"updated":"2015-02-26 19:26:46.000000000","message":"suggest \u0027.\u0027 here","commit_id":"bf460a233c70fdf98312fd912ef3a00c8dd9f1b9"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"9c6be53c6bd3ba41a96cd638c7d92f173357ce01","unresolved":false,"context_lines":[{"line_number":33,"context_line":"nfsbackup_service_opts \u003d ["},{"line_number":34,"context_line":"    cfg.IntOpt(\u0027backup_file_size\u0027,"},{"line_number":35,"context_line":"               default\u003d2000000000,"},{"line_number":36,"context_line":"               help\u003d\u0027The size in bytes of backup files\u0027),"},{"line_number":37,"context_line":"    cfg.IntOpt(\u0027backup_max_read_size_bytes\u0027,"},{"line_number":38,"context_line":"               default \u003d 1048576,"},{"line_number":39,"context_line":"               help\u003d\u0027The maxiumum number of bytes in a read operation\u0027),"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_ce02733d","line":36,"in_reply_to":"ba7be1f8_ba2280b6","updated":"2015-03-03 15:40:08.000000000","message":"Done","commit_id":"bf460a233c70fdf98312fd912ef3a00c8dd9f1b9"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"f52185590a461bcdcc65741ba2f07235cd8ece63","unresolved":false,"context_lines":[{"line_number":36,"context_line":"               help\u003d\u0027The size in bytes of backup files\u0027),"},{"line_number":37,"context_line":"    cfg.IntOpt(\u0027backup_max_read_size_bytes\u0027,"},{"line_number":38,"context_line":"               default \u003d 1048576,"},{"line_number":39,"context_line":"               help\u003d\u0027The maxiumum number of bytes in a read operation\u0027),"},{"line_number":40,"context_line":"    cfg.BoolOpt(\u0027backup_enable_progress_timer\u0027,"},{"line_number":41,"context_line":"                default\u003dTrue,"},{"line_number":42,"context_line":"                help\u003d\u0027Enable or Disable the timer to send the periodic \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_5a3a64e7","line":39,"updated":"2015-02-26 19:26:46.000000000","message":"suggest \u0027.\u0027 here.","commit_id":"bf460a233c70fdf98312fd912ef3a00c8dd9f1b9"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"9c6be53c6bd3ba41a96cd638c7d92f173357ce01","unresolved":false,"context_lines":[{"line_number":36,"context_line":"               help\u003d\u0027The size in bytes of backup files\u0027),"},{"line_number":37,"context_line":"    cfg.IntOpt(\u0027backup_max_read_size_bytes\u0027,"},{"line_number":38,"context_line":"               default \u003d 1048576,"},{"line_number":39,"context_line":"               help\u003d\u0027The maxiumum number of bytes in a read operation\u0027),"},{"line_number":40,"context_line":"    cfg.BoolOpt(\u0027backup_enable_progress_timer\u0027,"},{"line_number":41,"context_line":"                default\u003dTrue,"},{"line_number":42,"context_line":"                help\u003d\u0027Enable or Disable the timer to send the periodic \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_6e9b4718","line":39,"in_reply_to":"ba7be1f8_5a3a64e7","updated":"2015-03-03 15:40:08.000000000","message":"Done","commit_id":"bf460a233c70fdf98312fd912ef3a00c8dd9f1b9"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"f52185590a461bcdcc65741ba2f07235cd8ece63","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    cfg.StrOpt(\u0027backup_share\u0027,"},{"line_number":50,"context_line":"               default\u003dNone,"},{"line_number":51,"context_line":"               help\u003d\u0027NFS share in fqdn:path, ipv4addr:path, \u0027"},{"line_number":52,"context_line":"                    \u0027or \"[ipv6addr]:path\" format\u0027),"},{"line_number":53,"context_line":"    cfg.StrOpt(\u0027backup_mount_options\u0027,"},{"line_number":54,"context_line":"               default\u003dNone,"},{"line_number":55,"context_line":"               help\u003d(\u0027Mount options passed to the NFS client. See NFS \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_da049419","line":52,"updated":"2015-02-26 19:26:46.000000000","message":"Suggest \u0027.\u0027 here.","commit_id":"bf460a233c70fdf98312fd912ef3a00c8dd9f1b9"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"9c6be53c6bd3ba41a96cd638c7d92f173357ce01","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    cfg.StrOpt(\u0027backup_share\u0027,"},{"line_number":50,"context_line":"               default\u003dNone,"},{"line_number":51,"context_line":"               help\u003d\u0027NFS share in fqdn:path, ipv4addr:path, \u0027"},{"line_number":52,"context_line":"                    \u0027or \"[ipv6addr]:path\" format\u0027),"},{"line_number":53,"context_line":"    cfg.StrOpt(\u0027backup_mount_options\u0027,"},{"line_number":54,"context_line":"               default\u003dNone,"},{"line_number":55,"context_line":"               help\u003d(\u0027Mount options passed to the NFS client. See NFS \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_aea1bf47","line":52,"in_reply_to":"ba7be1f8_da049419","updated":"2015-03-03 15:40:08.000000000","message":"Done","commit_id":"bf460a233c70fdf98312fd912ef3a00c8dd9f1b9"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"f52185590a461bcdcc65741ba2f07235cd8ece63","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        self.backup_share \u003d CONF.backup_share"},{"line_number":79,"context_line":"        self.mount_options \u003d CONF.backup_mount_options or {}"},{"line_number":80,"context_line":"        self.backup_path \u003d self._init_backup_repo_path()"},{"line_number":81,"context_line":"        LOG.debug(\"Using NFS backup repository %s\", self.backup_path)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    @staticmethod"},{"line_number":84,"context_line":"    def _check_configuration():"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_2851eb0e","line":81,"updated":"2015-02-26 19:26:46.000000000","message":"suggest \u0027repository: %s\u0027","commit_id":"bf460a233c70fdf98312fd912ef3a00c8dd9f1b9"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"9c6be53c6bd3ba41a96cd638c7d92f173357ce01","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        self.backup_share \u003d CONF.backup_share"},{"line_number":79,"context_line":"        self.mount_options \u003d CONF.backup_mount_options or {}"},{"line_number":80,"context_line":"        self.backup_path \u003d self._init_backup_repo_path()"},{"line_number":81,"context_line":"        LOG.debug(\"Using NFS backup repository %s\", self.backup_path)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    @staticmethod"},{"line_number":84,"context_line":"    def _check_configuration():"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_ee8657b8","line":81,"in_reply_to":"ba7be1f8_2851eb0e","updated":"2015-03-03 15:40:08.000000000","message":"Done","commit_id":"bf460a233c70fdf98312fd912ef3a00c8dd9f1b9"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"f52185590a461bcdcc65741ba2f07235cd8ece63","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        required_flags \u003d [\u0027backup_share\u0027]"},{"line_number":87,"context_line":"        for flag in required_flags:"},{"line_number":88,"context_line":"            if not getattr(CONF, flag, None):"},{"line_number":89,"context_line":"                raise exception.BackupOperationError(_(\u0027%s is not set\u0027) %"},{"line_number":90,"context_line":"                                                     flag)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    def _init_backup_repo_path(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_e8c35355","line":89,"updated":"2015-02-26 19:26:46.000000000","message":"Suggest \u0027Required flag %s is not set.\u0027","commit_id":"bf460a233c70fdf98312fd912ef3a00c8dd9f1b9"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"9c6be53c6bd3ba41a96cd638c7d92f173357ce01","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        required_flags \u003d [\u0027backup_share\u0027]"},{"line_number":87,"context_line":"        for flag in required_flags:"},{"line_number":88,"context_line":"            if not getattr(CONF, flag, None):"},{"line_number":89,"context_line":"                raise exception.BackupOperationError(_(\u0027%s is not set\u0027) %"},{"line_number":90,"context_line":"                                                     flag)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    def _init_backup_repo_path(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_2e8dcfd3","line":89,"in_reply_to":"ba7be1f8_e8c35355","updated":"2015-03-03 15:40:08.000000000","message":"Done","commit_id":"bf460a233c70fdf98312fd912ef3a00c8dd9f1b9"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"39be1488ca57da8d8d2b84b3b400d22b8bc53c7f","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        required_flags \u003d [\u0027backup_share\u0027]"},{"line_number":89,"context_line":"        for flag in required_flags:"},{"line_number":90,"context_line":"            if not getattr(CONF, flag, None):"},{"line_number":91,"context_line":"                raise exception.BackupOperationError(_("},{"line_number":92,"context_line":"                    \u0027Required flag %s is not set\u0027) % flag)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def _init_backup_repo_path(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a80dd14_75f7a1f5","line":91,"updated":"2015-03-06 18:43:26.000000000","message":"Should probably raise ConfigNotFound since this isn\u0027t an operational error and happens at init time.","commit_id":"e87552483792f310709d94a9f601263e4057bb5c"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"a6efb82d8d4117ff925fee6ca8cc0545dc3e76ec","unresolved":false,"context_lines":[{"line_number":44,"context_line":"               default\u003dSHA_SIZE,"},{"line_number":45,"context_line":"               help\u003d\u0027The size in bytes that changes are tracked \u0027"},{"line_number":46,"context_line":"                    \u0027for incremental backups. backup_swift_object_size \u0027"},{"line_number":47,"context_line":"                    \u0027has to be multiple of backup_swift_block_size.\u0027),"},{"line_number":48,"context_line":"    cfg.BoolOpt(\u0027backup_enable_progress_timer\u0027,"},{"line_number":49,"context_line":"                default\u003dTrue,"},{"line_number":50,"context_line":"                help\u003d\u0027Enable or Disable the timer to send the periodic \u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_6c448ab7","line":47,"updated":"2015-03-11 20:28:57.000000000","message":"The help string should be corrected for NFS rather than for swift.","commit_id":"d07959585a42436a34613916cad0463c03b56592"}],"cinder/tests/backup/drivers/test_backup_nfs.py":[{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"8e220e02a89142631415bc2ccccc38af690c0fba","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":"Tests for Backup posix file system driver."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"\"\"\""},{"line_number":19,"context_line":"import __builtin__"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_fe4cdeca","line":16,"updated":"2015-02-27 01:08:37.000000000","message":"Maybe I misunderstood the commit message, this isn\u0027t the posix driver (yet)  should this say NFS driver?","commit_id":"bf460a233c70fdf98312fd912ef3a00c8dd9f1b9"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"9c6be53c6bd3ba41a96cd638c7d92f173357ce01","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":"Tests for Backup posix file system driver."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"\"\"\""},{"line_number":19,"context_line":"import __builtin__"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_aa4b6429","line":16,"in_reply_to":"ba7be1f8_fe4cdeca","updated":"2015-03-03 15:40:08.000000000","message":"Thanks for the catch!","commit_id":"bf460a233c70fdf98312fd912ef3a00c8dd9f1b9"}]}
