Index: docs/src/common_demo_functions.sh |
diff --git a/docs/src/common_demo_functions.sh b/docs/src/common_demo_functions.sh |
new file mode 100755 |
index 0000000000000000000000000000000000000000..f2f54c89e595563a8328c752ac26eef61487387a |
--- /dev/null |
+++ b/docs/src/common_demo_functions.sh |
@@ -0,0 +1,79 @@ |
+#!/bin/bash |
+ |
+REMOTE=$(pwd)/demo_repo |
+ |
+unset GIT_DIR |
+ |
+# Helper functions |
+set_user() { |
+ export GIT_AUTHOR_EMAIL="$1@chromium.org" |
+ export GIT_AUTHOR_NAME="$1" |
+ export GIT_COMMITTER_EMAIL="$1@chromium.org" |
+ export GIT_COMMITTER_NAME="$1" |
+} |
+set_user 'local' |
+ |
+ |
+# increment time by X seconds |
+TIME=1397119976 |
+tick() { |
+ TIME=$[$TIME + $1] |
+ export GIT_COMMITTER_DATE="$TIME +0000" |
+ export GIT_AUTHOR_DATE="$TIME +0000" |
+} |
+tick 0 |
+ |
+# a commit |
+c() { |
+ silent git commit --allow-empty -m "$1" |
+ tick 10 |
+} |
+ |
+praw() { |
+ echo -e "\x1B[37;1m$ $@\x1B[m" |
+} |
+ |
+# print a visible command (but don't run it) |
+pcommand() { |
+ praw "$(python -c '\ |
+ import sys, pipes; \ |
+ print " ".join(map(pipes.quote, sys.argv[1:]))' "$@")" |
+} |
+ |
+# run a visible command |
+run() { |
+ pcommand "$@" |
+ "$@" |
+} |
+ |
+comment() { |
+ echo "# $@" |
+} |
+ |
+# run a silent command |
+silent() { |
+ if [[ $DEBUG ]] |
+ then |
+ "$@" |
+ else |
+ "$@" > /dev/null 2> /dev/null |
+ fi |
+} |
+ |
+# add a file with optionally content |
+add() { |
+ local CONTENT=$2 |
+ if [[ ! $CONTENT ]] |
+ then |
+ CONTENT=$(python -c 'import random, string; \ |
+ print "".join(random.sample(string.lowercase, 16))') |
+ fi |
+ echo "$CONTENT" > $1 |
+ silent git add $1 |
+} |
+ |
+# Add a special callout marker at the given line offset to indicate to |
+# filter_demo_output.py to add a callout at that offset. |
+callout() { |
+ echo -e "\x1b[${1}c" |
+} |