diff options
author | Kasper Timm Hansen <kaspth@gmail.com> | 2019-08-04 01:32:41 +0200 |
---|---|---|
committer | Kasper Timm Hansen <kaspth@gmail.com> | 2019-08-04 01:32:41 +0200 |
commit | 03e44f93001db97953917e0a100c627e189e2be6 (patch) | |
tree | 644d82e33a8b7269bfeb22e7f363cd726a6c97be /railties/lib/rails/commands/credentials/USAGE | |
parent | 6db2c426c0156dd3738673a676261693cfe92a8d (diff) | |
download | rails-03e44f93001db97953917e0a100c627e189e2be6.tar.gz rails-03e44f93001db97953917e0a100c627e189e2be6.tar.bz2 rails-03e44f93001db97953917e0a100c627e189e2be6.zip |
Revise credentials diffing flow to use a separate diff command
Didn't like the complicated stuff that happened on credentials:edit. It
would append to .gitattributes multiple times. Though I see why it was
written that way.
I'm cutting off for now, but since this new flow would require each developer
to run --enable perhaps this should really be:
1. Developer enrolls Rails app by running `credentials:diff --enable`
2. credentials:edit checks .gitattributes for `diff=rails_credentials` and
if the current file is covered by that.
3. If so, set up the "rails_credentials" driver automatically.
Diffstat (limited to 'railties/lib/rails/commands/credentials/USAGE')
-rw-r--r-- | railties/lib/rails/commands/credentials/USAGE | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/railties/lib/rails/commands/credentials/USAGE b/railties/lib/rails/commands/credentials/USAGE index c8d3fb9eda..0396fcb403 100644 --- a/railties/lib/rails/commands/credentials/USAGE +++ b/railties/lib/rails/commands/credentials/USAGE @@ -30,6 +30,20 @@ You could prepend that to your server's start command like this: RAILS_MASTER_KEY="very-secret-and-secure" server.start +=== Set up Git to Diff Credentials + +Rails provides `rails credentials:diff --enable` to instruct Git to call `rails credentials:diff` +when `git diff` is run on a credentials file. + +Any credentials files are set to use the "rails_credentials" diff driver in .gitattributes. +Since Git requires the diff driver to be set up in a config file, the command uses +the project local .git/config. Since that config isn't stored in Git each team member +must enable separately. + +Or set up the "rails_credentials" diff driver globally with: + + git config --global diff.rails_credentials.textconv "bin/rails credentials:diff" + === Editing Credentials This will open a temporary file in `$EDITOR` with the decrypted contents to edit |