+ | $(SED) -z 's/^home\///g' \
+ | sort -zr \
+ | xargs -0 -I% sh -c 'echo %; $(DIFF) --color=auto ~/% home/%'
+
+.PHONY: diff_bins_untracked
+diff_bins_untracked:
+ ls -1 ~/bin | sort | grep -vf <(ls -1 home/bin | sort)
+
+pull:
+ find home -type f -print0 \
+ | $(SED) -z 's/^home\///g' \
+ | xargs -0 -I% sh -c '$(DIFF) -q ~/% home/% > /dev/null || cp ~/% home/%'
+
+push:
+ # TODO Backup files before replacing.
+ # But - recursive copy is not a good strategy for this.
+ # Need to do a file by file pass, like the diff recipe.
+ #
+ # Limit depth because directories are copied recursively:
+ find home -maxdepth 1 -print0 \
+ | $(GREP) -zv '^home$$' \
+ | xargs -0 -I% cp -Rp % ~