TODO ==== * Github and Gitlab command line scripts. * Use `git annex sync` at `commit` when `git-annex` is detected; if that's the case, warn if on develop branch. * Add a `submodule-fix-path`/`submodule-dev` to move stuff from `.git/modules` to the submodule folder. * Add a `merge-push ` to merge to a branch and then push it to a remote. * Support for regular `.mrconfig` files at `mrconfig-updater`. * Determine a way to check all git repositories in a folder that has a given property like a feature branch. * Better recursive support for commit-updates (including submodules). * Write a "git ware" plugin: * Handles safe clones/pull/merges by checking signed tags or commits. * Write a "git" interceptor: * Check proper user/email config. * Automatically set git-flow when initializing a repository. * Automatically set git-hooks integration. * Implement global hooks. * Check remote configuration. * Check hook tampering before doing anything in the repository. * That can disable/mitigate hooks by changing permission and ownership on `~/.git/hooks`. * Push-to-deploy plugin: * http://superuser.com/questions/230694/how-can-i-push-a-git-repository-to-a-folder-over-ssh * https://devcenter.heroku.com/articles/git * https://github.com/blog/1957-git-2-3-has-been-released (push-to-deploy) * https://github.com/git/git/blob/v2.3.0/Documentation/config.txt#L2155 * http://stackoverflow.com/questions/1764380/push-to-a-non-bare-git-repository * http://bitflop.com/tutorials/git-bare-vs-non-bare-repositories.html