charlesthomas / magpie

Git-backed Evernote replacement
MIT License
645 stars 50 forks source link

Removed dependency on sh and external git binary #36

Closed matthewi closed 10 years ago

matthewi commented 10 years ago

First pass at refactoring code to use GitPython instead of Sh or other mechanism to call out to git binary. GitPython provides a pure Python implementation for manipulation git objects and allows use of git binary where available.

TODO: Multiple config_problems messages are generated when the repository is invalid.

matthewi commented 10 years ago

I should add that for some operations (repository creation) GitPython still relies on an external binary. But core actions (adding, editing, removing files) operates without it. Another option that I just learned of is Dulwich (https://github.com/jelmer/dulwich). It appears to have no dependency on a git binary, even for repository creation.