Subject: Re: Switching from CVS to GIT

From: Brian Dessent <[email-masked]>
Date: Mon, 15 Oct 2007 12:07:53 -0700

Johannes Schindelin wrote:

> No, it is not equivalent.  For example, you can still see the file.  For
> example, you cannot reuse the filename for another file.  And -- the
> killer -- you cannot remove the directory which contains the file.

Fair enough.  You can move it to another directory in order to delete
the containing directory -- this is what Cygwin does to placate posix
apps that expect this to work.

> But really, we have workarounds in place to make this a non-issue.

Ok.

> My bigger concerns are the performance and stability.  For example, I had
> a very annoying problem on one of the machines I am testing msysGit on.
> The problem was _only_ fixable by deactivating component of Logitech's
> WebCam driver!  Now, if a user-installable 3rd party program can make my
> regular git crash, I am scared what more it can do.

That is because the MSYS runtime is based on an old version of Cygwin,
and it uses the same dirty tricks to emulate fork.  These tricks rely on
having a repeatably consistent memory layout for a process each time it
is started, and when third party tools add hooks that affect the load
order or otherwise screw with the layout, the fork emulation fails. 
This is also why it is sometimes necessary to assign unique base
addresses to all libraries (rebaseall) in order to get fork emulation
working again.

So yes, it is unfortunate that some system tools can drastically affect
the ability of Cygwin and MSYS to function, but it's what we live with
to have fork/exec emulation.  I see that there is work afoot to abstract
process creation so that hopefully this won't be as much a concern in
the near future.

Brian