• S
    git-gui: Test for Cygwin differently than from Windows. · 20ddfcaa
    Shawn O. Pearce 提交于
    Running on Cygwin is different than if we were running through MinGW.
    
    In the Cygwin case we have cygpath available to us, we need to perform
    UNIX<->Windows path translation sometimes, and we need to perform odd
    things like spawning our own login shells to perform network operations.
    But in the MinGW case these don't occur.  Git knows native Windows file
    paths, and login shells may not even exist.
    
    Now git-gui will avoid running cygpath unless it knows its on Cygwin.
    It also uses a different shortcut type when Cygwin is not present, and
    it avoids invoking /bin/sh to execute hooks if Cygwin is not present.
    This latter part probably needs more testing in the MinGW case.
    
    This change also improves how we start gitk.  If the user is on any type
    of Windows system its known that gitk won't start right if ~/.gitk exists.
    So we delete it before starting if we are running on any type of Windows
    operating system.  We always use the same wish executable which launched
    git-gui to start gitk; this way on Windows we don't have to jump back to
    /bin/sh just to go into the first wish found in the user's PATH.  This
    should help on MinGW when we probably don't want to spawn a shell just
    to start gitk.
    Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
    20ddfcaa
git-gui.sh 122.9 KB