aboutsummaryrefslogtreecommitdiff
path: root/t/t9818-git-p4-block.sh
diff options
context:
space:
mode:
authorLuke Diamand <luke@diamand.org>2015-06-10 08:30:59 +0100
committerJunio C Hamano <gitster@pobox.com>2015-06-10 08:29:17 -0700
commit1051ef00636357061d72bcf673da86054fb14a12 (patch)
treeb22a0deb0f67a6249a57b4003b0e8e3287f8782b /t/t9818-git-p4-block.sh
parenteceafffbec97385eb65d7ba0c365ee028aaf1aad (diff)
downloadgit-1051ef00636357061d72bcf673da86054fb14a12.tar.gz
git-1051ef00636357061d72bcf673da86054fb14a12.tar.xz
git-p4: fixing --changes-block-size handling
The --changes-block-size handling was intended to help when a user has a limited "maxscanrows" (see "p4 group"). It used "p4 changes -m $maxchanges" to limit the number of results. Unfortunately, it turns out that the "maxscanrows" and "maxresults" limits are actually applied *before* the "-m maxchanges" parameter is considered (experimentally). Fix the block-size handling so that it gets blocks of changes limited by revision number ($Start..$Start+$N, etc). This limits the number of results early enough that both sets of tests pass. Note that many other Perforce operations can fail for the same reason (p4 print, p4 files, etc) and it's probably not possible to workaround this. In the real world, this is probably not usually a problem. Signed-off-by: Luke Diamand <luke@diamand.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t9818-git-p4-block.sh')
-rwxr-xr-xt/t9818-git-p4-block.sh12
1 files changed, 6 insertions, 6 deletions
diff --git a/t/t9818-git-p4-block.sh b/t/t9818-git-p4-block.sh
index aae1121b9..3b3ae1f59 100755
--- a/t/t9818-git-p4-block.sh
+++ b/t/t9818-git-p4-block.sh
@@ -49,11 +49,11 @@ test_expect_success 'Default user cannot fetch changes' '
! p4 changes -m 1 //depot/...
'
-test_expect_failure 'Clone the repo' '
+test_expect_success 'Clone the repo' '
git p4 clone --dest="$git" --changes-block-size=7 --verbose //depot/included@all
'
-test_expect_failure 'All files are present' '
+test_expect_success 'All files are present' '
echo file.txt >expected &&
test_write_lines outer0.txt outer1.txt outer2.txt outer3.txt outer4.txt >>expected &&
test_write_lines outer5.txt >>expected &&
@@ -61,18 +61,18 @@ test_expect_failure 'All files are present' '
test_cmp expected current
'
-test_expect_failure 'file.txt is correct' '
+test_expect_success 'file.txt is correct' '
echo 55 >expected &&
test_cmp expected "$git/file.txt"
'
-test_expect_failure 'Correct number of commits' '
+test_expect_success 'Correct number of commits' '
(cd "$git" && git log --oneline) >log &&
wc -l log &&
test_line_count = 43 log
'
-test_expect_failure 'Previous version of file.txt is correct' '
+test_expect_success 'Previous version of file.txt is correct' '
(cd "$git" && git checkout HEAD^^) &&
echo 53 >expected &&
test_cmp expected "$git/file.txt"
@@ -102,7 +102,7 @@ test_expect_success 'Add some more files' '
# This should pick up the 10 new files in "included", but not be confused
# by the additional files in "excluded"
-test_expect_failure 'Syncing files' '
+test_expect_success 'Syncing files' '
(
cd "$git" &&
git p4 sync --changes-block-size=7 &&