Как вы храните конфиденциальную информацию (например, тестирование паролей) вне контроля версий? - PullRequest
3 голосов
/ 23 мая 2011

Некоторые из моих программ требуют, чтобы некоторые конфиденциальные данные (в основном аутентификация) работали должным образом. Я часто помещаю свои собственные учетные данные в main() исходного кода при разработке и тестировании, чтобы увидеть, работает ли мой код, и удаляю их, когда все в порядке. Однако их легко забыть удалить.

Каков хороший способ предотвратить попадание этих конфиденциальных данных в коммит контроля версий?

Я использую Mercurial (и Python).

Я думал о:

  • автоматический запуск некоторого скрипта проверки чувствительных данных при коммите, который прерывается, если он находит какие-то конкретные строки (не кажется надежным, требует поддержки чувствительных строк)
  • хранение конфиденциальных данных где-то еще (где ?, как практически импортировать / использовать их?).
  • с использованием ветки тестирования (но на самом деле это не решает проблему)
  • предоставление конфиденциальных данных в качестве аргументов командной строки (слишком непрактично)

1 Ответ

6 голосов
/ 23 мая 2011

Поместите такие вещи, как данные аутентификации, в файл конфигурации, затем добавьте этот файл конфигурации в набор игнорируемых файлов в вашей VCS (в Mercurial это .hgignore).

...