Commit Graph

15 Commits

Author SHA1 Message Date
717c700fac Fix syntax error caused by extra spacing
Bash variable assignment requires the = operator to immediately
    follow the variable name, otherwise it will result in a syntax
    error. This commit fixes a syntax error of that nature that would
    prevent the preservation of atime and mtime of the enclosing
    directory of a file that was linked to an identical file.
2023-10-23 12:00:43 -04:00
90e61f7094 Update README
Align README with new directions for each utility.
2023-10-23 04:55:00 +00:00
8c2384acba Remove test code comments, fix indents
Fixed some indents and enabled some commented-out code.
2023-10-23 00:49:41 -04:00
063298dd46 Enhance UI, preserve timestamps
Removed my oh-so-clever "shadowdir" and "shadowfile" concepts for
    the directory to be examined for potential deduplication. Instead
    we call them subject directories and subject files, because they
    are subject to our process.

    Now creates a temporary file, removed on exit, as our temporary
    access and modification time holder. When replacing a file with a
    hard link, we first copy the atime/mtime of its directory to the
    temporary file. THEN we perform the link. After the link, we
    restore the original atime/mtime of the enclosing directory from
    the temporary file. This is useful for backups, where we do not
    want the directories to have newer timestamps (timestamps matching
    the date/time that we run deduplication, because creating the link
    counts as a modification of the directory).
2023-10-23 00:31:34 -04:00
efdf9717db Don't re-link already linked files, UI enhanced
While creating hard links, check if they're already linked first.
    This saves SUBSTANTIAL time in Time Machine directories where many
    files are already hard links.

    Also, be clearer when running about what exactly it is we're doing
    with each file.
2023-10-18 18:29:20 -04:00
bf39b320b9 Clarify tmbless.sh UI
More clearly explain WHAT tmbless.sh accomplishes, and THEN
    explain exactly HOW it does it...

    Previously, we explained what we did mechanically, and THEN
    explained the result of doing that, which is useless to non-
    technical end-users.
2023-10-18 17:56:07 -04:00
c0ab647c91 Further clarify in-development files
Renamed each in-development shell script file so that they are
    very clearly not ready to be run by the end-user.
2023-10-18 17:51:38 -04:00
c4b6bd13e1 Separate in-development source files
Stored experimental in-development source files within the dev
    subdirectory of the project, to make it easier for end-users to
    know which shell scripts are ready for use.
2023-10-18 17:49:01 -04:00
1ae26c20b8 Improved UI of tmimport.sh
Made the help message more helpful, and made a confirmation message
    less whimsical and more clear.
2023-10-18 17:48:03 -04:00
a577ae5199 Added a tmbless utility
Added a utility to bless a snapshot directory
2022-07-27 11:06:40 -04:00
a13fa65b17 Added safeguard in case of computer name mismatch
Time Machine Importer will now determine the computer name of the
backup store and check it against the current computer name. If they
do not match, it will issue a prominent warning.
2022-07-19 18:33:02 -04:00
9d4310e8bd Clarified UI messages in tmimport.sh
Previously used the language "attributes are now" to describe the
extended attributes matching a backup drive to a computer. However,
that is both overly erudite language and completely meaningless to
the average user. Replaced it with the more meaningful language:
"This backup drive is currently matched to the following computer:" and
"This backup drive has been matched to the current computer:", and
omitted the names of the extended attributes.
2022-07-19 12:31:48 -04:00
74a98e499e README improvements
Modified the README to include installation instructions
and synchronized command line and README usage message.
2022-07-19 12:25:44 -04:00
56b6d79d54 Made TODO more apparent 2022-07-19 03:56:41 -04:00
636cd274db Initial Commit
This initial commit includes a directory deduplicator (for thinning out
Time Machine snapshots) and an automatic tool to detect and apply the
necessary metadata for a successful tmutil inherit (needed when you
want to use a backup drive with a new computer, for example).
2022-07-19 03:32:37 -04:00