[PATCH] import: fix handling of init.defaultBranch

2024-03-10 Thread Eric Wong
Eric Wong  wrote:
> Will try to fix ASAP but offline problems persist :<

Fortunately it turned out to be a simple fix :x

---8<---
Subject: [PATCH] import: fix handling of init.defaultBranch

We must chomp the newline in the branch name if it's set.

Reported-by: Rob Herring 
Link: 
https://public-inbox.org/meta/cal_jsqk7p4gjlpyvzxnecymxt4j6ah5f3pz1rqdhxmystg3...@mail.gmail.com/
Fixes: 73830410e4336b77 (treewide: use run_qx where appropriate, 2023-10-27)
---
 lib/PublicInbox/Import.pm | 1 +
 t/clone-coderepo.t| 8 +---
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/lib/PublicInbox/Import.pm b/lib/PublicInbox/Import.pm
index a951874b..ed34d548 100644
--- a/lib/PublicInbox/Import.pm
+++ b/lib/PublicInbox/Import.pm
@@ -26,6 +26,7 @@ sub default_branch () {
state $default_branch = do {
my $h = run_qx([qw(git config --global init.defaultBranch)],
 { GIT_CONFIG => undef });
+   chomp $h;
$h eq '' ? 'refs/heads/master' : "refs/heads/$h";
}
 }
diff --git a/t/clone-coderepo.t b/t/clone-coderepo.t
index c0951941..c6180fc4 100644
--- a/t/clone-coderepo.t
+++ b/t/clone-coderepo.t
@@ -7,6 +7,7 @@ use PublicInbox::Import;
 use File::Temp;
 use File::Path qw(remove_tree);
 use PublicInbox::SHA qw(sha1_hex);
+use PublicInbox::IO;
 require_mods(qw(json Plack::Builder HTTP::Date HTTP::Status));
 require_git_http_backend;
 require_git '1.8.5';
@@ -38,9 +39,10 @@ my $t0 = time - 1;
 my $m; # manifest hashref
 
 {
-   my $rdr = {};
-   my $fi_data = './t/git.fast-import-data';
-   open $rdr->{0}, '<', $fi_data or xbail "open($fi_data): $!";
+   my $fi_data = PublicInbox::IO::try_cat './t/git.fast-import-data';
+   my $db = PublicInbox::Import::default_branch;
+   $fi_data =~ s!\brefs/heads/master\b!$db!gs;
+   my $rdr = { 0 => \$fi_data };
my @git = ('git', "--git-dir=$pa");
xsys_e([@git, qw(fast-import --quiet)], undef, $rdr);
xsys_e([qw(/bin/cp -Rp a.git b.git)], undef, { -C => "$tmpdir/src" });



Re: crash on git-fast-import

2024-03-10 Thread Eric Wong
Rob Herring  wrote:
> Most Recent Commands Before Crash
> -
>   blob
>   mark :1
>   data 12367
>   get-mark :1
>   reset refs/heads/main

Ah, it looks like init.defaultBranch != master is completely
broken :x   You should be able to workaround the problem by
leaving defaultBranch unset for now.

Will try to fix ASAP but offline problems persist :<