git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/14 resend] fork/exec removal series
@ 2007-10-19 19:47 Johannes Sixt
  2007-10-19 19:47 ` [PATCH 01/14] Change git_connect() to return a struct child_process instead of a pid_t Johannes Sixt
  0 siblings, 1 reply; 19+ messages in thread
From: Johannes Sixt @ 2007-10-19 19:47 UTC (permalink / raw)
  To: Shawn O. Pearce; +Cc: git, Johannes Sixt

Here it is again, a series of patches that removes a number fork/exec pairs.

The series goes on top of the builtin-fetch pack topic, specifically,
cfa5b2b7f (Avoid scary errors...) and obsoletes q/jsi/no-fork of Lars'
patch queue.

The difference compared to the last time I sent are in:

[02/14] Use start_command() in git_connect() instead of explicit fork/exec.
[13/14] Avoid a dup2(2) in apply_filter() - start_command() can do it for us.
[14/14] Use the asyncronous function infrastructure to run the content filter.

which had conflicts with the strbuf series.

 builtin-archive.c     |    8 +-
 builtin-fetch-pack.c  |  101 +++++++++----------------
 cache.h               |    4 +-
 connect.c             |  128 +++++++++++++++----------------
 convert.c             |   88 ++++++++--------------
 diff.c                |   38 +---------
 peek-remote.c         |    8 +-
 run-command.c         |   78 +++++++++++++++++---
 run-command.h         |   23 ++++++
 send-pack.c           |    8 +-
 t/t0021-conversion.sh |    7 ++-
 transport.c           |    9 +--
 upload-pack.c         |  199 ++++++++++++++++++++++---------------------------
 13 files changed, 332 insertions(+), 367 deletions(-)

-- Hannes

^ permalink raw reply	[flat|nested] 19+ messages in thread
* [PATCH 0/14] fork/exec removal series
@ 2007-10-13 20:06 Johannes Sixt
  2007-10-13 20:06 ` [PATCH 01/14] Change git_connect() to return a struct child_process instead of a pid_t Johannes Sixt
  0 siblings, 1 reply; 19+ messages in thread
From: Johannes Sixt @ 2007-10-13 20:06 UTC (permalink / raw)
  To: gitster; +Cc: git, Johannes Sixt

Junio,

here is a series of patches that removes a number fork/exec pairs.

The series consists of 2 parts:

- The first half replaces a number of fork/exec pairs by start_command/
  finish_command or run_command.

- The second half introduces a new framework that runs a function
  asynchronously. New functions start_async and finish_async are implemented
  similarly to start_command and run_command. They are used to replace
  occurrences of fork() that does not exec() in the child. Such code
  could in principle be run in a thread, and on MinGW port we will go this
  route, but on Posix we stay with fork().

The series can be applied on top of 2b5a06e (Restore default verbosity for
http fetches), as you reqested, but that commit does not compile, so I
developed it on 90446a00 (bundle transport: fix an alloc_ref() call),
which is a few commits earlier.

There will be some strbuf related merge conflicts once you merge this into
master.

 builtin-archive.c     |    8 +-
 builtin-fetch-pack.c  |  101 +++++++++----------------
 cache.h               |    4 +-
 connect.c             |  131 ++++++++++++++++-----------------
 convert.c             |   87 ++++++++--------------
 diff.c                |   38 +---------
 peek-remote.c         |    8 +-
 run-command.c         |   79 +++++++++++++++++---
 run-command.h         |   24 ++++++
 send-pack.c           |    8 +-
 t/t0021-conversion.sh |    7 ++-
 transport.c           |    9 +--
 upload-pack.c         |  199 ++++++++++++++++++++++---------------------------
 13 files changed, 334 insertions(+), 369 deletions(-)

-- Hannes

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

end of thread, other threads:[~2007-10-21  1:40 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-19 19:47 [PATCH 0/14 resend] fork/exec removal series Johannes Sixt
2007-10-19 19:47 ` [PATCH 01/14] Change git_connect() to return a struct child_process instead of a pid_t Johannes Sixt
2007-10-19 19:47   ` [PATCH 02/14] Use start_command() in git_connect() instead of explicit fork/exec Johannes Sixt
2007-10-19 19:47     ` [PATCH 03/14] Use start_command() to run content filters " Johannes Sixt
2007-10-19 19:47       ` [PATCH 04/14] Use run_command() to spawn external diff programs instead of fork/exec Johannes Sixt
2007-10-19 19:47         ` [PATCH 05/14] Use start_comand() in builtin-fetch-pack.c instead of explicit fork/exec Johannes Sixt
2007-10-19 19:47           ` [PATCH 06/14] Have start_command() create a pipe to read the stderr of the child Johannes Sixt
2007-10-19 19:47             ` [PATCH 07/14] upload-pack: Use start_command() to run pack-objects in create_pack_file() Johannes Sixt
2007-10-19 19:48               ` [PATCH 08/14] Add infrastructure to run a function asynchronously Johannes Sixt
2007-10-19 19:48                 ` [PATCH 09/14] Use the asyncronous function infrastructure in builtin-fetch-pack.c Johannes Sixt
2007-10-19 19:48                   ` [PATCH 10/14] upload-pack: Move the revision walker into a separate function Johannes Sixt
2007-10-19 19:48                     ` [PATCH 11/14] upload-pack: Run rev-list in an asynchronous function Johannes Sixt
2007-10-19 19:48                       ` [PATCH 12/14] t0021-conversion.sh: Test that the clean filter really cleans content Johannes Sixt
2007-10-19 19:48                         ` [PATCH 13/14] Avoid a dup2(2) in apply_filter() - start_command() can do it for us Johannes Sixt
2007-10-19 19:48                           ` [PATCH 14/14] Use the asyncronous function infrastructure to run the content filter Johannes Sixt
2007-10-20  2:53                   ` [PATCH 09/14] Use the asyncronous function infrastructure in builtin-fetch-pack.c Shawn O. Pearce
2007-10-20 18:22                     ` Johannes Sixt
2007-10-21  0:29                       ` Shawn O. Pearce
  -- strict thread matches above, loose matches on Subject: below --
2007-10-13 20:06 [PATCH 0/14] fork/exec removal series Johannes Sixt
2007-10-13 20:06 ` [PATCH 01/14] Change git_connect() to return a struct child_process instead of a pid_t Johannes Sixt
2007-10-13 20:06   ` [PATCH 02/14] Use start_command() in git_connect() instead of explicit fork/exec Johannes Sixt
2007-10-13 20:06     ` [PATCH 03/14] Use start_command() to run content filters " Johannes Sixt
2007-10-13 20:06       ` [PATCH 04/14] Use run_command() to spawn external diff programs instead of fork/exec Johannes Sixt
2007-10-13 20:06         ` [PATCH 05/14] Use start_comand() in builtin-fetch-pack.c instead of explicit fork/exec Johannes Sixt
2007-10-13 20:06           ` [PATCH 06/14] Have start_command() create a pipe to read the stderr of the child Johannes Sixt
2007-10-13 20:06             ` [PATCH 07/14] upload-pack: Use start_command() to run pack-objects in create_pack_file() Johannes Sixt
2007-10-13 20:06               ` [PATCH 08/14] Add infrastructure to run a function asynchronously Johannes Sixt
2007-10-13 20:06                 ` [PATCH 09/14] Use the asyncronous function infrastructure in builtin-fetch-pack.c Johannes Sixt

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).