Git 1.7.3.2 for OS/2 testbuild
(very experimental use, not tested enough)

Git offical - http://git-scm.com/

Release notes for current version (and old versions) are
placed in share/doc/git-doc/Relnotes-*.txt.


System requirement
------------------

 * OS/2 V4.5 (and also eCS)
 * CPU: Pentium or above
 * TCPIP32
 * libc063
 * OpenSSL 0.9.8* runtime DLLs for OS2-KNIX
   (http://bauxite.sakura.ne.jp/software/os2/#openssl)
 * LFN-awared filesystem (HPFS, JFS etc.)
 * perl 5 (5.10.0)
 * Unix style shell (sh.exe) on directory \bin
 * Unix style tools (coretools)
 * ... and more GNUish/Unixish tools (grep, egrep, sed, awk) 

(Note some tools may require the EMX runtime.)


System recommendation
---------------------

 * ssh (OpenSSH - http://hobbes.nmsu.edu/h-search.php?key=openssh)
 * python 2.6


Environment variables
---------------------

  HOME          Your home directory (required). 
  
  GIT_FIND      Pathname of Unix-style find (required). OS/2 specific.
  
  GIT_SORT      Pathname of Unix-style sort (required). OS/2 specific.
  
  EMAIL         E-mail address (recommended).
  
  GITPERLLIB    Library path for perl module.
                (OS/2 specific: When the variable is not set, git.exe will
                 set "<git_basedir>/lib/site_perl/n.n.n" as default.)
  
  GIT_EXEC_PATH Directory for core git programs.
                (OS/2 specific: When the variable is not set, git.exe will
                 set "<git_basedir>/libexec/git-core" as default.)
  
  GIT_SSH       Pathname of ssh.
  
  GIT_SHELL     Pathname of the shell on executing child apps.
                %UNIXROOT%/bin/sh as default. OS/2 specific.


Configurarions
--------------

 * You can use the bundle CAinfo for HTTPS connections. To use:

  git config --global http.sslcainfo "/git/share/curl/curl-ca-bundle.crt"



3rd-party Libraries
-------------------

These libraries are linked statically with git.exe.

 - curl 7.21.7 (private build)
 - libssh2 1.2.8 (private build)
 - expat 2.0.1
   (http://bauxite.sakura.ne.jp/software/os2/misc/expat-2.0.1-os2-20090201.zip)
 - zlib 1.2.5 (private build)


And some (extra) tools may be needed on building.

 - ln4exe
 - patched GNU make (fix around path-separator issues in VPATH/PATH)
   (http://bauxite.sakura.ne.jp/software/os2/#misc)

To build git by yourself, see conf_os2_gcc4.sh in the difffile.


History
-------

2009-02-10
 * initial port (version 1.6.1)

2009-02-17
 * version 1.6.1.3

2009-02-23
 * version 1.6.2.rc1

2009-02-28
 * version 1.6.2.rc2

2009-03-05
 * version 1.6.2

2009-04-21
 * version 1.6.2.4
 * with openssl 0.9.8k
 * check Unix-style sort/find (environment variable: GIT_FIND, GIT_SORT)
 * launch interpreter on exec #! script for some commands written with sh/perl.

2009-05-07
 * version 1.6.3
 * configured with '--without-pthreads'

2009-05-20
 * version 1.6.3.1
 * built with gcc-4.3.3 (test)
 * Makefile.klibc (for my instant build)
 * set default value to some environment variables
   (GIT_EXEC_PATH, GIT_TEMPLATE_DIR, GITPERLLIB, GIT_HTML_PATH, GIT_INFO_PATH,
    GIT_MAN_PATH)

2009-05-21
 * bugfix: wrapped_execl[p]_for_os2 (compat/os2.c)
 * treat dosish $PATH (git-difftool.perl)

2009-05-30
 * openhtml support for browsing help with '--web' option.
   (configuring git: "git config --global help.browser openhtml")

2009-06-05
 * version 1.6.3.2

2009-06-23
 * version 1.6.3.3
 * with libidn-1.15

2009-07-18
 * version 1.6.4.rc1 (internal)

2009-07-24
 * version 1.6.4.rc2 (internal)

2009-07-31
 * version 1.6.4

2009-08-19
 * version 1.6.3.4 and 1.6.4
 * strip CR characters from cmdline
   (Oops, I should remember that here is the UNIX-*like* jungle...)

2009-08-24
 * version 1.6.4.1

2009-08-31
 * version 1.6.4.2

2009-09-16
 * version 1.6.4.3

2009-09-22
 * version 1.6.4.4
   (built with gcc 4.4.1)
   (just applied 1.6.4.3 patch)

2009-09-22
 * version 1.6.5.rc1 (internal)

2009-10-05
 * version 1.6.5.rc2 (internal)
 * use socketpair() instead of pipe().

2009-10-14
 * version 1.6.5

2009-10-20
 * version 1.6.5.1
 * with curl-7.19.6

2009-10-29
 * version 1.6.5.2

2009-11-17
 * version 1.6.5.3
 * with OpenSSL-0.9.8l

2009-12-04
 * version 1.6.5.4

2009-12-06
 * version 1.6.5.5
 * with curl-7.19.7

2009-12-10
 * version 1.6.6.rc2 (internal)

2009-12-12
 * version 1.6.5.6
   (built with gcc 4.4.2)

2009-12-18
 * version 1.6.5.7
 * version 1.6.6.rc3 (internal)

2009-12-24
 * version 1.6.6

2010-02-01
 * version 1.6.6.1
 * with libidn-0.6.14 (the latest GPLv2-compatible version;)

2010-02-03
 * version 1.7.0.rc1 (internal)
   (recommendation: python-2.6.4-os2)

2010-02-09
 * version 1.7.0.rc2 (internal)
   (recommendation: python-2.6.4-os2)

2010-02-12
 * version 1.6.6.2

2010-02-15
 * version 1.7.0
   (recommendation: python-2.6.4-os2)

2010-03-02
 * version 1.7.0.1
   (recommendation: python-2.6.4-os2)
 * with curl-7.20.0 (with libssh2-1.2.4, and without libidn)
 * with OpenSSL-0.9.8m DLLs

2010-03-02
 * version 1.7.0.2

2010-03-22
 * version 1.7.0.3

2010-04-02
 * version 1.7.0.4
 * with OpenSSL 0.9.8n (OS2-KNIX runtime)

2010-04-07
 * version 1.7.1.rc0 (internal)
 * (update: curl-ca-bundle.crt)

2010-04-12
 * version 1.7.1.rc1 (internal)

2010-04-14
 * version 1.7.0.5

2010-04-19
 * version 1.7.1.rc2 (internal)
 * (update: curl-ca-bundle.crt)

2010-04-23
 * version 1.7.0.6

2010-04-24
 * version 1.7.1

2010-05-11
 * define DEFAULT_PAGER "littlemore"
   Now some commands (git log, git diff etc.) will work without setting
   default pager...

2010-05-13
 * version 1.7.1 minor release.

2010-07-02
 * version 1.7.1.1
 * with libcurl 7.21.0 and libssh2 1.2.6

2010-07-10
 * version 1.7.2.rc2 (internal)

2010-07-22
 * version 1.7.2
 * reduce CPU usage with http connections (http.c)

2010-07-29
 * version 1.7.1.2 and 1.7.2.1

2010-08-20
 * version 1.7.2.2

2010-09-07
 * version 1.7.2.3

2010-09-24
 * version 1.7.3 (not released)

2010-10-08
 * version 1.7.3.1
 * compat/os2.c: using socketpair() as pipe() is reverted.
   (workaround for http connections)
 * run-command.c: use $GIT_SHELL as shell (instead of the fixed "sh")
 * share/curl/curl-ca-bundle.crt: updated

2010-10-26
 * version 1.7.3.2
 * with libcurl 7.21.2 and libssh2 1.2.7

2011-09-07
 * with libcurl 7.21.7, libssh2 1.2.8 and zlib 1.2.5
 * compat/os2.c: introduce private pipe function with using named-pipe.
   Mostly for ssh connections.
   ("SET GIT_USE_NPIPE=0" to revert)
 * share/curl/curl-ca-bundle.crt: updated (2011-09-02)

2011-09-25
 * strbuf.c: strip CR code at EOL for reading texts.
   (strbuf_getwholeline())

2011-10-02
 * workaround for "fatal: Out of memory?" on git gc/repack.
     conf_os2_*.sh: option -Zhigh-mem at linking.
     compat/os2-git-compat.h, compat/os2.c: wrapper funcs for read/write.
     (workaround mostly for git-mmap)


ToDo (...hopefully)
-------------------

 * native thread wrapper (or use another libpthreads)
 * binding GnuTLS/libgcrypt 
   (Has anyone ported GnuTLS/libgcrypt WITH OS/2 SPECIFIC CSPRNG...?)
 * portable (RUNTIME_PREFIX) version
 * compliancy with rpm (http://svn.netlabs.org/rpm)
 * rework poll()/select() wrapper (mostly for pipe handles).



http://bauxite.sakura.ne.jp/software/os2/
