msysgit大的安装大小

时间:2015-03-21 16:22:53

标签: msysgit

我安装(提取)msysgit portable(PortableGit-1.9.5-preview20150319.7z)

压缩存档为23 MB,但一旦解压缩,内容将占用262 MB。这主要是由于git命令二进制文件(在'libexec \ git-core'下)。几乎所有二进制文件都是相同的,它们只有不同的名称。

为什么开发人员会像这样构建项目?我想他们需要一个可执行文件来支持windows cmd.exe上的CLI。

但是有没有办法避免使用~100个相同的二进制文件,每个大小为1.5 MB(例如:使用批处理文件)?

1 个答案:

答案 0 :(得分:1)

  

为什么开发人员会像这样构建项目?我想他们   需要每个命令的可执行文件以支持Windows上的CLI   cmd.exe的。

在unixoid操作系统下,您可以拥有指向另一个文件的符号链接,该文件的行为与原始文件完全相同;如果您为可执行文件执行此操作,则可执行文件可以查看argv[0]以了解它的调用方式。对于许多程序来说,这是一个非常常见的技巧。

在Windows下,特别是没有安装程序,它(据我所知)不可能从文件系统中获得相同的行为 - 没有符号链接等效。特别是当您考虑从USB驱动器运行的程序必须处理FAT32等古老的文件系统时!

因此,简单地复制了可执行文件。功能相同,存储空间更大。然而,在你运行窗户的现代机器上,你真的不关心200MB给予或采取诸如git这样的多功能工具。

总之:开发者别无选择;因为windows(虽然有一些posix抽象层)没有适当的文件系统支持符号链接,这是端口这个unix发起程序的唯一好方法。您要么不关心,要么使用在这方面表现更好的操作系统。我建议使用后者,但操作系统的选择往往不是自由的......