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

Re: Merging branches with smudge filter

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 8, 2016, 17:32 UTC
Message-ID
<xmqqbn7r9kfz.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<CACqLfMk_qDhbXUjWLtBLP4o=CeKEgaWAm881h03fneuiRO-v2w@mail.gmail.com>
Leonardo <leobasilio@gmail.com> writes:
Show 12 quoted lines
> Hi, everybody. I'm new to git and I'd like to keep track of some codes
> we have here in our company. They have some sensitive information I
> would like to keep private. After some googling, I found some
> solutions that encrypt/decrypt the files using filters as they're
> committed/checked out. I've been using this approach and it suits my
> needs. Now I need to merge two branches, but the process is failing
> for two files in particular. First of all, here's my config file:
>
> [filter "openssl"]
>     clean = openssl enc -aes-256-cbc -a -nosalt -pass pass:password
>     smudge = openssl enc -d -aes-256-cbc -a -nosalt -pass pass:password
>     required

Git works on the "clean" representation of the data, i.e. the representation of the blob object stored in the object database and in the index, when manipulating the contents, e.g. diffing two variants, patching (think "add -p"), merging, etc.

As you are making the "clean" version an encrypted opaque sequence of bytes, it is expected that you wouldn't be able to run 3-way merges.

Previous: LeonardoNext: Leonardo
Message 2 of 4 in “Merging branches with smudge filter”
  1. LeonardoFeb 4, 2016
  2. Junio C HamanoFeb 8, 2016
  3. LeonardoFeb 8, 2016
  4. Michael J GruberFeb 9, 2016

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.