summaryrefslogtreecommitdiff
path: root/Debian
diff options
context:
space:
mode:
Diffstat (limited to 'Debian')
-rw-r--r--Debian/Dgit.pm17
1 files changed, 17 insertions, 0 deletions
diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm
index 3202180..960f505 100644
--- a/Debian/Dgit.pm
+++ b/Debian/Dgit.pm
@@ -64,6 +64,7 @@ BEGIN {
shellquote printcmd messagequote
$negate_harmful_gitattrs
changedir git_slurp_config_src
+ gdr_ffq_prev_branchinfo
playtree_setup);
# implicitly uses $main::us
%EXPORT_TAGS = ( policyflags => [qw(NOFFCHECK FRESHREPO NOCOMMITCHECK)],
@@ -514,6 +515,22 @@ sub git_slurp_config_src ($) {
return $r;
}
+sub gdr_ffq_prev_branchinfo ($) {
+ my ($symref) = @_;
+ # => ('status', "message", [$symref, $ffq_prev, $gdrlast])
+ # 'status' may be
+ # branch message is undef
+ # weird-symref } no $symref,
+ # notbranch } no $ffq_prev
+ return ('detached', 'detached HEAD') unless defined $symref;
+ return ('weird-symref', 'HEAD symref is not to refs/')
+ unless $symref =~ m{^refs/};
+ my $ffq_prev = "refs/$ffq_refprefix/$'";
+ my $gdrlast = "refs/$gdrlast_refprefix/$'";
+ printdebug "ffq_prev_branchinfo branch current $symref\n";
+ return ('branch', undef, $symref, $ffq_prev, $gdrlast);
+}
+
# ========== playground handling ==========
# terminology: