if (!upstream->merge || !upstream->merge[0]->dst) {
if (!ref_exists(upstream->refname))
return error("No such branch: '%s'", cp);
- return error("No upstream branch found for '%s'", upstream->name);
+ if (!upstream->merge)
+ return error("No upstream configured for branch '%s'",
+ upstream->name);
+ return error(
+ "Upstream branch '%s' not stored as a remote-tracking branch",
+ upstream->merge[0]->src);
}
free(cp);
cp = shorten_unambiguous_ref(upstream->merge[0]->dst, 0);
test_expect_success 'branch@{u} error message when no upstream' '
cat >expect <<-EOF &&
- error: No upstream branch found for ${sq}non-tracking${sq}
+ error: No upstream configured for branch ${sq}non-tracking${sq}
fatal: Needed a single revision
EOF
error_message non-tracking@{u} 2>actual &&
test_expect_success '@{u} error message when no upstream' '
cat >expect <<-EOF &&
- error: No upstream branch found for ${sq}master${sq}
+ error: No upstream configured for branch ${sq}master${sq}
fatal: Needed a single revision
EOF
test_must_fail git rev-parse --verify @{u} 2>actual &&
test_expect_success 'branch@{u} error message if upstream branch not fetched' '
cat >expect <<-EOF &&
- error: No upstream branch found for ${sq}bad-upstream${sq}
+ error: Upstream branch ${sq}refs/heads/side${sq} not stored as a remote-tracking branch
fatal: Needed a single revision
EOF
error_message bad-upstream@{u} 2>actual &&