git-p4: honor --changesfile option and test

When an explicit list of changes is given, it makes no sense to
use @all or @3,5 or any of the other p4 revision specifiers.
Make the code notice when this happens, instead of just ignoring
--changesfile.  Test it.

Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Pete Wyckoff
2011-12-24 21:07:35 -05:00
committed by Junio C Hamano
parent 1471c6b155
commit 58c8bc7c1a
2 changed files with 38 additions and 1 deletions

View File

@ -38,6 +38,29 @@ test_expect_success 'clone --branch' '
)
'
test_expect_success 'clone --changesfile' '
cf="$TRASH_DIRECTORY/cf" &&
test_when_finished "rm \"$cf\"" &&
printf "1\n3\n" >"$cf" &&
"$GITP4" clone --changesfile="$cf" --dest="$git" //depot &&
test_when_finished cleanup_git &&
(
cd "$git" &&
git log --oneline p4/master >lines &&
test_line_count = 2 lines
test_path_is_file file1 &&
test_path_is_missing file2 &&
test_path_is_file file3
)
'
test_expect_success 'clone --changesfile, @all' '
cf="$TRASH_DIRECTORY/cf" &&
test_when_finished "rm \"$cf\"" &&
printf "1\n3\n" >"$cf" &&
test_must_fail "$GITP4" clone --changesfile="$cf" --dest="$git" //depot@all
'
test_expect_success 'kill p4d' '
kill_p4d
'