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.)
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
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
30 tcltk-8.4.1-1.exe (for gitk, git-gui)
31 libiconv-1.9.2-1-{lib,bin,lib}.zip (for git-am,
32 from http://gnuwin32.sourceforge.net/packages/libiconv.htm)
34 I am using these settings in config.mak to have pointers to the right tools:
38 SHELL_PATH=D:/MSYS/1.0/bin/sh
39 PERL_PATH=D:/MSYS/1.0/bin/perl
45 This code base will not compile on a POSIX system, although any help
46 to introduce the necessary #ifdefs is welcome. As such the status quo
47 is in no way intended to be merged upstream.
52 - Many porcelains, in particular, checkout, add, rm, commit, diff,
53 branch, merge, rebase, log, show, bisect, grep...
54 - pull, clone, fetch, push via native git protocal as well as ssh.
55 - Local pull, clone, fetch, push.
56 - gitk, if invoked as "wish84 <prefix>\bin\gitk". Ditto for git-gui.
60 - daemon, svn, *import, cvs*
61 - and certainly a lot more that I never have found a need to look at.
65 - Internally, the ported tools must do their own command line quoting
66 when other plumbings are executed. This sort of quoting is currently
67 implemented *very* simplistic: It just watches out for whitespace
68 and double quote `"' characters. This may become a problem if you have
69 exotic characters in your file names.
71 - It seems that MSYS's default bash, 2.05b, has a bug that breaks git-am
72 (and, hence, git-rebase). If you see this error:
74 Patch is empty. Was is split wrong?
76 you need bash 3.1: Just unpack bash-3.1*.tar.bz2 and copy its bash.exe
77 over $MSYS/bin/sh.exe.