chiark / gitweb /
git-debrebase: introduce tags for fproblems, no use yet
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 10 Feb 2018 17:54:32 +0000 (17:54 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 16 Jun 2018 11:25:49 +0000 (12:25 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
git-debrebase

index 6d8091e..4a1ea57 100755 (executable)
@@ -253,8 +253,8 @@ sub make_commit ($$) {
 }
 
 our $fproblems;
 }
 
 our $fproblems;
-sub fproblem ($) {
-    my ($msg) = @_;
+sub fproblem ($$) {
+    my ($tag,$msg) = @_;
     $fproblems++;
     print STDERR "git-debrebase: safety catch tripped: $msg\n";
 }
     $fproblems++;
     print STDERR "git-debrebase: safety catch tripped: $msg\n";
 }
@@ -896,18 +896,22 @@ sub cmd_new_upstream_v0 () {
                $piece->($n, Old => $old_upstream->{CommitId}.'^'.$parentix);
            }
        } else {
                $piece->($n, Old => $old_upstream->{CommitId}.'^'.$parentix);
            }
        } else {
-           fproblem "previous upstream $old_upstream->{CommitId} is from".
-                 " git-debrebase but not an \`upstream-combine' commit";
+           fproblem 'upstream-confusing',
+               "previous upstream $old_upstream->{CommitId} is from".
+               " git-debrebase but not an \`upstream-combine' commit";
        }
     }
 
     foreach my $pc (values %pieces) {
        if (!$pc->{Old}) {
        }
     }
 
     foreach my $pc (values %pieces) {
        if (!$pc->{Old}) {
-           fproblem "introducing upstream piece \`$pc->{Name}'";
+           fproblem 'upstream-new-piece',
+               "introducing upstream piece \`$pc->{Name}'";
        } elsif (!$pc->{New}) {
        } elsif (!$pc->{New}) {
-           fproblem "dropping upstream piece \`$pc->{Name}'";
+           fproblem 'upstream-rm-piece',
+               "dropping upstream piece \`$pc->{Name}'";
        } elsif (!is_fast_fwd $pc->{Old}, $pc->{New}) {
        } elsif (!is_fast_fwd $pc->{Old}, $pc->{New}) {
-           fproblem "not fast forward: $pc->{Name} $pc->{Old}..$pc->{New}";
+           fproblem 'upstream-not-ff',
+               "not fast forward: $pc->{Name} $pc->{Old}..$pc->{New}";
        }
     }
 
        }
     }
 
@@ -1016,19 +1020,22 @@ sub cmd_gbp2debrebase () {
     }
 
     if (!is_fast_fwd $upstream, $old_head) {
     }
 
     if (!is_fast_fwd $upstream, $old_head) {
-       fproblem "upstream ($upstream) is not an ancestor of HEAD";
+       fproblem 'upstream-not-ancestor',
+           "upstream ($upstream) is not an ancestor of HEAD";
     } else {
        my $wrong = cmdoutput
            (@git, qw(rev-list --ancestry-path), "$upstream..HEAD",
             qw(-- :/ :!/debian));
        if (length $wrong) {
     } else {
        my $wrong = cmdoutput
            (@git, qw(rev-list --ancestry-path), "$upstream..HEAD",
             qw(-- :/ :!/debian));
        if (length $wrong) {
-           fproblem "history between upstream ($upstream) and HEAD contains direct changes to upstream files - are you sure this is a gbp (patches-unapplied) branch?";
+           fproblem 'unexpected-upstream-changes',
+               "history between upstream ($upstream) and HEAD contains direct changes to upstream files - are you sure this is a gbp (patches-unapplied) branch?";
            print STDERR "list expected changes with:  git log --stat --ancestry-path $upstream_spec..HEAD -- :/ ':!/debian'\n";
        }
     }
 
     if ((git_cat_file "$upstream:debian")[0] ne 'missing') {
            print STDERR "list expected changes with:  git log --stat --ancestry-path $upstream_spec..HEAD -- :/ ':!/debian'\n";
        }
     }
 
     if ((git_cat_file "$upstream:debian")[0] ne 'missing') {
-       fproblem "upstream ($upstream) contains debian/ directory";
+       fproblem 'upstream-has-debian',
+           "upstream ($upstream) contains debian/ directory";
     }
 
     fproblems_maybe_bail();
     }
 
     fproblems_maybe_bail();