git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv1 0/3] git-p4: fixing --changes-block-size support
@ 2015-06-07 10:21 Luke Diamand
  2015-06-07 10:21 ` [PATCHv1 1/3] git-p4: additional testing of --changes-block-size Luke Diamand
                   ` (3 more replies)
  0 siblings, 4 replies; 18+ messages in thread
From: Luke Diamand @ 2015-06-07 10:21 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano, Lex Spoon, Luke Diamand

We recently added support to git-p4 to limit the number of changes it
would try to import at a time. That was to help clients who were being
limited by the "maxscanrows" limit. This used the "-m maxchanges"
argument to "p4 changes" to limit the number of results returned to
git-p4.

Unfortunately it turns out that in practice, the server limits the
number of results returned *before* the "-m maxchanges" argument is
considered. Even supplying a "-m 1" argument doesn't help.

This affects both the "maxscanrows" and "maxresults" group options.

This set of patches updates the t9818 git-p4 tests to show the problem,
and then adds a fix which works by iterating over the changes in batches
(as at present) but using a revision range to limit the number of changes,
rather than "-m $BATCHSIZE".

That means it will in most cases require more transactions with the server,
but usually the effect will be small.

Along the way I also found that "p4 print" can fail if you have a file
with too many changes in it, but there's unfortunately no way to workaround
this. It's fairly unlikely to ever happen in practice.

I think I've covered everything in this fix, but it's possible that there
are still bugs to be uncovered; I find the way that these limits interact
somewhat tricky to understand.

Thanks,
Luke

Luke Diamand (3):
  git-p4: additional testing of --changes-block-size
  git-p4: test with limited p4 server results
  git-p4: fixing --changes-block-size handling

 git-p4.py               | 48 +++++++++++++++++++++++---------
 t/t9818-git-p4-block.sh | 73 +++++++++++++++++++++++++++++++++++++++++++------
 2 files changed, 99 insertions(+), 22 deletions(-)

-- 
2.3.4.48.g223ab37

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2015-06-08 22:33 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-07 10:21 [PATCHv1 0/3] git-p4: fixing --changes-block-size support Luke Diamand
2015-06-07 10:21 ` [PATCHv1 1/3] git-p4: additional testing of --changes-block-size Luke Diamand
2015-06-07 16:06   ` Lex Spoon
2015-06-07 10:21 ` [PATCHv1 2/3] git-p4: test with limited p4 server results Luke Diamand
2015-06-07 16:11   ` Lex Spoon
2015-06-07 10:21 ` [PATCHv1 3/3] git-p4: fixing --changes-block-size handling Luke Diamand
2015-06-07 16:33   ` Lex Spoon
2015-06-07 17:06     ` Luke Diamand
2015-06-07 21:35       ` [PATCHv2 0/3] " Luke Diamand
2015-06-07 21:35         ` [PATCHv2 1/3] git-p4: additional testing of --changes-block-size Luke Diamand
2015-06-07 21:35         ` [PATCHv2 2/3] git-p4: test with limited p4 server results Luke Diamand
2015-06-07 21:35         ` [PATCHv2 3/3] git-p4: fixing --changes-block-size handling Luke Diamand
2015-06-07 22:58           ` Lex Spoon
2015-06-08 16:02             ` Junio C Hamano
2015-06-08 16:36               ` Lex Spoon
     [not found]                 ` <xmqqy4juazkz.fsf@gitster.dls.corp.google.com>
     [not found]                   ` <5575E264.6040601@diamand.org>
2015-06-08 22:32                     ` Junio C Hamano
2015-06-07 16:01 ` [PATCHv1 0/3] git-p4: fixing --changes-block-size support Lex Spoon
2015-06-07 16:58   ` Luke Diamand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).