X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:references :in-reply-to:content-type:content-transfer-encoding :mime-version; q=dns; s=default; b=e0wmeZmPabH7WdRNH/IGxLRVNxtyc YA7FpGsLToLl+BRWpFGK73KxUJIfTQ0zlc23JuWcEC5w4C/r/mO/Jisuap4oTdl1 f2PbQQDOYTC3p9L4o0Q8lEGMkVewL8+DT7x59vbIrknG6ywYtrK5GY9/6AqNBJpG v7QsqbBKHpFf+8= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:references :in-reply-to:content-type:content-transfer-encoding :mime-version; s=default; bh=zO3vBOEET+FxZpI85T3H1NEdw2k=; b=Rqo NOQHBJny81xbJq21/nVGS7N2H5Pu80uNyV3e/CQ0RN2Twm0m3lNTSbaFZVvtr5tH pId0UGvFq9m9rcPQojhDbNMt1BVWcaulBONflOkR6TENh9ENg7iWuQVfDv3CAWn/ r5apBHGzzBPJy3ztOY+Wh+hNVoSluaqf8idRlFNc= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=no version=3.3.2 spammy=channel, H*r:10.152.75, H*r:sk:CY1NAM0, relationship X-HELO: NAM02-CY1-obe.outbound.protection.outlook.com From: Tony Kelman To: "cygwin AT cygwin DOT com" Subject: Re: GitForWindows vs. Cygwin Date: Wed, 21 Mar 2018 00:24:58 +0000 Message-ID: References: <587wcTwzy5968Set DOT 1521586344 AT web02 DOT cms DOT usa DOT net>,<324994357 DOT 20180321024235 AT yandex DOT ru> In-Reply-To: <324994357.20180321024235@yandex.ru> x-incomingtopheadermarker: OriginalChecksum:C83EA8563E4388B99AEA0E93A1F62C28168A5E256A407D32569DF5CECDF41CE0;UpperCasedChecksum:60152C60A9806EC23AFCD3817E75D58BDB441E78470AB32947446733287BFA97;SizeAsReceived:6978;Count:46 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [vCkxXhokmiN+chMSuM7RdRlCaNuBmFJ3] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;CY1NAM02HT009;6:HabovGpNCS/8NKDHk19DWp/ZYkgjIgKxd3uq1qT6YVWJ2+68tY7VD378h92k57s5hAcZDiJCvvZDkMOf2uYAG8SAzUMFNfDrUTv2mF/QYL2dYn4ODIUFwTyhJQyuxUVL4KxUGS8YibADb0y/N56DoP3Fg78VQXoDMeW6hwkITu1qg3iP5y8Z0Wa2X1LKTARBYCLC0G4T+DqrseYmqJkNi/wqOWhSa6oyuAav01WP/aNv4dgI+C+4LViYv1EpzaeQVIkAwLOY8G9IznzJdERMvvppa4a1CuJ4nEhcfSSo3pJKAgzZ7agg8+eU/ltBLIJtqGD9sxLiATREJikUTSDvnYhQH6gib43Lo2NtLJmS3Ms=;5:aOybnqA8dOIdXhDxPzM2VYnCuEHI35KeRtzT4c9sibBp6RDD97MAmFPWsLeiPvxLCvgppjWj/OM2mYWCdqVsRCnW4yvhPB48zgdDdJoGl5d7uEWnu64IudoqPVE7mWpDUcFhfgveQUSWphqvItcNznO4lU4tyZGajzBk/q21gzo=;24:EJAUeketCr2KmkN13gDkO2xrJDQ5QoMTCbfqKtXquQzF+0lhnW+isBo3UlHH5544XLgoV/CLoay2ShjO/OMkWQzxvJQvoJb8x6NMebx7th4=;7:9tRm7zdcTvYMSZJN622NQrNCKABeJZOur3CAy1wnwpLt8y9s5CzIcMbsxJGMsxjxlbsKqiMLaNW/PwKbX7kI4XDa72sLUOflw5O/3wrDdwsQMfG2ASrqkHNgFhNTjIbVj6Kn6ojwQnaUhoe+YlaalhsMlMSkI13u+Ve9mjcVIfx0F03IgVv6Dz6ApQPaEExlZHtWhUtQPvRcsRsyVMNXrGJAdcQnomg4T2xjpMOvFMhrZlDduCzB/bB1W/sB/UvY x-incomingheadercount: 46 x-eopattributedmessage: 0 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031324274)(2017031323274)(2017031322404)(1601125374)(1603101448)(1701031045);SRVR:CY1NAM02HT009; x-ms-traffictypediagnostic: CY1NAM02HT009: x-ms-office365-filtering-correlation-id: b53807e8-d846-40ef-208f-08d58ec22e11 x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(444000031);SRVR:CY1NAM02HT009;BCL:0;PCL:0;RULEID:;SRVR:CY1NAM02HT009; x-forefront-prvs: 0618E4E7E1 x-forefront-antispam-report: SFV:NSPM;SFS:(7070007)(98901004);DIR:OUT;SFP:1901;SCL:1;SRVR:CY1NAM02HT009;H:DM5PR22MB0250.namprd22.prod.outlook.com;FPR:;SPF:None;LANG:; x-microsoft-antispam-message-info: tXmFcsJwy78MAynPJzlYPv29KEgDEfAH3rEVcziLGfqHoCpb/gZaGc+t//8IelgOt2QTxMgwgiN7zl9DdJ3hLBRVAIqC82vLAID7Wj37OBidcKtludPJHryPIrLERy08FiKursTHxb4VidY+hxtXMq5Z3Y5z4l6cEzlnOdTTHgriv9/akZJDBdesuc/6quoY spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="iso-8859-1" MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b53807e8-d846-40ef-208f-08d58ec22e11 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Mar 2018 00:24:58.9685 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1NAM02HT009 X-IsSubscribed: yes Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id w2L0PKOf006822 >> Can anyone enlighten me about the relationship of "Git for Windows" to >> Cygwin? > > They are not related. Yes, they are. >> But now I hear of this GitForWindows thing.  Which seems to have replaced >> MSysGit, with a GUI thrown in.  But is it _still_ a stale fork of Cygwin, or a >> fork at all?  Is it descended from MSysGit?  I have been googling all over, >> but not finding good answers. GitForWindows 2.x is based on MSYS2, which doesn't share any non-cygwin code with the old MSYS1 as far as I'm aware, but it reimplements (on top of a much more up-to-date fork of cygwin) the path-mangling trick that was the main motivating factor for using MSYS1 in the first place. When you have a non-cygwin windows executable (one compiled by mingw.org, or mingw-w64, or MSVC compilers) and try to pass it a posix/cygwin-style absolute path, the windows executable won't usually recognize it as a file that exists. What the MSYS shell does is apply a heuristic that automatically translates posix-style absolute paths to Windows paths (similar to manually calling `cygpath -w /posix/style/path` on each argument within cygwin) before passing the argument to the executable. There are other differences between MSYS2 and Cygwin, mostly that it uses a different package manager and repository, but these are less significant with respect to GitForWindows' requirements. The git.exe in Cygwin's git package is a cygwin executable compiled by cygwin's gcc. Hence it understands posix-style paths just fine, but it depends on cygwin1.dll to do so, and may not perform as well as a non-cygwin Windows executable. (Maybe someone has benchmarked this.) GitForWindows has historically been compiled using mingw gcc - the legacy and now-mostly-obsolete mingw.org in the git 1.x timeframe (this is the reason there was not a 64 bit version of git.exe through that release channel at the time), and more recently the mingw-w64 compilers for git 2.x. Many of your questions are answered at https://github.com/git-for-windows/git/wiki/FAQ#what-is-the-relationship-between-git-for-windows-and-msysgit https://github.com/git-for-windows/build-extra#components-of-the-git-for-windows-sdk https://www.msys2.org Some components used by git (any shell scripts, for example) require some form of posix compatibility layer to function. The recent MinGit has a busybox-based variant that can mostly avoid MSYS2 dependencies, though it seems to have at least some small MSYS2 pieces remaining: https://github.com/git-for-windows/git/wiki/MinGit#experimental-busybox-based-mingit You can see exactly how the MSYS2 runtime used by GitForWindows differs from the version used by the MSYS2 project itself by looking at the git repo at https://github.com/git-for-windows/msys2-runtime/commits/master and how MSYS2 differs from upstream cygwin by looking at the repos at https://github.com/Alexpux/Cygwin/commits/msys2-master https://github.com/mirror/newlib-cygwin/commits/master https://github.com/mirror/newlib-cygwin/releases These "patch sets" tend to get rebased pretty frequently when new cygwin releases come out upstream. I dunno where else this history has been written down, but this is my understanding of the development heritage. Any git and/or MSYS2 maintainers can correct me if anything I stated here is incorrect. -Tony -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple