From 2388290351a69bf71c5647329fcef95739d5a934 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Sat, 13 Nov 2021 11:48:04 +0100 Subject: find_vcs() new --- carddav-to-alpine | 8 +------- common | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/carddav-to-alpine b/carddav-to-alpine index 4ed3550..5926ac3 100755 --- a/carddav-to-alpine +++ b/carddav-to-alpine @@ -13,13 +13,7 @@ for file in 'addressbook' 'uids'; do touch "${git_dir}"'/'"${file}" done -find "${git_dir}" \ - -name '.git' \ - -prune \ - , \ - -type f \ - -name '*.vcs' \ - -printf '%p\n' \ +find_vcs \ | while read -r address_file; do uid="${address_file##*/}" uid="${uid%.vcs}" diff --git a/common b/common index 93eba55..ea45273 100644 --- a/common +++ b/common @@ -17,6 +17,25 @@ gen_rev() { )" } +find_vcs() { + { + find "${git_dir}" \ + -name '.git' \ + -prune \ + , \ + -type f \ + -name '*.vcs' \ + -printf '%p\n' + git -C "${git_dir}" archive HEAD \ + | tar -t \ + | sed ' + /\.vcs$/!d + s@^@'"${git_dir%/}"'/@ + ' + } \ + | sort -u +} + git_dir="$1" if [ ! -d "${git_dir}" ]; then -- cgit v1.2.3-54-g00ecf