From 30a72ab33290a9ce57955bbd0799e394feab91ea Mon Sep 17 00:00:00 2001 From: "Eric Wong (Contractor, The Linux Foundation)" Date: Sat, 3 Mar 2018 20:33:25 +0000 Subject: import: consolidate object info for v2 imports It's easier to store everything in one array ref similar to what our Git->check routine returns --- lib/PublicInbox/Import.pm | 6 +++--- lib/PublicInbox/V2Writable.pm | 5 ++--- 2 files changed, 5 insertions(+), 6 deletions(-) (limited to 'lib/PublicInbox') diff --git a/lib/PublicInbox/Import.pm b/lib/PublicInbox/Import.pm index ac46c0cb..ddb63b10 100644 --- a/lib/PublicInbox/Import.pm +++ b/lib/PublicInbox/Import.pm @@ -282,9 +282,9 @@ sub add { print $w $str, "\n" or wfail; # v2: we need this for Xapian - if ($self->{want_object_id}) { - chomp($self->{last_object_id} = $self->get_mark(":$blob")); - $self->{last_object} = [ $n, \$str ]; + if ($self->{want_object_info}) { + chomp(my $oid = $self->get_mark(":$blob")); + $self->{last_object} = [ $oid, $n, \$str ]; } my $ref = $self->{ref}; my $commit = $self->{mark}++; diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm index caabc8e4..31376db2 100644 --- a/lib/PublicInbox/V2Writable.pm +++ b/lib/PublicInbox/V2Writable.pm @@ -69,8 +69,7 @@ sub add { my $im = $self->importer; my $cmt = $im->add($mime); $cmt = $im->get_mark($cmt); - my $oid = $im->{last_object_id}; - my ($len, $msgref) = @{$im->{last_object}}; + my ($oid, $len, $msgref) = @{$im->{last_object}}; my $nparts = $self->{partitions}; my $part = $num % $nparts; @@ -318,7 +317,7 @@ sub import_init { my ($self, $git, $packed_bytes) = @_; my $im = PublicInbox::Import->new($git, undef, undef, $self->{-inbox}); $im->{bytes_added} = int($packed_bytes / $PACKING_FACTOR); - $im->{want_object_id} = 1; + $im->{want_object_info} = 1; $im->{ssoma_lock} = 0; $im->{path_type} = 'v2'; $self->{im} = $im; -- cgit v1.2.3-24-ge0c7