From: Zheng Liu Date: Fri, 09 Aug 2013 12:32:28 GMT Subject: [GUILT] add FreeBSD support Message-ID: <1376051548-3126-1-git-send-email-wenqing.lz@taobao.com> From: Zheng Liu Currently guilt doesn't support FreeBSD platform. This commit tries to add this support. The file called 'os.FreeBSD' is copied from os.Darwin due to these two platforms have almost the same command tools. Signed-off-by: Zheng Liu --- Hi all, After applied this patch, the regression test 010 and 060 will fail because of the output format. After fixing these issues, all the regression tests will pass. P.S. I don't subscribe git@ mailing list. So please put my email address in Cc list. Thanks! Regards, - Zheng os.FreeBSD | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 os.FreeBSD diff --git a/os.FreeBSD b/os.FreeBSD new file mode 100644 index 0000000..3f23121 --- /dev/null +++ b/os.FreeBSD @@ -0,0 +1,70 @@ +# usage: touch_date +touch_date() +{ + touch -t `date -r $1 +%Y%m%d%H%M.%S` "$2" +} + +# usage: last_modified +last_modified() +{ + stat -f "%m" "$1" +} + +# usage: format_last_modified +format_last_modified() +{ + stat -f "%Sm" -t "%Y-%m-%d %H:%M:%S %z" "$1" +} + +# usage: head_n [count] +head_n() +{ + if [ "$1" -gt 0 ]; then + head -n "$1" + fi +} + +# usage: sha1 [file] +sha1() +{ + if [ $# = 1 ] + then + openssl dgst -sha1 "$1" | sed "s,SHA1.\(.*\).= \(.*\),\2 \1," + else + openssl dgst -sha1 | sed 's,\(.*= \)*\(.*\),\2 -,' + fi +} + +# usage: cp_a +cp_a() +{ + cp -pR "$1" "$2" +} + +# usage: _tac +_tac() +{ + sed -e '1!G;h;$!d' +} + +_seq() +{ + ( + if [ $# -eq 1 ] + then + /usr/bin/jot $1 + elif [ $# -eq 2 ] + then + n1=$((${2} - ${1} + 1)) + n2=$1 + /usr/bin/jot $n1 $n2 + elif [ $# -eq 3 ] + then + num1=$1 + incr=$2 + num2=$3 + /usr/bin/awk -v n1=$num1 -v n2=$num2 -v add=$incr 'BEGIN{ for(i=n1; i<=n2; i+=add) print i;}' | /usr/bin/sed -E '/e/s/^.+e.+$/0/' + fi + ) + return 0 +} -- 1.8.3.4