Revert bd2f73a6(Support the tools scripted in perl.)
[git/platforms.git] / README.MinGW
blob89b7065aac8236937c94f71e24a68ed94edcb57e
1 This is a port of GIT to Windows using MinGW.
3 The goal of this port is to have the tools runnable from the Windows
4 command line, not from MinGW's rxvt+bash environment.
6 (Note: This file was written after-the-fact and may contain errors.
7 If you are trying this, please make notes and update it.)
10 INSTALLATION
11 ------------
13 In order to compile this code you need:
15 - MSYS, e.g. MSYS-1.0.11-2004.04.30-1.exe
16 - MinGW, e.g. MinGW-5.0.2.exe
17 - mingwruntime, e.g. mingw-runtime-3.9.tar.gz
18 - compilers and tools:
19         binutils-2.15.91-20040904-1.tar.gz
20         gcc-core-3.4.2-20040916-1.tar.gz
21         gcc-g++-3.4.2-20040916-1.tar.gz
22         gdb-6.3-2.exe
23         mingw32-make-3.80.0-3.tar.gz
24         unzip-5.51-1-bin.zip (this is not from MinGW, iirc)
25         msysDTK-1.0.1.exe (contains ssh, perl)
26         bash-3.1-MSYS-1.0.11-snapshot.tar.bz2
27 - additional libraries:
28         zlib-1.2.3-mingwPORT-1.tar
29         w32api-3.6.tar.gz
30         tcltk-8.4.1-1.exe (for gitk, git-gui)
33 STATUS
34 ------
36 This code base will not compile on a POSIX system, although any help
37 to introduce the necessary #ifdefs is welcome.  As such the status quo
38 is in no way intended to be merged upstream.
40 This works:
42 - All the plumbings.
43 - Many porcelains, in particular, checkout, add, rm, commit, diff,
44   branch, merge, rebase, log, show, bisect, grep...
45 - pull, clone, fetch, push via native git protocal as well as ssh.
46 - Local pull, clone, fetch, push.
47 - gitk, if invoked as "wish84 <prefix>\bin\gitk". Ditto for git-gui.
49 This does not work:
51 - daemon, svn, *import, cvs*
52 - and certainly a lot more that I never have found a need to look at.
54 Caveats (aka bugs):
56 - Internally, the ported tools must do their own command line quoting
57   when other plumbings are executed. This sort of quoting is currently
58   implemented *very* simplistic: It just watches out for whitespace
59   and double quote `"' characters. This may become a problem if you have
60   exotic characters in your file names.
62 - It seems that MSYS's default bash, 2.05b, has a bug that breaks git-am
63   (and, hence, git-rebase).  If you see this error:
65         Patch is empty.  Was is split wrong?
67   you need bash 3.1: Just unpack bash-3.1*.tar.bz2 and copy its bash.exe
68   over $MSYS/bin/sh.exe.