about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2024-03-10 21:41:30 +0000
committerEric Wong <e@80x24.org>2024-03-10 21:36:15 +0000
commit1c95e02e19ffc61611dbbfafe64eb13500b44b96 (patch)
tree9cd5b7f2316e38b45c295aa5a51d84cb2fe545e2
parent58bcb92af35425daa6e809712b7c4aa8d7cbe011 (diff)
downloadpublic-inbox-1c95e02e19ffc61611dbbfafe64eb13500b44b96.tar.gz
We must chomp the newline in the branch name if it's set.

Reported-by: Rob Herring <robh@kernel.org>
Link: https://public-inbox.org/meta/CAL_JsqK7P4gjLPyvzxNEcYmxT4j6Ah5f3Pz1RqDHxmysTg3aEg@mail.gmail.com/
Fixes: 73830410e4336b77 (treewide: use run_qx where appropriate, 2023-10-27)
-rw-r--r--lib/PublicInbox/Import.pm1
-rw-r--r--t/clone-coderepo.t8
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" });