aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/commands/credentials/USAGE
diff options
context:
space:
mode:
authorKasper Timm Hansen <kaspth@gmail.com>2019-08-04 01:32:41 +0200
committerKasper Timm Hansen <kaspth@gmail.com>2019-08-04 01:32:41 +0200
commit03e44f93001db97953917e0a100c627e189e2be6 (patch)
tree644d82e33a8b7269bfeb22e7f363cd726a6c97be /railties/lib/rails/commands/credentials/USAGE
parent6db2c426c0156dd3738673a676261693cfe92a8d (diff)
downloadrails-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/USAGE14
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