git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCHv1 0/6] git-p4: wait() for child processes better
@ 2020-01-29 11:12 Luke Diamand
  2020-01-29 11:12 ` [PATCHv1 1/6] git-p4: make closeStreams() idempotent Luke Diamand
  2020-01-30 10:52 ` [PATCHv1 0/6] git-p4: wait() for child processes better Johannes Schindelin
  0 siblings, 2 replies; 13+ messages in thread
From: Luke Diamand @ 2020-01-29 11:12 UTC (permalink / raw)
  To: git
  Cc: SZEDER Gábor, Lars Schneider, Yang Zhao, Johannes Schindelin,
	Luke Diamand

git-p4 handles most errors by calling die(). This can leave child
processes still running, orphaned.

    https://public-inbox.org/git/20190227094926.GE19739@szeder.dev/

This is not a problem for humans, but for CI, it is.

This change improves things by raising an exception and cleaning up
further up the stack, rather than simply calling die().

This is only done in a few places, such that the tests pass with the changes
suggested in the link (adding sleep strategically) but there are still
plenty of places where git-p4 calls die().

This also adds some pylint disables, so that we can start to run pylint
on git-p4.

Luke Diamand (6):
  git-p4: make closeStreams() idempotent
  git-p4: add P4CommandException to report errors talking to Perforce
  git-p4: disable some pylint warnings, to get pylint output to
    something manageable
  git-p4: create helper function importRevisions()
  git-p4: cleanup better on error exit
  git-p4: check for access to remote host earlier

 git-p4.py | 180 +++++++++++++++++++++++++++++++++---------------------
 1 file changed, 109 insertions(+), 71 deletions(-)

-- 
2.20.1.390.gb5101f9297


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

end of thread, other threads:[~2020-01-31 10:37 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-29 11:12 [PATCHv1 0/6] git-p4: wait() for child processes better Luke Diamand
2020-01-29 11:12 ` [PATCHv1 1/6] git-p4: make closeStreams() idempotent Luke Diamand
2020-01-29 11:12   ` [PATCHv1 2/6] git-p4: add P4CommandException to report errors talking to Perforce Luke Diamand
2020-01-29 11:12     ` [PATCHv1 3/6] git-p4: disable some pylint warnings, to get pylint output to something manageable Luke Diamand
2020-01-29 11:12       ` [PATCHv1 4/6] git-p4: create helper function importRevisions() Luke Diamand
2020-01-29 11:12         ` [PATCHv1 5/6] git-p4: cleanup better on error exit Luke Diamand
2020-01-29 11:12           ` [PATCHv1 6/6] git-p4: check for access to remote host earlier Luke Diamand
2020-01-29 15:00         ` [PATCHv1 4/6] git-p4: create helper function importRevisions() Eric Sunshine
2020-01-29 18:36           ` Luke Diamand
2020-01-30 19:59           ` Junio C Hamano
2020-01-31 10:36             ` Luke Diamand
2020-01-30 10:52 ` [PATCHv1 0/6] git-p4: wait() for child processes better Johannes Schindelin
2020-01-30 11:33   ` Luke Diamand

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).