/etckeeper/commit.d/50vcs-commit

http://github.com/brinkman83/bashrc · Shell · 41 lines · 38 code · 2 blank · 1 comment · 12 complexity · 6ba810edda5f28ec8ba5d8eaa478aed5 MD5 · raw file

  1. #!/bin/sh
  2. set -e
  3. message="$1"
  4. hostname=`hostname -f 2>/dev/null || hostname`
  5. if [ "$VCS" = git ] && [ -d .git ]; then
  6. if [ -n "$SUDO_USER" ]; then
  7. export GIT_COMMITTER_NAME="$SUDO_USER"
  8. export GIT_COMMITTER_EMAIL="$SUDO_USER@$hostname"
  9. fi
  10. if [ -n "$message" ]; then
  11. git commit $GIT_COMMIT_OPTIONS -m "$message"
  12. else
  13. git commit $GIT_COMMIT_OPTIONS
  14. fi
  15. elif [ "$VCS" = hg ] && [ -d .hg ]; then
  16. if [ -n "$SUDO_USER" ]; then
  17. export LOGNAME="$SUDO_USER"
  18. fi
  19. if [ -n "$message" ]; then
  20. hg commit $HG_COMMIT_OPTIONS -m "$message"
  21. else
  22. hg commit $HG_COMMIT_OPTIONS
  23. fi
  24. elif [ "$VCS" = bzr ] && [ -d .bzr ]; then
  25. if [ -n "$SUDO_USER" ]; then
  26. export EMAIL="$SUDO_USER <$SUDO_USER@$hostname>"
  27. fi
  28. if [ -n "$message" ]; then
  29. bzr commit $BZR_COMMIT_OPTIONS -m "$message"
  30. else
  31. bzr commit $BZR_COMMIT_OPTIONS
  32. fi
  33. elif [ "$VCS" = darcs ] && [ -d _darcs ]; then
  34. logfile="$( mktemp -t etckeeper-$VCS.XXXXXXXXXX )"
  35. printf "%b" "$message" > "$logfile"
  36. darcs record $DARCS_COMMIT_OPTIONS --logfile="$logfile"
  37. rm -f "$logfile"
  38. unset logfile
  39. fi