git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: can Git encrypt/decrypt .gpg on push/fetch?

From
Ted Zlatanov <tzz@lifelogs.com>
Date
Sep 9, 2011, 13:27 UTC
Message-ID
<87ipp1x2uf.fsf@lifelogs.com>
In-Reply-To
<CAGhXAGSw3y=cjAHXtwycDifoBPr13AkYtLHRRXejRKue0vkz7A@mail.gmail.com>
On Fri, 9 Sep 2011 16:20:10 +0530 Aneesh Bhasin <contact.aneesh@gmail.com> wrote: 
AB> 2011/9/9 Ted Zlatanov <tzz@lifelogs.com>
Show 10 quoted lines
>> 
>> I need to store some encrypted files in Git but for some clients with
>> the right GPG keys, decrypt them on checkout (possibly also encrypt them
>> back on commit, but that's not as important).
>> 
>> diff doesn't have to work, this is just for convenience.  Can Git do
>> this (matching only .gpg files) or do I need my own command to run after
>> the checkout/fetch and before commit?  It seems pretty out of Git's
>> scope but perhaps others have done this before.
>> 
AB> Have you looked at git hooks (e.g. here : http://progit.org/book/ch7-3.html).

AB> You could do the encryption/decryption in pre-commit and post-checkout AB> hooks scripts respectively...

Yes, thank you. I was wondering if there could be further support so they are checked out in a binary form on the server side if you don't have the keys but in text form if you do. So for instance "git log -p" will DTRT on a client with the keys but not on a client without them. This could require deep Git changes so I'm wondering if it's even theoretically possible.

Thanks Ted

Previous: Aneesh BhasinNext: Michael J Gruber
Message 3 of 9 in “can Git encrypt/decrypt .gpg on push/fetch?”
  1. Ted ZlatanovSep 9, 2011
  2. Aneesh BhasinSep 9, 2011
  3. Ted ZlatanovSep 9, 2011
  4. Michael J GruberSep 9, 2011
  5. Ted ZlatanovSep 9, 2011
  6. Jeff KingSep 9, 2011
  7. Junio C HamanoSep 9, 2011
  8. Michael J GruberSep 9, 2011
  9. Jeff KingSep 9, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.