remote.<name>.gcrypt-participants overwritten on pull

This commit is contained in:
jigen 2015-09-10 19:31:41 +02:00
parent 5dcc77f507
commit c55e1fdd9b

View file

@ -337,6 +337,18 @@ PRIVENCRYPT()
rungpg --compress-algo none --trust-model=always -se "$@"
}
GET_RECIPIENTS()
{
keys_id=$(rungpg --list-only --no-default-keyring --secret-keyring /dev/null \
$1 2>&1 | awk -c '/gpg/{ gsub(",","",$8 ); print $8 }')
for k in $keys_id; do
fp=$(rungpg --with-colons --fingerprint $k | awk -F: -c '/^fpr/{print $10}')
fingerprints="$fingerprints $fp"
echo -n "$fp "
done
}
# $1 is the match for good signature, $2 is the textual signers list
PRIVDECRYPT()
{
@ -466,7 +478,7 @@ read_config()
ensure_connected()
{
local manifest_= r_repoid= r_name= url_frag= r_sigmatch= r_signers= \
tmp_manifest=
tmp_manifest= r_participants=
if isnonnull "$Did_find_repo"
then
@ -513,6 +525,10 @@ ensure_connected()
manifest_=$(PRIVDECRYPT "$r_sigmatch" "$r_signers" < "$tmp_manifest") &&
isnonnull "$manifest_" ||
echo_die "Failed to decrypt manifest!"
# Getting repository participants parsing GPG file recipients
r_participants=$(GET_RECIPIENTS "$tmp_manifest")
echo_info $r_participants
rm -f "$tmp_manifest"
filter_to @Refslist "$Hex40 *" "$manifest_"
@ -540,6 +556,10 @@ ensure_connected()
fi
isnull "$r_name" || git config "remote.$r_name.gcrypt-id" "$r_repoid"
isnull "$r_participants" || (git config \
"remote.$r_name.gcrypt-participants" \
"$r_participants" && \
git config "remote.$r_name.gcrypt-publish-participants" true)
}
# $1 is the hash type (SHA256 etc)