From: Andreas Ericsson <ae@op5.se>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Alex Riesen <raa.lkml@gmail.com>,
Johannes.Schindelin@gmx.de, tsuna@lrde.epita.fr,
git@vger.kernel.org, make-w32@gnu.org
Subject: Re: Switching from CVS to GIT
Date: Mon, 15 Oct 2007 01:55:56 +0200 [thread overview]
Message-ID: <4712AC8C.9050006@op5.se> (raw)
In-Reply-To: <u7ilpjp3x.fsf@gnu.org>
Eli Zaretskii wrote:
>> Date: Mon, 15 Oct 2007 00:14:46 +0200
>> From: Alex Riesen <raa.lkml@gmail.com>
>> Cc: Andreas Ericsson <ae@op5.se>, Benoit SIGOURE <tsuna@lrde.epita.fr>,
>> git list <git@vger.kernel.org>, Eli Zaretskii <eliz@gnu.org>,
>> Make Windows <make-w32@gnu.org>
>>
>> Re "functional". Have to remind something (besides the fork):
>
> That's a 20-20 hindsight: if you deliberately write a program to rely
> heavily on Posix-isms, don't be surprised when you discover that it
> cannot be easily ported to other platforms.
>
True. It was originally developed because Linux kernel development came
to a stand-still and needed an scm quickly. Since the original design
worked out nicely, nobody bothered (then) about possible future porting
issues. Windows is still a second class citizen, but that's true for
pretty much every unix-born application out there, so I'm not all that
stressed out about it.
>
>> - no proper filename semantics (case-insensitivity and stupid rules for
>> allowed characters in filenames, like ":" in filenames in
>> cross-platform projects)
>
> There's a flag on Windows to open files case-sensitively, if you need
> that. In any case, I don't see how this can be of any real relevance
> to porting GIT.
Because having
Path/foo
path/Foo
PATH
path/foo
is possible in git's native playground, but not on windows, so it can
quite seriously hamper cross-platform cooperation. When that happens,
users usually start blaming the tools in use. Browse the list archives
for HFS and you'll see what I mean, although come to think of it, the
HFS problems might actually be worse, since HFS reports case-changes
while not actually being case-sensitive.
> As for ":" in file names, simply don't use it, like
> you don't use white space or characters below 32 decimal: it's
> inconvenient, even if it's allowed.
>
It's still a real problem because sooner or later someone will use that,
and it needs to be handled with a bit more grace than just bombing out.
>
>> - no real "mmap" (which kills perfomance and complicates code)
>
> You only need mmap because you are accustomed to use it on GNU/Linux.
>
Not really. mmap() provides a real performance boost when reading large
repos, due to the sliding window code that handles pack-files. mmap
was invented for occasions like that, and was allowed to endure because
it was a much better solution than simply read(fd, buf, st.st_size) and
moving pointers around.
>> Interprocess communication:
>>
>> - no reliable text environment (I'm programming in the damn thing for
>> 10 years and I still don't know how to pass an environment variable
>> _for_sure_)
>>
>> - it has only one argument (limited in size) passed to started
>> programs, which means that there is no possible way to safely pass
>> file and text arguments on command line (more than one, that is)
>
> Not enough context, so I cannot talk intelligently about this. Why do
> you need interprocess communication in the first place?
Because some of the commands operate on large data-sets that are best
passed as a stream. It's ridiculously easy to set that up on unix, but
(afaiu) quite troublesome under windows.
> why not simply
> give birth to a subsidiary process and pass it a command line (which
> can be up to 32KB)?
I believe work is in progress that will run things as threads rather
than using fork()+execve(). 32KiB of data is nowhere near enough to
sustain many of the more data-hungry commands. Or rather, it won't be
once the repository has grown passed 50-odd revisions.
All that being said, welcome to the git mailing list. Hopefully you
can help iron out the wrinkles on windows. You seem to have a fairly
good grasp of what's available there, and I'm sure the msys team would
be pretty happy to get a few patches to speed them on their way.
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
next prev parent reply other threads:[~2007-10-14 23:56 UTC|newest]
Thread overview: 120+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1192293466.17584.95.camel@homebase.localnet>
[not found] ` <uy7e6keyv.fsf@gnu.org>
[not found] ` <1192381040.4908.57.camel@homebase.localnet>
2007-10-14 17:10 ` Switching from CVS to GIT Benoit SIGOURE
2007-10-14 18:06 ` Marco Costalba
2007-10-14 18:20 ` Johannes Schindelin
2007-10-15 5:35 ` Martin Langhoff
2007-10-14 18:27 ` Andreas Ericsson
2007-10-14 18:39 ` Johannes Schindelin
2007-10-14 19:09 ` Andreas Ericsson
2007-10-14 20:14 ` Johannes Schindelin
2007-10-14 22:14 ` Alex Riesen
2007-10-14 22:41 ` Eli Zaretskii
2007-10-14 23:45 ` Johannes Schindelin
2007-10-15 0:36 ` Brian Dessent
2007-10-15 1:22 ` Johannes Schindelin
2007-10-15 1:24 ` Johannes Schindelin
2007-10-15 6:04 ` Eli Zaretskii
2007-10-15 7:56 ` Steffen Prohaska
2007-10-15 8:20 ` Eli Zaretskii
2007-10-15 8:47 ` Johannes Schindelin
2007-10-15 11:09 ` Eli Zaretskii
2007-10-15 12:31 ` Johannes Sixt
2007-10-15 12:37 ` Eli Zaretskii
2007-10-15 18:29 ` Paul Smith
2007-10-15 9:23 ` Steffen Prohaska
2007-10-15 11:06 ` Eli Zaretskii
2007-10-15 4:12 ` Eli Zaretskii
2007-10-15 8:34 ` Johannes Schindelin
2007-10-15 9:02 ` Benoit SIGOURE
2007-10-15 17:56 ` Alex Riesen
2007-10-15 18:37 ` Brian Dessent
2007-10-15 18:44 ` Johannes Schindelin
2007-10-15 19:07 ` Brian Dessent
2007-10-15 19:27 ` Johannes Schindelin
2007-10-15 20:24 ` Linus Torvalds
2007-10-15 20:36 ` Johannes Schindelin
2007-10-15 19:42 ` Alex Riesen
2007-10-15 19:48 ` Eli Zaretskii
2007-10-15 19:58 ` Johannes Schindelin
2007-10-15 21:06 ` Eli Zaretskii
2007-10-15 20:05 ` Brian Dessent
2007-10-15 20:19 ` Johannes Schindelin
2007-10-15 20:43 ` Steffen Prohaska
2007-10-15 20:46 ` Johannes Schindelin
2007-10-16 2:24 ` Nguyen Thai Ngoc Duy
2007-10-16 4:16 ` Eli Zaretskii
2007-10-16 10:09 ` Nguyen Thai Ngoc Duy
2007-10-16 12:18 ` Eli Zaretskii
2007-10-16 6:17 ` Steffen Prohaska
2007-10-15 21:08 ` Eli Zaretskii
2007-10-15 20:05 ` Mark Watts
2007-10-15 4:06 ` Eli Zaretskii
2007-10-15 5:56 ` Eli Zaretskii
2007-10-15 8:44 ` Johannes Schindelin
2007-10-15 8:56 ` David Kastrup
2007-10-15 8:57 ` David Kastrup
2007-10-15 17:49 ` Alex Riesen
2007-10-15 18:25 ` Dave Korn
2007-10-15 18:34 ` Johannes Schindelin
2007-10-15 19:34 ` Alex Riesen
2007-10-15 17:53 ` Alex Riesen
2007-10-14 23:55 ` Andreas Ericsson [this message]
2007-10-16 0:45 ` Daniel Barkalow
2007-10-16 4:30 ` Eli Zaretskii
2007-10-16 5:14 ` Andreas Ericsson
2007-10-16 6:25 ` Eli Zaretskii
2007-10-16 7:07 ` Daniel Barkalow
2007-10-16 12:29 ` Johannes Schindelin
2007-10-16 12:38 ` Peter Karlsson
2007-10-16 13:04 ` Eli Zaretskii
2007-10-16 12:53 ` Eli Zaretskii
2007-10-16 12:59 ` David Kastrup
2007-10-16 13:15 ` Johannes Schindelin
2007-10-16 15:47 ` Dave Korn
2007-10-16 15:56 ` David Brown
2007-10-16 16:04 ` Nicolas Pitre
2007-10-16 16:23 ` Dave Korn
2007-10-16 18:06 ` Christopher Faylor
2007-10-16 16:59 ` Andreas Ericsson
2007-10-16 7:14 ` Steffen Prohaska
2007-10-16 12:33 ` Johannes Schindelin
2007-10-16 13:16 ` Steffen Prohaska
2007-10-16 13:21 ` Johannes Schindelin
2007-10-16 13:50 ` Steffen Prohaska
2007-10-16 14:14 ` Johannes Schindelin
2007-10-16 14:36 ` Steffen Prohaska
2007-10-16 15:12 ` Eli Zaretskii
2007-10-17 19:33 ` Robin Rosenberg
2007-10-16 5:56 ` Daniel Barkalow
2007-10-16 7:03 ` Eli Zaretskii
2007-10-16 12:39 ` Johannes Schindelin
2007-10-16 12:47 ` David Kastrup
2007-10-16 13:16 ` Eli Zaretskii
2007-10-16 13:24 ` Johannes Schindelin
2007-10-16 15:02 ` Eli Zaretskii
2007-10-16 15:18 ` Johannes Schindelin
2007-10-16 15:43 ` Eli Zaretskii
2007-10-16 17:04 ` Daniel Barkalow
2007-10-16 6:06 ` David Kastrup
2007-10-16 6:42 ` Johannes Sixt
2007-10-16 7:17 ` Eli Zaretskii
2007-10-14 22:59 ` Dave Korn
2007-10-15 0:01 ` Johannes Schindelin
2007-10-15 17:36 ` Alex Riesen
2007-10-15 0:03 ` David Brown
2007-10-15 6:08 ` Eli Zaretskii
2007-10-15 10:16 ` Andreas Ericsson
2007-10-15 10:38 ` Johannes Sixt
2007-10-15 10:52 ` Andreas Ericsson
2007-10-15 11:16 ` Dave Korn
2007-10-15 0:46 ` Michael Gebetsroither
2007-10-15 17:38 ` Alex Riesen
2007-10-15 19:26 ` David Kastrup
2007-10-15 19:30 ` Alex Riesen
2007-10-16 11:13 ` Peter Karlsson
2007-10-15 5:43 ` Martin Langhoff
2007-10-15 6:39 ` Johannes Sixt
2007-10-15 23:12 ` Shawn O. Pearce
2007-10-16 6:10 ` Johannes Sixt
2007-10-16 6:21 ` Shawn O. Pearce
2007-10-16 6:29 ` Johannes Sixt
2007-10-16 15:16 ` Johannes Schindelin
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=4712AC8C.9050006@op5.se \
--to=ae@op5.se \
--cc=Johannes.Schindelin@gmx.de \
--cc=eliz@gnu.org \
--cc=git@vger.kernel.org \
--cc=make-w32@gnu.org \
--cc=raa.lkml@gmail.com \
--cc=tsuna@lrde.epita.fr \
/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 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).