conda/conda — pull request #623 by dan-blanchard (2014-03-27 17:57:08+00:00)
Title: Ensure hard links in archives are maintained during install

Even if link type is copy, we still want to make sure that package-internal hard links are maintained.
For example, with `automake`, `aclocal` and `aclocal-1.14` are just different names for the same inode. If we copy both of them separately, the hard link will be lost.

This patch makes sure that those links are recreated by:

1. Creating a dictionary that maps from inodes to lists of files/names for that inode.
2. Using that dictionary to make sure that after one file name for a given inode is moved, hard links with the other names are created.

This fully addresses the problem that my previous PR, #622, tried to solve.