]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/SolverGit.pm
solver: add a TODO note about making this fully evented
[public-inbox.git] / lib / PublicInbox / SolverGit.pm
index 51be2cdf91f0d6fed4e41f8b11dc7c3eda2cdc48..13065348b1da882c23843df3268de017106f7f1a 100644 (file)
@@ -221,11 +221,13 @@ sub prepare_index ($$$$) {
        my ($r, $w);
        my $path_a = $di->{path_a} or die "BUG: path_a missing for $oid_full";
        my $mode_a = $di->{mode_a} || extract_old_mode($di);
-       my @git = (qw(git -C), $wt_dir);
 
+       # unlike git-apply(1), this only gets called once in a patch
+       # series and happens too quickly to be worth making async:
        pipe($r, $w) or die "pipe: $!";
        my $rdr = { 0 => fileno($r) };
-       my $pid = spawn([@git, qw(update-index -z --index-info)], {}, $rdr);
+       my $pid = spawn([qw(git -C), $wt_dir,
+                        qw(update-index -z --index-info)], undef, $rdr);
        close $r or die "close pipe(r): $!";
        print $w "$mode_a $oid_full\t$path_a\0" or die "print update-index: $!";
 
@@ -356,6 +358,9 @@ sub apply_patches_cb ($$$$$) {
 # recreate $oid_b
 # Returns an array ref: [ ::Git object, oid_full, type, size, di ]
 # or undef if nothing was found.
+#
+# TODO: complete the migration of this and ViewVCS into an evented
+# model for fairness
 sub solve ($$$$) {
        my ($self, $out, $oid_b, $hints) = @_;