Christopher, I'm terribly sorry for the long delays, but that is something I can't change at this moment. On 2/26/06, Christopher Faylor <me@xxxxxx> wrote: > >>>It's not activestate perl actually. It's only one platform it also > >>>_has_ to support. Is it worth supporting Windows? > >> > >>With or without cygwin? With cygwin, I'd say "yes, unless it makes > >>things terribly difficult to maintain and so long as we don't take > >>performance hits on unices". Without cygwin, I'd say "What? It runs > >>on windows?". > > > >There not much difference with or without cygwin. The penalties of > >doing any kind of support for it will pile up (as they started to do > >with pipes). Someday we'll have to start dropping features on Windows > >or restrict them beyond their usefullness. The fork emulation in > >cygwin isn't perfect, > > If the speed of cygwin's fork is an issue then I'd previously suggested > using spawn*. The spawn family of functions were designed to emulate > Windows functions of the same name. They start a new process without > the requirement of forking. The effort of porting git to spawn-like interface has already started, so there's no much left to say about the fork's speed... > >signals do not work reliably (if at all), > > I'm not sure if you're mixing cygwin with windows here but if signals do > not work reliably in Cygwin then that is something that we'd like to > know about. Signals *obviously* have to work fairly well for programs > like ssh, bash, and X to work, however. That's not enough. Try interrupting busy processes. Like "git pull", "git clone" or make. > Native Windows, OTOH, hardly has any signals at all and deals with > signals in a way that is only vaguely like linux. That makes the rest of installed system kind of useless in cygwin environment. After interrupting a build process, which uses java (don't ask) only make stops. The rest of the process runs happily away. Now, I know that windows has no signals at all and nothing which even closely resembles them. I wont be pressing anyone to implement them in windows, having the knowledge. What I'd actually suggest is to drop their implementation entierly, returning ENOSYS, so that programs are not fooled into believing that the system will work as expected. It never will. "Ctrl-C" in windows console is just a shortcut to TerminateProcess, live with that. > >filesystem is slow and locked down, and exec-attribute is NOT really > >useful even on NTFS (it is somehow related to execute permission and > >open files. I still cannot figure out how exactly are they related). > > Again, it's not clear if you're talking about Windows or Cygwin but > under Cygwin, in the default configuration, the exec attribute means the > same thing to cygwin as it does to linux. I'm talking about git and native windows interaction: I cannot use umask, because I have to use stupid windows programs, and they always create "executable" *.c and *.h, and I cannot blindly remove it with something like "chmod -R -x", because it'd remove it also from executables. The poor executables lose their _rights_ to be executed (why does cygwin use windows permissions? They cannot correlate to unix attributes, can they?) An .bat or .cmd without right to execute it is a pain in my build system (and no, I'm not allowed to change that damn stupid build system). Is there any way to tell cygwin that the files it hasn't seen or touched yet are _not_executables_? - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html