about summary refs log tree commit homepage
path: root/script/public-inbox-convert
diff options
context:
space:
mode:
authorEric Wong <e@yhbt.net>2020-08-10 02:12:05 +0000
committerEric Wong <e@yhbt.net>2020-08-10 06:26:26 +0000
commit6708ef2102e549dfc46dad0a3d100e24348f5e28 (patch)
treeeb27d5206334d504cb116c2b156499f70525a417 /script/public-inbox-convert
parent555b33881e340bb65808eaf3f2d334f08b0c6246 (diff)
downloadpublic-inbox-6708ef2102e549dfc46dad0a3d100e24348f5e28.tar.gz
We'll use our existing logic and use sqlite_backup_from_file,
which appeared in 1.39 (along with sqlite_backup_to_file).
Diffstat (limited to 'script/public-inbox-convert')
-rwxr-xr-xscript/public-inbox-convert12
1 files changed, 7 insertions, 5 deletions
diff --git a/script/public-inbox-convert b/script/public-inbox-convert
index 275857fa..d655dcc6 100755
--- a/script/public-inbox-convert
+++ b/script/public-inbox-convert
@@ -115,10 +115,10 @@ $old->with_umask(sub {
                 require PublicInbox::AltId;
                 foreach my $i (0..$#$alt) {
                         my $src = PublicInbox::AltId->new($old, $alt->[$i], 0);
-                        $src->mm_alt or next;
+                        $src = $src->mm_alt or next;
+                        $src = $src->{dbh}->sqlite_db_filename;
                         my $dst = PublicInbox::AltId->new($new, $alt->[$i], 1);
-                        $dst = $dst->{filename};
-                        $src->mm_alt->{dbh}->sqlite_backup_to_file($dst);
+                        $dst->mm_alt->{dbh}->sqlite_backup_from_file($src);
                 }
         }
         my $desc = "$old->{inboxdir}/description";
@@ -184,13 +184,15 @@ waitpid($pid, 0) or die "waitpid failed: $!\n";
 $? == 0 or die "fast-export failed: $?\n";
 $r = $w = undef; # v2w->done does the actual close and error checking
 $v2w->done;
-if (my $mm = $old->mm) {
+if (my $old_mm = $old->mm) {
         $old->cleanup;
-        $mm->{dbh}->sqlite_backup_to_file("$new_dir/msgmap.sqlite3");
+        $old_mm = $old_mm->{dbh}->sqlite_db_filename;
 
         # we want to trigger a reindex, not a from scratch index if
         # we're reusing the msgmap from an existing v1 installation.
         $v2w->idx_init($opt);
+        $v2w->{mm}->{dbh}->sqlite_backup_from_file($old_mm);
+
         my $epoch0 = PublicInbox::Git->new($v2w->git_init(0));
         chop(my $cmt = $epoch0->qx(qw(rev-parse --verify), $head));
         $v2w->last_epoch_commit(0, $cmt);