All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steven Grimm <koreth@midwinter.com>
To: Alex Riesen <raa.lkml@gmail.com>
Cc: "Shawn O. Pearce" <spearce@spearce.org>,
	Andreas Ericsson <ae@op5.se>, Josh Boyer <jwboyer@gmail.com>,
	Junio C Hamano <junkio@cox.net>,
	git@vger.kernel.org, davidk@lysator.liu.se
Subject: Re: [PATCH/POLL] git-format-patch: the default suffix is now .patch, not .txt
Date: Thu, 18 Jan 2007 11:29:53 -0800	[thread overview]
Message-ID: <45AFCAB1.8010903@midwinter.com> (raw)
In-Reply-To: <81b0412b0701180752x1664f661o17ce78a7024590f3@mail.gmail.com>

Alex Riesen wrote:
> I count 17 instances (excluding run_command). At least fetch-pack
> is not trivial (the sideband code. Could be done in a  thread, which
> is not portable just as well).

I looked at that briefly a while ago -- at the prompting of a Windows 
developer friend of mine who has some interest in git -- and it seemed 
like the best thing for portability to non-fork()ing systems would 
probably be a refactor. It looked to me like it'd be possible to 
reorganize the code such that it'd work all in one process with no 
threads or forking or anything. Not *trivial*, mind you, but possible. 
There's nothing in the code path that I saw (I didn't analyze it 
super-thoroughly) that looked like it actually needed to run in parallel.

IMO it's worth doing at some point post-1.5.0 simply because it means 
one less hurdle for someone who's looking to port Git to Windows. Plus 
it'll probably make the code slightly more efficient even on Linux and 
friends; there'd be less context-switching latency.

 From my brief look, that was the only nontrivial use of fork(). Almost 
all of the rest are simple fork/exec pairs.

Of course, the bigger hurdle for a native Windows port is all the shell 
scripts. Mercurial solves that by using Python for all its scripts, 
which at least has a native Windows version that can be installed. I 
wonder if git will/should eventually move its remaining shell scripts to 
Perl for that reason, Perl being git's de facto non-shell scripting 
language of choice.

-Steve

  reply	other threads:[~2007-01-18 19:29 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-17 13:10 [RFC] Add a suffix option to git-format-patch Josh Boyer
2007-01-17 13:49 ` Johannes Schindelin
2007-01-17 14:50   ` Josh Boyer
2007-01-17 16:39   ` Horst H. von Brand
2007-01-17 19:18   ` [PATCH] Introduce 'git-format-patch --suffix=patch' Junio C Hamano
2007-01-17 19:20     ` Andy Whitcroft
2007-01-17 19:27       ` Junio C Hamano
2007-01-17 19:51         ` Brian Gernhardt
2007-01-17 19:57           ` Junio C Hamano
2007-01-17 20:08             ` Brian Gernhardt
2007-01-17 20:22     ` [PATCH] Make format-patch --suffix="" not add any suffix Brian Gernhardt
2007-01-18  1:11     ` [PATCH] Introduce 'git-format-patch --suffix=patch' Johannes Schindelin
2007-01-17 15:43 ` [RFC] Add a suffix option to git-format-patch David Kågedal
2007-01-17 16:57   ` Andreas Ericsson
2007-01-17 17:05     ` Johannes Schindelin
2007-01-17 17:33   ` Junio C Hamano
2007-01-17 18:15     ` David Kågedal
2007-01-17 20:18     ` Josh Boyer
2007-01-17 20:20       ` Josh Boyer
     [not found]       ` <7vsle9p8pg.fsf@assigned-by-dhcp.cox.net>
2007-01-18  0:06         ` [PATCH/POLL] git-format-patch: the default suffix is now .patch, not .txt Junio C Hamano
2007-01-18  1:06           ` Johannes Schindelin
2007-01-18  7:59           ` Alex Riesen
2007-01-18  8:06             ` Shawn O. Pearce
2007-01-18  8:18               ` Alex Riesen
2007-01-18  9:10                 ` Junio C Hamano
2007-01-18  9:21                   ` Alex Riesen
2007-01-18  8:43             ` Junio C Hamano
2007-01-18  9:35               ` Alex Riesen
2007-01-18 11:52                 ` Josh Boyer
2007-01-18 13:33                   ` Johannes Schindelin
2007-01-18 13:46                     ` Alex Riesen
2007-01-18 13:40                   ` Alex Riesen
2007-01-18 14:10                     ` Andreas Ericsson
2007-01-18 14:15                       ` Johannes Schindelin
2007-01-18 14:41                       ` Alex Riesen
2007-01-18 14:49                         ` Johannes Schindelin
2007-01-18 14:53                           ` Alex Riesen
2007-01-18 15:16                             ` Johannes Schindelin
2007-01-18 15:37                               ` Alex Riesen
2007-01-18 15:42                                 ` Josh Boyer
2007-01-18 20:03                                   ` Johannes Schindelin
2007-01-18 20:12                                     ` Josh Boyer
2007-01-18 15:26                         ` Shawn O. Pearce
2007-01-18 15:52                           ` Alex Riesen
2007-01-18 19:29                             ` Steven Grimm [this message]
2007-01-18 19:57                               ` Johannes Schindelin
2007-01-18 16:09                           ` Johannes Sixt
2007-01-19 10:11                         ` Jakub Narebski
2007-01-18 15:42                     ` Shawn O. Pearce
2007-01-18 16:05                       ` Alex Riesen
2007-01-18 16:29                       ` Andreas Ericsson
2007-01-18 16:51                         ` Shawn O. Pearce
2007-01-18 17:03                           ` Andreas Ericsson
2007-01-18 19:30                           ` Martin Langhoff
2007-01-18 19:19                         ` Martin Langhoff
2007-01-18 12:40               ` Andreas Ericsson
2007-01-18 15:10                 ` Lukas Sandström
2007-01-18 15:29                 ` Brian Gernhardt
2007-01-18  9:57             ` Alexandre Julliard

Reply instructions:

You may reply publicly 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=45AFCAB1.8010903@midwinter.com \
    --to=koreth@midwinter.com \
    --cc=ae@op5.se \
    --cc=davidk@lysator.liu.se \
    --cc=git@vger.kernel.org \
    --cc=junkio@cox.net \
    --cc=jwboyer@gmail.com \
    --cc=raa.lkml@gmail.com \
    --cc=spearce@spearce.org \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.