All of lore.kernel.org
 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 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.