2014-08-29 20:21:02 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
# blackbox_initialize -- Enable blackbox for a GIT or HG repo.
|
|
|
|
|
#
|
|
|
|
|
#
|
|
|
|
|
# Example:
|
|
|
|
|
# blackbox_initialize
|
|
|
|
|
#
|
|
|
|
|
|
2014-09-08 20:25:38 +00:00
|
|
|
set -e
|
2015-06-16 13:21:51 -05:00
|
|
|
source "${0%/*}/_blackbox_common.sh"
|
2014-08-29 20:21:02 +00:00
|
|
|
|
|
|
|
|
if [[ $1 != 'yes' ]]; then
|
2014-11-05 16:48:10 +00:00
|
|
|
read -r -p "Enable blackbox for this $VCS_TYPE repo? (yes/no) " ans
|
2014-08-29 20:21:02 +00:00
|
|
|
if [[ $ans = 'no' || $ans = 'n' || $ans = '' ]]; then
|
|
|
|
|
echo 'Exiting...'
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
2016-04-22 16:40:31 -04:00
|
|
|
if [[ $VCS_TYPE = "unknown" ]]; then
|
|
|
|
|
echo 'Not in a known VCS directory'
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
2015-03-10 21:16:27 +00:00
|
|
|
change_to_vcs_root
|
2014-08-29 20:21:02 +00:00
|
|
|
|
2014-10-15 11:01:52 -07:00
|
|
|
echo VCS_TYPE: $VCS_TYPE
|
2016-09-23 09:26:22 -04:00
|
|
|
vcs_ignore "${BLACKBOXDATA}/pubring.gpg~" "${BLACKBOXDATA}/pubring.kbx~" "${BLACKBOXDATA}/secring.gpg"
|
2014-08-29 20:21:02 +00:00
|
|
|
|
|
|
|
|
# Make directories
|
|
|
|
|
mkdir -p "${KEYRINGDIR}"
|
|
|
|
|
vcs_add "${KEYRINGDIR}"
|
|
|
|
|
touch "$BLACKBOXDATA/$BB_ADMINS_FILE" "$BLACKBOXDATA/$BB_FILES_FILE"
|
2015-06-27 13:11:51 +02:00
|
|
|
vcs_add "$BLACKBOXDATA/$BB_ADMINS_FILE" "$BLACKBOXDATA/$BB_FILES_FILE"
|
|
|
|
|
|
2017-06-16 08:16:07 -04:00
|
|
|
if [[ $VCS_TYPE = "git" ]]; then
|
|
|
|
|
|
|
|
|
|
# Set .gitattributes so that Windows users don't break the admin files.
|
|
|
|
|
FILE="$BLACKBOXDATA/.gitattributes"
|
2017-11-07 10:57:08 -05:00
|
|
|
touch "$FILE"
|
2017-06-16 08:16:07 -04:00
|
|
|
LINE='blackbox-admins.txt text eol=lf'
|
|
|
|
|
grep -qF "$LINE" "$FILE" || echo "$LINE" >> "$FILE"
|
|
|
|
|
LINE='blackbox-files.txt text eol=lf'
|
|
|
|
|
grep -qF "$LINE" "$FILE" || echo "$LINE" >> "$FILE"
|
|
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
2016-04-22 16:40:31 -04:00
|
|
|
if [[ $VCS_TYPE = "svn" ]]; then
|
|
|
|
|
echo
|
|
|
|
|
echo
|
|
|
|
|
echo '`subversion` automatically tracks the ignored files; you just need to commit.'
|
|
|
|
|
else
|
|
|
|
|
IGNOREFILE="$(vcs_ignore_file_path)"
|
|
|
|
|
test -f "$IGNOREFILE" && vcs_add "$IGNOREFILE"
|
|
|
|
|
|
|
|
|
|
# Make a suggestion:
|
|
|
|
|
echo
|
|
|
|
|
echo
|
|
|
|
|
echo 'NEXT STEP: You need to manually check these in:'
|
2019-03-22 12:59:19 +00:00
|
|
|
echo ' ' $VCS_TYPE commit -m\'INITIALIZE BLACKBOX\' "$BLACKBOXDATA" "$IGNOREFILE"
|
2016-04-22 16:40:31 -04:00
|
|
|
fi
|