Git Mailing List Archive on lore.kernel.org
 help / color / Atom feed
From: Ben Peart <peartben@gmail.com>
To: git@vger.kernel.org
Cc: gitster@pobox.com, benpeart@microsoft.com,
	christian.couder@gmail.com, larsxschneider@gmail.com,
	peff@peff.net
Subject: [PATCH v7 00/10] refactor the filter process code into a reusable module
Date: Fri,  5 May 2017 11:27:52 -0400
Message-ID: <20170505152802.6724-1-benpeart@microsoft.com> (raw)

Changes from V6 include:

convert: remove erroneous tests for errno == EPIPE
 - split into separate patch to fix a preexisting bug discovered in the review process

pkt-line: Update packet_read_line() to test for len > 0
 - split into separate patch to deal with errors that return negative lengths

pkt-line: add packet_read_line_gently()
 - update documentation to clarify return values
 - update white space in function definition


Refactor the filter.<driver>.process code into a separate sub-process
module that can be used to reduce the cost of starting up a sub-process
for multiple commands.  It does this by keeping the external process
running and processing all commands by communicating over standard input
and standard output using the packet format (pkt-line) based protocol.
Full documentation is in Documentation/technical/api-sub-process.txt.

This code is refactored from:

	Commit edcc85814c ("convert: add filter.<driver>.process option", 2016-10-16)
	keeps the external process running and processes all commands

Ben Peart (10):
  convert: remove erroneous tests for errno == EPIPE
  pkt-line: fix packet_read_line() to handle len < 0 errors
  pkt-line: add packet_read_line_gently()
  convert: move packet_write_line() into pkt-line as packet_writel()
  convert: split start_multi_file_filter() into two separate functions
  convert: Separate generic structures and variables from the filter
    specific ones
  convert: Update generic functions to only use generic data structures
  convert: rename reusable sub-process functions
  sub-process: move sub-process functions into separate files
  convert: Update subprocess_read_status to not die on EOF

 Documentation/technical/api-sub-process.txt |  59 ++++++++++
 Makefile                                    |   1 +
 convert.c                                   | 161 ++++++----------------------
 pkt-line.c                                  |  33 +++++-
 pkt-line.h                                  |  12 +++
 sub-process.c                               | 106 ++++++++++++++++++
 sub-process.h                               |  49 +++++++++
 7 files changed, 292 insertions(+), 129 deletions(-)
 create mode 100644 Documentation/technical/api-sub-process.txt
 create mode 100644 sub-process.c
 create mode 100644 sub-process.h

-- 
2.12.2.gvfs.2.20.g3624a68d62.dirty


             reply index

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-05 15:27 Ben Peart [this message]
2017-05-05 15:27 ` [PATCH v7 01/10] convert: remove erroneous tests for errno == EPIPE Ben Peart
2017-05-05 15:27 ` [PATCH v7 02/10] pkt-line: fix packet_read_line() to handle len < 0 errors Ben Peart
2017-05-05 15:27 ` [PATCH v7 03/10] pkt-line: add packet_read_line_gently() Ben Peart
2017-05-05 15:27 ` [PATCH v7 04/10] convert: move packet_write_line() into pkt-line as packet_writel() Ben Peart
2017-05-13  9:04   ` Jeff King
2017-05-15  4:02     ` Junio C Hamano
2017-05-05 15:27 ` [PATCH v7 05/10] convert: split start_multi_file_filter() into two separate functions Ben Peart
2017-05-05 15:27 ` [PATCH v7 06/10] convert: Separate generic structures and variables from the filter specific ones Ben Peart
2017-05-05 15:27 ` [PATCH v7 07/10] convert: Update generic functions to only use generic data structures Ben Peart
2017-05-05 15:28 ` [PATCH v7 08/10] convert: rename reusable sub-process functions Ben Peart
2017-05-05 15:28 ` [PATCH v7 09/10] sub-process: move sub-process functions into separate files Ben Peart
2017-05-13  9:07   ` Jeff King
2017-05-05 15:28 ` [PATCH v7 10/10] convert: Update subprocess_read_status to not die on EOF Ben Peart
2017-05-08  1:58 ` [PATCH v7 00/10] refactor the filter process code into a reusable module Junio C Hamano
2017-05-13  9:16   ` Jeff King

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170505152802.6724-1-benpeart@microsoft.com \
    --to=peartben@gmail.com \
    --cc=benpeart@microsoft.com \
    --cc=christian.couder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=larsxschneider@gmail.com \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Mailing List Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/git/0 git/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 git git/ https://lore.kernel.org/git \
		git@vger.kernel.org
	public-inbox-index git

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.git


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git