getver.sh 558 B

123456789101112131415161718192021222324252627
  1. #!/usr/bin/env bash
  2. export LANG=C
  3. export LC_ALL=C
  4. [ -n "$TOPDIR" ] && cd $TOPDIR
  5. try_version() {
  6. [ -f version ] || return 1
  7. REV="$(cat version)"
  8. [ -n "$REV" ]
  9. }
  10. try_git() {
  11. git rev-parse --git-dir >/dev/null 2>&1 || return 1
  12. REV="$(git describe --match reboot | sed "s/reboot-\([0-9]*\)-.*/\1/g")"
  13. REV="${REV:+r$REV}"
  14. [ -n "$REV" ]
  15. }
  16. try_hg() {
  17. [ -d .hg ] || return 1
  18. REV="$(hg log -r-1 --template '{desc}' | awk '{print $2}' | sed 's/\].*//')"
  19. REV="${REV:+r$REV}"
  20. [ -n "$REV" ]
  21. }
  22. try_version || try_git || try_hg || REV="unknown"
  23. echo "$REV"