You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge pull request #76 from elasticdog/69-fix-merge-of-encrypted-files-with-conflicts
Fix `transcrypt`'s handling of merges where encrypted files have conflicting changes, a situation which would lead to Git producing "merged" files with conflict markers around partially- or fully-encrypted content that cannot be sensibly merged by a person. See issue #69 and a bunch of related issues.
The root problem is that git does not run the `smudge`/`textconv` filter on all BASE, LOCAL, REMOTE conflicting version files before attempting a three-way merge.
This change adds:
- a merge driver script to pre-decrypt conflicting BASE, LOCAL, and REMOTE file versions then run git's internal `merge-file` command to merge the decrypted versions
- git repo settings to configure the merge driver
- recommendation to add the extra `merge=crypt` setting to *.gitattribute* definitions
- tests of merge functionality to prove that non-conflicting and conflicting merges work.
Also included are minor listing and formatting fixes from applying the recommended tools to do this clean-up, and documentation for how to run these tools in *README.md*
The bulk of this work is originally from https://github.com/ixc/transcrypt/commits/fix-merge-with-conflicts
0 commit comments