diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2019-12-20 21:22:45 -0700 |
---|---|---|
committer | Sean Whitton <spwhitton@spwhitton.name> | 2019-12-20 21:22:45 -0700 |
commit | c74c935b5ea166bb47d9085f2153c99736da06a1 (patch) | |
tree | 81617899ba25b0af5ed118005ae5c2b313504db8 | |
parent | bd3399446592e3396f0af793a89761abe62e6702 (diff) | |
download | dotfiles-c74c935b5ea166bb47d9085f2153c99736da06a1.tar.gz |
add untested annex-to-annex-reinject
-rwxr-xr-x | bin/annex-to-annex-reinject | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/bin/annex-to-annex-reinject b/bin/annex-to-annex-reinject new file mode 100755 index 00000000..0e95680a --- /dev/null +++ b/bin/annex-to-annex-reinject @@ -0,0 +1,29 @@ +#!/bin/sh + +set -e + +if [ $# -ne 2 ]; then + echo >&2 "usage: annex-to-annex-reinject SOURCEANNEX DESTANNEX" + exit 1 +fi + +source="$1" +dest="$2" +source_annex_dir="$source/$(git -C $source rev-parse --git-path annex)" +dest_annex_dir="$dest/$(git -C $dest rev-parse --git-path annex)" + +if ! [ -d "$source_annex_dir" ]; then + echo >&2 "$source doesn't look like a git annex" + exit 1 +fi +if ! [ -d "$dest_annex_dir" ]; then + echo >&2 "$dest doesn't look like a git annex" + exit 1 +fi + +chmod -R u+w "$source_annex_dir/objects" +find "$source_annex_dir/objects" -type f \ + -exec git -C "$dest" annex reinject --known '{}' + +find "$source_annex_dir/objects" -empty -type d -delete +chmod -R u-w "$source_annex_dir/objects" +git -C "$source" annex fsck --all --fast |