Konstantin Ryabitsev <[email protected]> wrote:
>     t/v2mirror.t ................. 71/? W: 
> /tmp/pi-v2mirror-39373-Dl1N/m/git/3.git missing remote.origin.url
>     fatal: not a git repository: '/tmp/pi-v2mirror-39373-Dl1N/m/git/3.git'
>     git --git-dir=/tmp/pi-v2mirror-39373-Dl1N/m/git/3.git fetch -q failed
>     Bailout called.  Further testing stopped:  -fetch failed
>     FAILED--Further testing stopped: -fetch failed
>     make: *** [test_dynamic] Error 255
> 
> FYI, this is git 2.31.1.

I'm not seeing this at all with 2.31.1, 2.20, 2.33...
I wonder if there's a permissions problem or some latent GIT_*
var in env...

Are you testing as root?  I think that would be broken, yes.
The partial fetching would need some work to support working as
root.

> I'll be happy to help troubleshoot things as necessary.

Otherwise, dumping the config and some more info could help...

diff --git a/lib/PublicInbox/Fetch.pm b/lib/PublicInbox/Fetch.pm
index 7881b402e3f6..a5e4c43c039b 100644
--- a/lib/PublicInbox/Fetch.pm
+++ b/lib/PublicInbox/Fetch.pm
@@ -122,6 +122,10 @@ sub do_fetch { # main entry point
                                $epoch = $nr;
                        } else {
                                warn "W: $edir missing remote.origin.url\n";
+                               my $pid = spawn([qw(git config -l)], undef,
+                                       { 1 => $lei->{2}, 2 => $lei->{2} });
+                               waitpid($pid, 0);
+                               $lei->child_error($?) if $?;
                        }
                }
                @epochs = grep { !$skip->{$_} } @epochs if $skip;
diff --git a/t/v2mirror.t b/t/v2mirror.t
index 63d17ebfebba..e3936919306b 100644
--- a/t/v2mirror.t
+++ b/t/v2mirror.t
@@ -5,6 +5,7 @@ use v5.10.1;
 use PublicInbox::TestCommon;
 use File::Path qw(remove_tree make_path);
 use Cwd qw(abs_path);
+use Carp ();
 use PublicInbox::Spawn qw(which);
 require_git(2.6);
 require_cmd('curl');
@@ -102,7 +103,9 @@ my @new_epochs;
 my $fetch_each_epoch = sub {
        my %before = map { $_ => 1 } glob("$tmpdir/m/git/*");
        run_script([qw(-fetch --exit-code -q)], undef, {-C => "$tmpdir/m"}) or
-               xbail '-fetch fail';
+               xbail('-fetch fail ',
+                       [ xqx([which('find'), "$tmpdir/m", qw(-type f -ls) ]) ],
+                       Carp::longmess());
        is($?, 0, '--exit-code 0 after fetch updated');
        my @after = grep { !$before{$_} } glob("$tmpdir/m/git/*");
        push @new_epochs, @after;
--
unsubscribe: one-click, see List-Unsubscribe header
archive: https://public-inbox.org/meta/

Reply via email to