URI: 
       tfix: rename files affected by chain swap - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit c3615d0aa7d6add315e0c80e4d40ecd304580315
   DIR parent ab5a9f3ce461040e52bf3caca376a26f5ff9d0c3
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Thu, 20 Jul 2017 11:36:59 +0200
       
       fix: rename files affected by chain swap
       
       Diffstat:
         M lib/blockchain.py                   |      10 +++++++++-
       
       1 file changed, 9 insertions(+), 1 deletion(-)
       ---
   DIR diff --git a/lib/blockchain.py b/lib/blockchain.py
       t@@ -184,7 +184,6 @@ class Blockchain(util.PrintError):
        
            def swap_with_parent(self):
                self.print_error("swap", self.checkpoint, self.parent.checkpoint)
       -        assert self.size() == self.get_branch_size()
                parent = self.parent
                checkpoint = self.checkpoint
                size = parent.get_branch_size()
       t@@ -201,9 +200,18 @@ class Blockchain(util.PrintError):
                with open(parent.path(), 'rb+') as f:
                    f.seek((checkpoint - parent.checkpoint)*80)
                    f.write(my_data)
       +        # store file path
       +        for b in blockchains.values():
       +            b.old_path = b.path()
                # swap parameters
                self.parent = parent.parent; parent.parent = self
                self.checkpoint = parent.checkpoint; parent.checkpoint = checkpoint
       +        # move files
       +        for b in blockchains.values():
       +            if b in [self, parent]: continue
       +            if b.old_path != b.path():
       +                self.print_error("renaming", b.old_path, b.path())
       +                os.rename(b.old_path, b.path())
                # update pointers
                blockchains[self.checkpoint] = self
                blockchains[parent.checkpoint] = parent