git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

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