git p4: fail gracefully on sync with no master branch

If --branch was used to build a repository with no
refs/remotes/p4/master, future syncs will not know
which branch to sync.  Notice this situation and
print a helpful error message.

Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Pete Wyckoff
2013-01-14 19:47:05 -05:00
committed by Junio C Hamano
parent 4749784444
commit 5a8e84cde3
2 changed files with 31 additions and 7 deletions

View File

@ -40,14 +40,13 @@ test_expect_success 'clone --branch should checkout master' '
)
'
test_expect_failure 'sync when branch is not called master should work' '
git p4 clone --branch=refs/remotes/p4/sb --dest="$git" //depot@2 &&
test_expect_success 'sync when no master branch prints a nice error' '
test_when_finished cleanup_git &&
git p4 clone --branch=refs/remotes/p4/sb --dest="$git" //depot@2 &&
(
cd "$git" &&
git p4 sync &&
git show -s --format=%s refs/remotes/p4/sb >show &&
grep "change 3" show
test_must_fail git p4 sync 2>err &&
grep "Error: no branch refs/remotes/p4/master" err
)
'