summaryrefslogtreecommitdiff
path: root/git-debrebase
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2018-02-15 20:16:42 +0000
committerIan Jackson <ijackson@chiark.greenend.org.uk>2018-06-16 12:25:49 +0100
commita865af47e6e6dc6160812fa0cdfbcb4d57f38723 (patch)
treed7a296878e5f03c35286028fb1a1dd9abec15f8f /git-debrebase
parent5c1ed9665a1ec02cdaa5811e58600edcda0ce3b2 (diff)
git-debrebase: break out ffq_prev_branchinfo (nfc)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'git-debrebase')
-rwxr-xr-xgit-debrebase21
1 files changed, 16 insertions, 5 deletions
diff --git a/git-debrebase b/git-debrebase
index f68dfb1..592dd29 100755
--- a/git-debrebase
+++ b/git-debrebase
@@ -850,6 +850,20 @@ sub cmd_analyse () {
STDOUT->error and die $!;
}
+sub ffq_prev_branchinfo () {
+ # => ('status', "message", [$current, $ffq_prev])
+ # '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/$'";
+ return ('branch', undef, $current, $ffq_prev);
+}
+
sub record_ffq_prev () {
# => ('status', "message")
# 'status' may be
@@ -861,11 +875,8 @@ sub record_ffq_prev () {
# if not ff from some branch we should be ff from, is an fproblem
# if "written", will have printed something about that to stdout,
# and also some messages about ff checks
- 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 ($status, $message, $current, $ffq_prev) = ffq_prev_branchinfo();
+ return ($status, $message) unless $status eq 'branch';
my $currentval = get_head();