Will Time Machine store the same data twice in this situation?

I had 80 GB of movies on my internal HDD. Time Machine backed them up to an external HDD, along with everything else on my drive.

I then moved those movies to another external HDD (which is not being backed up). The movies were kept in the TM backup as there was still space on the backup drive.

If I move these files back to (another partition on) the internal HDD (which is included in TM Backups), they will be backed up by TM. But being that the exact same data is already stored on the TM drive, is TM going to be smart enough to realize this? It wouldn't need to take another 80 GB on the drive, it could just hotlink to the existing files (until changes happen, of course). This is what it does for the "past" backups when they don't differ from the current version of a file (otherwise the backup drive would get full very fast).

Does TM have any such space saving feature for when the exact same data is backed up from different directories?


Solution 1:

No, if you move the files back to another location on the disk backed up by Time Machine, the next backup will create a new copy of these files on your backup volume. This may even occur if you put them back into the same place (because the files will get a new creation timestamp which AFAIK triggers Time Machine to create a new file on the backup drive).

What you can do though is to navigate to the folder which originally contained the movies, open Time Machine from there, navigate back in time until the movies are displayed and then delete all backed up versions of them.

Solution 2:

If a file had "left" the drive and came back there is clearly no way to determine it was the same file, short of doing a scan of the file. For an in-place directory move, Time Machine apparently doesn't track unix "inode" numbers for saving copy time and space. There is probably no point 99% of the cases. You can demonstrate this by looking at the Unix "inode" numbers on the source drive then on the Time Machine pseudo-disk to see if the new backup was a different file.

Original:

89192258 -rw-r--r--@ 1 me _lpoperator 352 Jun 10 17:29 /Users/me/Test.rtf

Moved:

89192258 -rw-r--r--@ 1 me _lpoperator 352 Jun 10 17:29 /Users/me/Downloads/Test.rtf

Time Machine Pass 1: /Users/me/Test.rtf

6496652 -rw-r--r--@ 2 me _lpoperator 352 Jun 10 17:29 Test.rtf

Time Machine Pass 2: After the file was moved to another directory /Users/me/Downloads/Test.rtf

6501059 -rw-r--r--@ 1 me _lpoperator 352 Jun 10 17:29 Test.rtf

The "inode" numbers are the first entry. You can see they are not physically the same file after the second backup.