#git #mix #clean #smudge

build git-mix

Mix the git data with AES-256-ECB mode

6 releases

Uses old Rust 2015

0.1.5 Aug 1, 2017
0.1.4 Aug 1, 2017
0.1.2 Jul 31, 2017

#796 in Build Utils

Download history 1/week @ 2023-11-09 7/week @ 2023-11-16 6/week @ 2023-11-23 27/week @ 2023-11-30 2/week @ 2023-12-07 6/week @ 2023-12-14 13/week @ 2023-12-21 6/week @ 2023-12-28 12/week @ 2024-01-18 12/week @ 2024-01-25 12/week @ 2024-02-01 7/week @ 2024-02-08 60/week @ 2024-02-15

91 downloads per month

Custom license

41KB
217 lines

git-mix

Build Status Release

git-mix is inspired by git-crypt but implemented by rust.

How it works

Based on Git Attributes. Using the “clean” and “smudge” filters , we can can set a filter for particular paths before they’re checked out and staged as the following:

clean smudge

How to install

Thanks to cargo :)

cargo install git-mix

Use

initialization

  1. edit the .gitattributes to set the path you want to mix as the following:
private/* filter=git-mix
.gitattributes !filter
  1. run git-mix gen to generate the config for defining the filter git-mix
[filter "git-mix"]
    clean = git-mix encrypt --key BiqdSyKwmnIFDKg1LzXIg5eEM3RWbdUb
    smudge = git-mix decrypt --key BiqdSyKwmnIFDKg1LzXIg5eEM3RWbdUb
  1. append template to .git/config

  2. remember the key, or you can reset the key which is required 32 bytes by git-mix genkey or yourself

  3. commit the private data and push remote to checkout the mixed data:)

clone

  1. git clone -n giturl
  2. run git-mix gen --key <key> to generate the filter template
 git-mix gen --key BiqdSyKwmnIFDKg1LzXIg5eEM3RWbdUb                       127ms
[filter "git-mix"]
    clean = git-mix encrypt --key BiqdSyKwmnIFDKg1LzXIg5eEM3RWbdUb
    smudge = git-mix decrypt --key BiqdSyKwmnIFDKg1LzXIg5eEM3RWbdUb
  1. append the template to .git/config
  2. git reset --hard HEAD
  3. check the private data :)

Contributing

To contribute to git-mix, clone this repo locally and commit your code on a separate branch.

PS: PR Welcome 🚀 🚀 🚀 🚀

Author

GitHub @detailyang

License

git-mix is licensed under the MIT license.

Dependencies

~4.5MB
~62K SLoC