GithubHelp home page GithubHelp logo

rlugojr / msysgit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from msysgit/msysgit

0.0 2.0 0.0 203.1 MB

msysGit has been superseded by Git for Windows 2.x

Home Page: https://git-for-windows.github.io/

Shell 2.11% Perl 18.80% Batchfile 0.05% C++ 21.77% Perl 6 1.60% C 30.47% Prolog 1.87% Awk 0.16% HTML 5.90% Tcl 5.11% Groff 10.85% Logos 0.02% C# 0.01% Scheme 0.01% Java 0.03% Objective-C 0.04% Makefile 1.19% Pascal 0.01% PHP 0.01% CSS 0.03%

msysgit's Introduction

Please note!

Git for Windows 1.x was retired on August 18th, 2015, superseded by Git for Windows 2.x. The development environment of Git for Windows 2.x is no longer maintained in a monolithic Git repository but rather as the Git SDK, a friendly fork of MSys2 pre-configured to ease the development of Git for Windows.

Build environment for Git for Windows 1.x

This is the build environment -- also known as msysGit -- for Git for Windows.

The easiest way is to install it via the net installer. This installer will clone our two repositories, including all the necessary components to build Git for Windows, and perform an initial build.

The build environment

msysGit brings a few components that are required to build Git:

  • Bash, a Unix-type command-line shell. Quite a few components of Git itself are still shell scripts. Therefore, Bash is required to execute Git commands (see the output of cd /git && git ls-files \*.sh for a full list).
  • the GNU C Compiler. Since we try to rely only on free software (apart from the Operating System, of course), we think it makes more sense to rely on GCC than on Visual Studio express. Also, it makes the maintenance burden lighter, as upstream Git also targets mainly GCC.
  • GNU Make.
  • Perl. Still required for a couple of Git components (see the output of cd /git && git ls-files \*.perl), most notably git svn.
  • Tcl/Tk, a scripting language making it easy to implement cross-platform graphical user interfaces. We need this for gitk and git gui.
  • cURL, a library implementing HTTP and FTP transport.
  • many more libraries.
  • some Unix programs required by the shell scripts in Git.

The relationship between msysGit and Git for Windows

Git for Windows is the software package that installs a minimal environment to run Git on Windows. It comes with a Bash (a Unix-type shell), with a Perl interpreter and with the Git executable and its dependencies.

On the other hand, msysGit is the software package installing the build environment that can build Git for Windows. The easiest way is to install it via the net installer.

The difference between MSys and MinGW

The MinGW project's goal is to provide a way to compile native Windows binaries with no POSIX layer using the GNU C Compiler.

However, at least the Bash needs a POSIX layer (most notably due to the absence of the fork() call on Windows). Therefore, MSys (the minimal system) is thrown in, offering the minimal system necessary to offer Bash (and Perl) functionality on Windows.

Consequently, MSys ships with a POSIX layer (based on an old version of Cygwin) that is only used by the Bash and Perl, but not by anything compiled within that environment.

Further information

For more information and documentation, please have a look and enhance our Wiki.

For code contributions and discussions, please see our mailing list.

msysgit's People

Contributors

dscho avatar sschuberth avatar patthoyts avatar sprohaska avatar t-b avatar kusma avatar dimagog avatar snaewe avatar kblees avatar angavrilov avatar hvoigt avatar torgil avatar aroben avatar marcows avatar dotzen avatar csware avatar rctay avatar atnak avatar bbodenmiller avatar ctrueden avatar jrn avatar navytux avatar ciaranj avatar n8felton avatar taletn avatar pkahle avatar kurtpfeifle avatar ecki avatar adtc avatar mattyclarkson avatar

Watchers

Ray Lugo, Jr. avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.