Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transparent git encryption with "smudge" and "clean" filters using GPG #64

Closed
arcticicestudio opened this issue Nov 15, 2017 · 0 comments

Comments

@arcticicestudio
Copy link
Owner

arcticicestudio commented Nov 15, 2017

Add a global .gitattributes file and configure the global .gitconfig file to apply a transparent git encryption with smudge and clean filters using GPG.

In the .gitattributes file, set a filter for all *.igloocrypt file extensions. The .gitconfig should include the filter configuration by using gpg for the encryption and decryption, processing files just before they’re checked out and just before they’re staged.

The smudge filter is run on checkout.

The clean filter is run when files are staged.

The described concept is a simplified and cleaner solution instead of adding a using a tool like git-crypt which makes the encryption usage dependent on an external tool and also commit additional files to the repository like the .git-crypt folder in the root of the repository. Such tools are really useful and necessary when the repository is used by many collaborator, but only adds overhead for personal (dotfile) repositories.

References:

@arcticicestudio arcticicestudio added this to the 0.1.0 milestone Nov 15, 2017
arcticicestudio added a commit that referenced this issue Nov 15, 2017
Added a global "."itattributes" "ile and configured the global
".gitconfig" file to apply a transparent git encryption with "smudge"
and "clean" (diff) filters using GPG (1) to process files just before
they’re checked out and just before they’re staged.

References:

  * https://git-scm.com/book/en/v2/images/smudge.png
  * https://git-scm.com/book/en/v2/images/clean.png
  * https://gist.github.com/shadowhand/873637
  (1) https://wiki.archlinux.org/index.php/GnuPG

GH-64
arcticicestudio added a commit that referenced this issue Nov 16, 2017
…-git-gpg-encryption-with-smudge-clean-filters

Transparent Git encryption using GPG
arcticicestudio added a commit that referenced this issue Nov 16, 2017
The path for the "igloocrypt" diff "textconv" property changed to be a
absolute path ("~/").

GH-64
@arcticicestudio arcticicestudio mentioned this issue Sep 8, 2018
14 tasks
arcticicestudio added a commit that referenced this issue Sep 8, 2018
1. Deleted the custom `git-diff-igloocrypt` script
2. Removed the custom `[diff "igloocrypt"]` section from the
   `gitconfig` file
3. Removed the custom filter "igloocrypt" from the `gitconfig` file
4. Updated the `filter` and `diff` custom global Git attributes handler
   for all `*.igloocrypt` files to the new `git-crypt` setup

GH-113
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant