From my (admittedly brief) glance at the documentation, this seems like the opposite of direnv. direnv would allow you to set up configuration values on a per-directory basis, by adding a file in the directory in question. git supports this already, you can simply change the config for the repository in question. The goal of this package appears to automate this so that one doesn't need to reconfigure each individual folder.
...which will set that config variable for the current repository only -- not global. I ended up do the a similar thing for a simple git pairing tool[1] that would let you set your name to two people, so that one could discern the pair from the commit logs
I built karn to avoid situations where I've forgotten to update the config after cloning a new repository. With karn, any repository under `~/Work`, for example, will automatically be configured to use the correct identity. Also, since it's all in one configuration file, that makes it really easy to maintain and keep it in sync with multiple machines.
It stops you from forgetting to do that. Especially for small, quick things like spell-fix PRs to random github projects it has happened to me that I forgot to set the right user before making and publishing commits.
[+] [-] mlawren|11 years ago|reply
I use direnv for example for setting per-directory Perl installation variables to keep my development environments separate.
[+] [-] ethomson|11 years ago|reply
[+] [-] cakey|11 years ago|reply
[+] [-] 32bitkid|11 years ago|reply
[1]:https://github.com/32bitkid/git-working-with
[+] [-] prydonius|11 years ago|reply
[+] [-] detaro|11 years ago|reply
[+] [-] mrdrozdov|11 years ago|reply
[+] [-] hliyan|11 years ago|reply
[+] [-] prydonius|11 years ago|reply
I think setting up different hosts in SSH config is a better way to manage SSH keys.
[+] [-] kbody|11 years ago|reply
[+] [-] machinshin_|11 years ago|reply
[+] [-] unknown|11 years ago|reply
[deleted]