Make git-gerrit-pull main/master agnostic
Change-Id: I1d531f01994afb0851920db0be69a78cf4487276
diff --git a/bin/git_gerrit_pull b/bin/git_gerrit_pull
index 645507b..02f1520 100755
--- a/bin/git_gerrit_pull
+++ b/bin/git_gerrit_pull
@@ -23,6 +23,24 @@
$JAVA21_HOME = '/opt/java/jdk-21.0.0';
};
+# Check which main branch exists locally
+my $branches = `git branch --list main master`;
+chomp $branches;
+
+# Split into lines and clean up formatting (remove whitespace and asterisks)
+my @branch_list = split /\n/, $branches;
+@branch_list = map { s/^\s*\*?\s*//; $_ } @branch_list;
+
+# Determine which branch to use (prefer main over master)
+my $main_branch;
+if (grep { $_ eq 'main' } @branch_list) {
+ $main_branch = 'main';
+} elsif (grep { $_ eq 'master' } @branch_list) {
+ $main_branch = 'master';
+} else {
+ die "Error: Neither 'main' nor 'master' branch found locally\n";
+}
+
my $url = $ARGV[0];
@@ -48,9 +66,9 @@
exit;
};
-_check('git checkout master');
+_check('git checkout ' . $main_branch);
-_check('git pull origin master');
+_check('git pull origin ' . $main_branch);
$url =~ m!KorAP/([^/]+?)/pull/(\d+?)$!;
@@ -88,7 +106,7 @@
_check('git fetch github pull/' . $pr . '/head:' . $branch);
_check('git checkout ' . $branch);
-_check('git rebase master');
+_check('git rebase ' . $main_branch);
# Kustvakt
@@ -173,9 +191,9 @@
_check('git commit -F ' . $msg_file . ' --amend');
};
-_check('git push origin HEAD:refs/for/master');
+_check('git push origin HEAD:refs/for/' . $main_branch);
-_check('git checkout master');
+_check('git checkout ' . $main_branch);
_check('git branch -D ' . $branch);
print "\n\nEverything done - thank you!\n\n"