Commit Graph

112 Commits

Author SHA1 Message Date
Jeppe Fihl-Pearson
fae00fac3d
Rename killperson to removeperson (#685)
* Rename the "killperson" command to "removeperson"

"killperson" is unnecessarily hostile so change the command name to
"removeperson".

Fixes #684.

* Re-generate man pages

* Update contribution guide

There's no longer any pre-commit hooks so don't mention them.

* Add alias from `killperson` pointing at `removeperson`

* Update git_secret_removeperson.sh

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2021-06-16 10:31:58 +03:00
Nikita Sobolev
19941f91f4
Adds release-ci script to test installation (#664)
* Adds release-ci script to test installation

* Fixes CI

* Fixes CI

* Renames some variables to follow the same SECRETS_ convention
2021-05-05 15:59:28 +03:00
sobolevn
5fc8ecbdde Adds hadolint, re-enables shellcheck 2021-05-04 13:01:41 +03:00
sobolevn
28dbdf3fde Adds fedora testing 2021-05-04 13:01:41 +03:00
sobolevn
22d994c372 Adds alpine tests 2021-05-04 13:01:41 +03:00
sobolevn
8f7b9c51de [WIP] New CI 2021-05-04 13:01:41 +03:00
Josh Rabinowitz
ee592b8ede
Issue 634 tell duplicate emails (#637)
* support asserting named keyring is missing email(s)
* improve error if git-secret keyring missing email
* new test for telling same email twice
* update tell manpage regarding duplicate emails
* regenerate man pages
* update changelog
2021-01-17 09:24:33 -05:00
Sasha Friedenberg
39ab72f866
add bash string escaping to _add_ignored_file (#626) 2020-11-21 22:37:58 +03:00
Bertjan Broeksema
fc51d6f15f
More precise feedback about added files (#614)
* More precise feedback about added files

This adapts the output of the add command in order to report exactly
how many files have been added. Specially with wildcard patterns, this
makes it easier to verify that expected files are added.

With the verbose option, the add command will also tell which files
have been added.

By @bbroeksema bbroeksema
2020-10-04 15:19:56 -04:00
Josh Rabinowitz
bdc3560897
Issue 607 fix expired test key (#608)
* updated fixture key for user3, fixes #607
* update tests/fixtures/gpg/README.md
* mention fix of #607 and #609 in changelog
* use shellcheck 0.7.1, not 'latest' for #609
2020-09-20 09:21:13 -04:00
Josh Rabinowitz
a0a176fa5d
Issue 552 508 revoked keys (#553)
* warn about 'tell' on expired/revoked/invalid keys
* error if 'tell' used on email with multiple keys
* improve test of 'tell' with subdirs
2020-03-07 14:07:03 -05:00
Josh Rabinowitz
2830ce2ff7
Issue 579 reveal clobbers (#580)
* Don't let reveal clobber secret files, for #579
2020-01-24 17:04:02 -05:00
Josh Rabinowitz
9348cd32e2
Revert "Issue 554 show gpg commands (#556)" (#559)
This reverts commit 9e8438236c.
2019-10-09 14:05:31 -04:00
Josh Rabinowitz
9e8438236c
Issue 554 show gpg commands (#556)
* show most gpg commands used for 'hide', 'reveal', 'tell' and 'killperson (#554)
* fix hang when using ctrl-c during tests (#558)
2019-10-09 13:39:59 -04:00
Josh Rabinowitz
2a1600f2f6
cleanup output when we clean up tmp files (#532)
* cleanup output when we clean up tmp files
2019-09-07 00:10:45 -04:00
Josh Rabinowitz
525305d985
Issue 527 key with comment (#528)
* add key fixture with no email, and 2 word comment
* tests for key without email and with comment
* handle comments in public key uids
* fix tests, you have to use email address
* fix text
* confirm that email addresses contain an @ symbol
* improve comments about keys/fixtures
2019-09-06 20:21:50 -04:00
Josh Rabinowitz
68b64f4aac
make correction to comments (#525) 2019-08-30 13:17:53 -04:00
Josh Rabinowitz
9ff559ca8c
Issue 478 tests in busybox (#523)
* use busybox by not installing coreutils on alpine
* changes for busybox version of ps and stat
* add function to check if exe is from busybox
* update changelog
* cleanup comments, code, and commented out code
* improve comment in alpine Dockerfile
* include platform-specific funcs so we can test perms
2019-08-30 09:35:47 -04:00
Josh Rabinowitz
baf6c4113b
Add SECRETS_PINENTRY env var and docs (#490)
* Add SECRETS_PINENTRY env var 

* add docs and tests for SECRETS_PINENTRY

* improve diagnostic output

* fix regex example for bats-core diagnostics
2019-08-16 16:53:57 -04:00
Josh Rabinowitz
10fa2a7be2
Tempfile and temp directory cleanups (#473)
* Tempfile and temp directory cleanups
    Add comments about mktemp on different platforms
    Be more careful about tempfile cleanups
    Don't use find to locate files to cleanup
    Use shorter SECRETS_EXTENSION and SECRETS_DIR env settings in tests
    Set TMPDIR in tests again
    Show DESTDIR used when testing git-secret install
    Change filename passed to mktemp -t in tests
2019-05-21 12:06:51 -04:00
Simon Massey
10879e2253
fix for git secret hide -m doesn't work on first use #466 (#469) 2019-05-09 06:23:02 +01:00
Josh Rabinowitz
44a8745e02
remove duplicate test (#458) 2019-04-01 15:00:42 -04:00
Josh Rabinowitz
bbb4d9d3e5
Tmp cleanups (#457)
* Only show 'cleaning up temp file' messages if one
  of SECRETS_VERBOSE or SECRETS_TEST_VERBOSE is set.
* Adjust tests to reflect the change.
* Add note about suppressing 'cleaning up' msgs to CHANGELOG.md and reorder entries
* add comments showing examples of tmpfiles returned
2019-04-01 12:53:19 -04:00
Josh Rabinowitz
24bfc86b74
Fail on extra params (#448)
* fail if user passes unexpected filenames or unknown params
* mention fix of #390
2019-03-30 20:13:54 -04:00
Josh Rabinowitz
2341d1433b
Temp dir fixes (#449)
* perform our test install into TMPDIR
* fix typo
* remove duplicate entry in CHANGELOG.md
* improve commenting
2019-03-29 18:11:52 -04:00
Josh Rabinowitz
cb1636a6dc
experimental SECRETS_TEST_VERBOSE shows debug info during tests (#446)
* add a travis target using SECRETS_TEST_VERBOSE=1
* Document SECRETS_TEST_VERBOSE as experimental
* note experimental feature may change or be removed
2019-03-28 07:41:07 -04:00
Josh Rabinowitz
8334d7beef
Reveal verbose (#447)
* add -v option to reveal, for #395
* update reveal man page
* shellcheck exception
* changelog update for 'reveal -v'
2019-03-25 11:37:24 -04:00
Josh Rabinowitz
07af0c19b6
Varnames output and typos (#441)
* rename variable, fix typo, improve comments and output
* fix directory removal after testing
* mention improved user messaging in CHANGELOG.md
2019-03-23 19:48:08 -04:00
Josh Rabinowitz
be88da4c0c
test 'DESTDIR=/dir/here make install' support (#438) 2019-03-21 21:32:36 -04:00
Josh Rabinowitz
ce8c6b3ae0
Change 'add' to add to .gitignore by default. (#429)
* Change 'add' to add to .gitignore by default.
Also add _message() function and improve output from 'git-secret-add',
alter tests for new code behavior, and update docs.
* change tests since 'add' always adds to .gitignore
* improve output: prepend more message with 'git-secret:'.
* update man page for git-secret-add
2019-03-20 08:03:28 -04:00
Jonas Karlsson
54f74ede6a Fix for windows (#375)
* add test for travis-ci windows support
* Make 'ps' command options platform specific *nix/windows
* Add _clean_path for windows,  apply to all homedir input arguments
* export GITSECRET_DIST="windows" in git hook if running windows
* Bash lint fixes
2019-03-09 18:49:45 -05:00
Josh Rabinowitz
8adb7d5741
Revert "use pgrep & kill $pid, not ps+gawk+regex+system+kill (#400)" (#405)
This reverts commit a2a9bd32ba.
2019-03-09 13:14:44 -05:00
Josh Rabinowitz
a2a9bd32ba
use pgrep & kill $pid, not ps+gawk+regex+system+kill (#400)
* use pgrep & kill, not ps+gawk+regex+system+kill
* install shellcheck and enable lint on macos/brew.
* add shellcheck fixes and exception
* reorder CHANGELOG entries
2019-03-09 10:14:47 -05:00
Josh Rabinowitz
22fe1ed2d4
Add support for SECRETS_VERBOSE env var (#393)
* Support SECRETS_VERBOSE env var in addition to -v
* don't use --quiet when decrypting in verbose mode
* show output of gpg encryption in verbose mode
* add tests for SECRETS_VERBOSE env var set to 0 and 1
* update changelog, reorder entries.
* add tests for 'cat' and 'hide' with SECRETS_VERBOSE=1
2019-03-07 17:46:51 -05:00
Josh Rabinowitz
c4331693f3
use 'kill', not 'kill -9' (#379) 2019-03-07 15:17:51 -05:00
Josh Rabinowitz
7b06b25c0a
Respect secrets dir on init, and document (#366)
* respect SECRETS_DIR and SECRETS_EXTENSION in tests
* add line regarding fixes to CHANGELOG.md
* test with non-standard SECRETS_EXTENSION
* Add details about init, mention SECRETS_EXTENSION in init page
* update git-secret-init man page
2019-03-05 08:41:13 -05:00
Josh Rabinowitz
505cb1fe42 have lint target run shellcheck over tests (closes #373)
* have lint target run shellcheck over tests

* lint and fix tests/ since shellcheck knows bats

* lint and fix tests/ since shellcheck knows bats

* revert debug output

* changes for shellcheck

* revert unintended change

  [tests/_test_base.bash]

* use 'local' for user/filename vars, not 'export'

* add note about Shellcheck and tests/

* local can only be used in functions - use export

* restore shbang edited in error
2019-03-04 17:40:35 +03:00
Josh Rabinowitz
83b03b61bc
Aspell fixes (#365)
* spellcheck fixes from aspell
2019-02-21 15:20:34 -05:00
Josh Rabinowitz
8ed4f46de6
fix test under git hook (#349)
* fix test under git hook. Actually closes #334
2019-02-11 09:05:16 -05:00
Josh Rabinowitz
5a28744c5d
Fix for tests under bats, fix typos, mention #334 (#342)
* fix test under githooks, fix typos, mention #334 as relevant
2019-02-10 16:44:21 -05:00
Josh Rabinowitz
e34248fdc1
remove diagnostic output from tests (#329) 2019-01-27 18:06:18 -05:00
Josh Rabinowitz
65fe4c4127
Add verbose option to 'git secret tell' showing output of key imports (#321)
* add 'git secret tell -v' option to show output of key imports
* add tests for tell with/without -v
* remove unneeded test code and bats diagnostic output
2019-01-26 22:59:13 -05:00
Josh Rabinowitz
913d026537
Fixes for 'changes' and trailing newlines, for #291 (#293)
* tests and comments about 'changes' for #291
* add 'changes' tests, improve diagnostic 
* preserve trailing newlines in diff output
* use bash trickery to preserve trailing newlines in captured text
* test 'changes' on files without newlines and when called on a non-existant file
* improve comments and variable names
2019-01-01 09:37:11 -05:00
Josh Rabinowitz
9cccf162c6 WIP: test with expired key, add 'whoknows -l' (#287)
* test with expired key, add 'whoknows -l'

    * 'whoknows -l' shows key expiration dates
    * also added docs and tests for `whoknows -l`,
    * tests for expired keys,
    * epoch_to_date functions

* update man pages

* fix epoch-to-date conversion on OSX

* test output of 'whoknows -l'

* fix for lint/shellcheck

* fix for osx

* lint fix

* use date as found in $PATH

* disable 'set -e' as little as possible
2018-12-05 09:43:48 +03:00
Josh Rabinowitz
74f8a07166
improve testing regarding expired keys and keys with only email addresses (#262)
* test that hiding secret with expired key fails
* add test of user key without username.
* revert to performing most tests with 'user1'.
* move user4 private/public key fixtures
* factor code fetching emails from keyrings, add comments.
* use factored _warn_or_abort()
* add to, clean up, and clarify comments.
2018-12-01 08:48:09 -05:00
Josh Rabinowitz
4a3877b486
WIP: Force mode for hide and reveal (#263)
* -F (force even if gpg fails) option for hide and reveal
* allow 'reveal' to decrypt a subset of files.
* update and regen man pages
* man pages update and improvements
* text about why all files should be hidden at once
* add _warn() and _warn_or_abort()
* tests for -F option
* glob source .sh files in Makefile better
* add comment about issue #238. cleanup error msg.
* test exact case in #253
* disable gnupg doc building on ubuntu-rolling
2018-10-10 21:21:58 -04:00
Josh Rabinowitz
9e975e4eed make sure email addresses used with 'tell' and 'killperson' exist in keyring (#267)
* name keys after emails, not usernames

* use emails to specify users

* rename and add function to get emails from keyrings
* rename directories holding gpg test fixtures

* deny emails that aren't in the keyring, and test.

* require 'killperson' emails to exist in keyring

* change test to reflect killperson must use email

* remove no-longer-needed test function

* factor function _assert_keychain_contains_emais()

* fix/make lint happy
2018-09-26 00:08:44 +03:00
joshr
4c2c9a9719 remove diagnostic debug output 2018-09-07 15:48:19 -04:00
joshr
6eedaab489 rename test to show SECRETS_DIR. add debug output. 2018-08-25 10:05:48 -04:00
joshr
2287b3e54e test that $_SECRETS_DIR is set as expected 2018-08-25 09:58:12 -04:00