lmr
====
pronounced "lemur." an abbreviation of "link merge."
merges the contents of one directory into another using filesystem links.
can reverse a merge as long as the contents of the source directory have
not changed since the merge was completed and no files were overwritten
during the merge. if files were removed from the source directory, "dangling"
symlinks will be left behind.
lmr exists for much the same reason as gnu stow, but has significantly fewer
features and operates more like a recursive `ln` than a simplified `stow`.
lmr is implemented as a single, 80 SLOC long, POSIX-compliant shell script.
usage: lmr [-c] [-f] [-s] [-t|-u] [--] <src> <dest>
options:
-c: check for file conflicts. link nothing.
-f: force link creation, even if it overwrites files.
-s: use symlinks instead of hard links.
-t: exit if it seems a lmr has already been done between <src> and <dest>.
-u: try to undo a previous lmr from <src> to <dest>.
--: optional "end of flags" marker.