about summary refs log tree commit homepage
path: root/lib/PublicInbox/Import.pm
diff options
context:
space:
mode:
authorKyle Meyer <kyle@kyleam.com>2021-04-07 19:05:24 -0400
committerEric Wong <e@80x24.org>2021-04-07 19:24:04 -0400
commitea4e9025dd14f251996baf724e04fc478375b6a2 (patch)
treef0d70b4251e06ca6adca7c9f17c02f7fe4157e34 /lib/PublicInbox/Import.pm
parent86c2ebf085cc9897bafcb95b82890f2645f515e5 (diff)
downloadpublic-inbox-ea4e9025dd14f251996baf724e04fc478375b6a2.tar.gz
init.defaultBranch expects a branch name, not a fully qualified ref.
git-init prepends "refs/heads/" automatically and unconditionally.

PublicInbox::Import::default_branch, however, incorrectly passes on
the init.defaultBranch value as is, leading to it being used in spots
where a fully qualified ref is required.  For example, with an
init.defaultBranch value of "master", public-inbox-index for a v2
repository would lead to an all.git repository where HEAD's content is
"ref: master" instead of "ref: refs/heads/master".

Prepend "refs/heads/" to the incoming init.defaultBranch value.

Fixes: 7c2f36de2fb49dd7 (import: respect init.defaultBranch)
Diffstat (limited to 'lib/PublicInbox/Import.pm')
-rw-r--r--lib/PublicInbox/Import.pm2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/PublicInbox/Import.pm b/lib/PublicInbox/Import.pm
index 46f57e27..3adf9dec 100644
--- a/lib/PublicInbox/Import.pm
+++ b/lib/PublicInbox/Import.pm
@@ -25,7 +25,7 @@ sub default_branch () {
                                  { GIT_CONFIG => undef });
                 chomp(my $h = <$r> // '');
                 close $r;
-                $h eq '' ? 'refs/heads/master' : $h;
+                $h eq '' ? 'refs/heads/master' : "refs/heads/$h";
         }
 }