# Check if param is a project
if [ ! -z "$PROJECT" ] && [ -z "$2" ] && ( cd $PROJECT &> /dev/null ); then
- if ! git status &> /dev/null; then
+ if ! $GIT status &> /dev/null; then
cd $PROJECT &> /dev/null
shift
- elif ! git status $PROJECT | grep -q "$PROJECT (new commits)"; then
+ elif ! $GIT status $PROJECT | grep -q "$PROJECT (new commits)"; then
cd $PROJECT &> /dev/null
shift
fi
# Main features:
#
# * Disables/mitigates hooks by changing permission and ownership on `~/.git/hooks`.
+# * Runs git through firejail if it's available.
#
# Other features to consider:
#
-# * Checks proper user/email config.
-# * Automatically sets git-flow when initializing a repository.
-# * Automatically sets git-hooks integration.
-# * Implements global hooks.
-# * Checks remote configuration.
-# * Checks hook tampering before doing anything in the repository, like removing hook permissions
+# * Check proper user/email config.
+# * Automatically set git-flow when initializing a repository.
+# * Automatically set git-hooks integration.
+# * Allow hook whitelisting.
+# * Implement global hooks like using a global init.templateDir config.
+# * Check remote configuration.
+# * Check hook tampering before doing anything in the repository, like removing hook permissions.
# Parameters
BASENAME="`basename $0`"
#
# Call git
#
-$GIT $*
+# https://stackoverflow.com/questions/1668649/how-to-keep-quotes-in-args/1669548#1669548
+$GIT "$@"