2016-02-21 13:26:17 +00:00
#!/usr/bin/env bash
2021-06-16 07:31:58 +00:00
function removeperson {
2016-02-22 10:49:26 +00:00
OPTIND = 1
2016-06-30 19:32:42 +00:00
while getopts 'h' opt; do
2016-02-22 10:49:26 +00:00
case " $opt " in
2021-06-16 07:31:58 +00:00
h) _show_manual_for 'removeperson' ; ;
2017-09-27 19:38:01 +00:00
2021-06-16 07:31:58 +00:00
*) _invalid_option_for 'removeperson' ; ;
2016-02-22 10:49:26 +00:00
esac
done
2016-05-14 11:03:33 +00:00
shift $(( OPTIND-1))
[ " $1 " = "--" ] && shift
2016-02-21 13:26:17 +00:00
_user_required
2017-03-05 21:46:49 +00:00
# Command logic:
Version 0.2.2 pre-release
There are a lot of changes, multiple things were refactored: tests,
some commands, building and meta.
Several critical bugs fixed.
Changes:
1. Fixed #74, when `_user_required` was not working after reimporting keys
2. Closes #73, now it is possible to provide multiple emails to the `killperson` command
3. Closes #72, now it is possible to provide multiple emails to the `tell` command
4. Closes #71, now every doc in this project refer to `git-secret.io` instead of old `gh-pages` website
5. Closes #70, now installation section is removed from main `man` file
6. Closes #69, now "See also" section in the `man`s are clickable
7. Closes #61, added "Manual" section to the manuals
8. Refs #38, added `centos` Dockerfile, but `ci` testing is still failing
9. Refs #52, tests are refactored. Added `clean` command tests, removed a lot of hardcoded things, moved tests execution from `./temp` folder to `/tmp`, added a lot of new check in old tests, and some new test cases
10. Refactored `hide` and `clean` commands to be shorter
11. `shellcheck` is now supported with `make lint`
Additional features are not comming to 0.2.2 after this commit.
2017-02-26 13:38:46 +00:00
local emails = ( " $@ " )
if [ [ ${# emails [@] } -eq 0 ] ] ; then
2021-06-16 07:31:58 +00:00
_abort "at least one email is required for removeperson."
2016-02-21 13:26:17 +00:00
fi
2018-06-30 20:00:53 +00:00
# Getting the local git-secret `gpg` key directory:
local secrets_dir_keys
secrets_dir_keys = $( _get_secrets_dir_keys)
2018-09-25 21:08:44 +00:00
2021-01-17 14:24:33 +00:00
_assert_keyring_contains_emails " $secrets_dir_keys " "git-secret keyring" " ${ emails [@] } "
2018-09-25 21:08:44 +00:00
Version 0.2.2 pre-release
There are a lot of changes, multiple things were refactored: tests,
some commands, building and meta.
Several critical bugs fixed.
Changes:
1. Fixed #74, when `_user_required` was not working after reimporting keys
2. Closes #73, now it is possible to provide multiple emails to the `killperson` command
3. Closes #72, now it is possible to provide multiple emails to the `tell` command
4. Closes #71, now every doc in this project refer to `git-secret.io` instead of old `gh-pages` website
5. Closes #70, now installation section is removed from main `man` file
6. Closes #69, now "See also" section in the `man`s are clickable
7. Closes #61, added "Manual" section to the manuals
8. Refs #38, added `centos` Dockerfile, but `ci` testing is still failing
9. Refs #52, tests are refactored. Added `clean` command tests, removed a lot of hardcoded things, moved tests execution from `./temp` folder to `/tmp`, added a lot of new check in old tests, and some new test cases
10. Refactored `hide` and `clean` commands to be shorter
11. `shellcheck` is now supported with `make lint`
Additional features are not comming to 0.2.2 after this commit.
2017-02-26 13:38:46 +00:00
for email in " ${ emails [@] } " ; do
2019-10-09 18:05:31 +00:00
# see https://github.com/bats-core/bats-core#file-descriptor-3-read-this-if-bats-hangs for info about 3>&-
$SECRETS_GPG_COMMAND --homedir " $secrets_dir_keys " --no-permission-warning --batch --yes --delete-key " $email " 3>& -
2018-06-13 18:03:30 +00:00
local exit_code = $?
if [ [ " $exit_code " -ne 0 ] ] ; then
2018-06-13 18:32:15 +00:00
_abort " problem deleting key for ' $email ' with gpg: exit code $exit_code "
2018-06-13 18:03:30 +00:00
fi
Version 0.2.2 pre-release
There are a lot of changes, multiple things were refactored: tests,
some commands, building and meta.
Several critical bugs fixed.
Changes:
1. Fixed #74, when `_user_required` was not working after reimporting keys
2. Closes #73, now it is possible to provide multiple emails to the `killperson` command
3. Closes #72, now it is possible to provide multiple emails to the `tell` command
4. Closes #71, now every doc in this project refer to `git-secret.io` instead of old `gh-pages` website
5. Closes #70, now installation section is removed from main `man` file
6. Closes #69, now "See also" section in the `man`s are clickable
7. Closes #61, added "Manual" section to the manuals
8. Refs #38, added `centos` Dockerfile, but `ci` testing is still failing
9. Refs #52, tests are refactored. Added `clean` command tests, removed a lot of hardcoded things, moved tests execution from `./temp` folder to `/tmp`, added a lot of new check in old tests, and some new test cases
10. Refactored `hide` and `clean` commands to be shorter
11. `shellcheck` is now supported with `make lint`
Additional features are not comming to 0.2.2 after this commit.
2017-02-26 13:38:46 +00:00
done
2017-03-05 21:46:49 +00:00
2019-03-20 12:03:28 +00:00
_message 'removed keys.'
_message " now [ $* ] do not have an access to the repository. "
_message 'make sure to hide the existing secrets again.'
2016-02-21 13:26:17 +00:00
}
2021-06-16 07:31:58 +00:00
function killperson {
echo 'Warning: `killperson` has been renamed to `removeperson`. This alias will be removed in the future versions, please switch to call `removeperson` going forward.'
removeperson " $@ "
}