Git export command that reuses already existing exports and hardlinks files from them.
This package implements a git export command that can be given a list of already exported worktrees and the tree SHAs these worktrees correspond too. For every file to export it then looks in the existing worktrees whether an identical file is already present and in that case hardlinks to the new export location instead of writing the same file again.
Use Case: A git based web deployment system that exports git trees to be served by a web server. Every new deployment is written to a new folder. After the export, the web server should start serving new requests from the new folder.
Be aware of the dangers of hardlinks. Hardlinks on linux do not have copy-on-write semantics! This command also does not verify the integrity of old exported trees. Use git reset –hard after this command to guarantee a correct export.