2012-05-13 8 views
3

私は自分のシステムのコピーを販売したいと思っており、ソースコードを私の顧客に移す必要があります。私はVCSとしてMercurialを使用します。私のコードには機密データがいくつかあります。たとえば、アマゾンはキー/セキュリティーキー、データベースパスワード、SSLS秘密鍵にアクセスします。これらのキーは、このように、コードやコンフィギュレーションファイルに書き込まれます。私は彼らに私のコードを転送水銀のチェンジセットで機密データを消去するには?

# settings of Amazon S3 storage 
s3.storages: 
    access_key: <secret> 
    secret_key: <secret> 

前に、私は、コードベースにすべてのそれらの機密データをきれいにする必要があります。しかし、それらのすべては歴史に残っています(チェンジセット)。 Mercurialでは、どうやってその秘密をきれいにすることができますか?

答えて

7

お客様にスナップショットのみを提供している場合は、hg archiveを実行した後に行うことができます。

完全な履歴を持つリポジトリにアクセスできるようにするには、そのファイルを除外するにはhg convertを使用する必要があります。

この場合、おそらくAWSキーを無効にして、新しいキーを将来使用する方が良いでしょう。Amazonはそれを非常に簡単にします。

これらのキーをソース管理に入れない方がよいでしょう。代わりにconfig.sampleファイルに入れて、.hgignoreの上にconfig.actualを追加します。

関連する問題