chiark / gitweb /
Dgit.pm: gdr_ffq_prev_branchinfo: move from git-debrebase
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 16 Jun 2018 23:36:55 +0000 (00:36 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 17 Jun 2018 10:51:00 +0000 (11:51 +0100)
dgit is going to want this too, for interoperability.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Debian/Dgit.pm
git-debrebase

index 3202180..960f505 100644 (file)
@@ -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:
index e5cafd1..fd67629 100755 (executable)
@@ -973,19 +973,8 @@ sub cmd_analyse () {
 }
 
 sub ffq_prev_branchinfo () {
-    # => ('status', "message", [$current, $ffq_prev, $gdrlast])
-    # 'status' may be
-    #    branch         message is undef
-    #    weird-symref   } no $current,
-    #    notbranch      }  no $ffq_prev
     my $current = git_get_symref();
-    return ('detached', 'detached HEAD') unless defined $current;
-    return ('weird-symref', 'HEAD symref is not to refs/')
-       unless $current =~ m{^refs/};
-    my $ffq_prev = "refs/$ffq_refprefix/$'";
-    my $gdrlast = "refs/$gdrlast_refprefix/$'";
-    printdebug "ffq_prev_branchinfo branch current $current\n";
-    return ('branch', undef, $current, $ffq_prev, $gdrlast);
+    return gdr_ffq_prev_branchinfo($current);
 }
 
 sub record_ffq_prev_deferred () {