X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 45ABD3857B8E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1690047369; bh=0gw6E45j/PrgPCPPlxngyRKIvb1C9M6Wvdx2U/BvSTg=; h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=s2Gl9PLuhvQH0hoE7CRjU5GXW/p+rA1J8Z+m3vMlpQOaZsj5gVWCvQLUpDsoGXaVq qAOP5pGOyK0WWjTxOg7UFC7Jcn+qyduDWZfqVoniQp9dCoXysIZB0ZT31L1dD/brSO 43s2Kr8U1VkG8vpQwSkIFyjXGAruIAsEO9BEHhfk= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1414C3858D1E Message-ID: Date: Sat, 22 Jul 2023 10:35:53 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0 Thunderbird/102.13.0 Subject: Re: Most git executables are hard links to git.exe? Content-Language: en-US To: cygwin AT cygwin DOT com References: In-Reply-To: X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.29 List-Id: General Cygwin discussions and problem reports List-Archive: List-Post: List-Help: List-Subscribe: , From: Jim Garrison via Cygwin Reply-To: jhg AT acm DOT org Cc: Jim Garrison Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: "Cygwin" On 07/22/23 10:33, Adam Dinwoodie wrote: > On Fri, 21 Jul 2023 at 22:54, Jim Garrison via Cygwin wrote: >> >> On 07/21/23 14:52, Brian Inglis wrote: >>> On 2023-07-21 14:59, Jim Garrison via Cygwin wrote: >>>> Git comes with over 100 executables, mostly in /usr/libexec/git-core, >>>> that all appear to be *hard* links to /bin/git, in both Cygwin and >>>> Windows. The Windows fsutil command shows they're all hard linked: >> [snip] >>>> I'm curious to know if there's a specific reason for this implementation >>>> that would make it the choice over symbolic links. >>> >>> For the same reason you are complaining about backups not taking >>> hardlinks into account: to avoid distributing 400MB instead of 3MB. >>> >>> Cygwin backup utilities should be able to deal with these e.g. rsync -H, >>> --hard-links, although it appears xcopy and robocopy may not under >>> Windows 10; don't know about other utilities or Windows 11. >> >> But why not use symbolic links to accomplish the same thing? > > A few reasons off the top of my head: > > - This is what the Git build tooling does out of the box. Minimising > the number of changes we're making as a downstream packager makes my > life easier as package maintainer. > [snip] > Hopefully that's all useful and/or interesting, even if it's not the > answer you were hoping for! Yes, that's very useful and now I understand and appreciate all the good reasons for hard links. Thanks! -- Jim Garrison jhg AT acm DOT org -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple