#!/bin/bash
BLANK_DEMO=1
. demo_repo.sh

trunc() {
  echo ... truncated output ...
}

trunc_command() {
  pcommand "$@"
  trunc
}

WS=build/whitespace_file.txt
add_ws() {
  praw cat '>>' $WS '<<EOF'
  echo -e "$1"
  echo EOF
  echo -e "$1" >> $WS
}

ed_ws() {
  echo -ne "\x1B[37;1m$ echo -e "
  echo -n "'$1'"
  echo -e " | ed $WS\x1B[m"
  echo -e "$1" | ed $WS
}

# needs an extra echo afterwards
map() {
  run git map
  echo
}

ED1='/Banana\ns/Banana/Kuun\nwq'

ADD1="
\"You recall what happened on Mulholland drive?\" The ceiling fan rotated slowly
overhead, barely disturbing the thick cigarette smoke. No doubt was left about
when the fan was last cleaned."

ED2='/Kuun\ns/Kuun/Kun\nwq'

ADD2="
There was an poignant pause."

ADD3="
CHAPTER 3:
Mr. Usagi felt that something wasn't right. Shortly after the Domo-Kun left he
began feeling sick."

trunc_command fetch chromium
pcommand cd src

comment "(only on linux)"
trunc_command ./build/install-build-deps.sh

comment "Pull in all dependencies for HEAD"
trunc_command gclient sync

comment "Let's fix something!"
run git new-branch fix_typo
ed_ws "$ED1"
run git commit -am 'Fix terrible typo.'
map
run git status
trunc_command git cl upload -r domo@chromium.org --send-mail

comment "While we wait for feedback, let's do something else."
run git new-branch chap2
run git map-branches
add_ws "$ADD1"
run git status

comment "Someone on the code review pointed out that our typo-fix has a typo :("
comment "We're still working on 'chap2' but we really want to land"
comment "'fix_typo', so let's switch over and fix it."
run git freeze
run git checkout fix_typo  2>&1
ed_ws "$ED2"
run git upstream-diff --wordwise
run git commit -am 'Fix typo for good!'
trunc_command git cl upload

comment "Since we got lgtm, let the CQ land it."
pcommand git cl set_commit
map

comment "Switch back to where we were using the nav* commands (for fun..."
comment "git checkout would work here too)"
run git map-branches
run git nav-upstream  2>&1
pcommand git nav-downstream
git nav-downstream --pick 0  2>&1
run git map-branches

comment "Now we can pick up on chapter2 where we left off."
run git thaw
run git diff
add_ws "$ADD2"
run git diff
run git commit -am 'Finish chapter 2'
map
trunc_command git cl upload -r domo@chromium.org --send-mail

comment "We poke a committer until they lgtm :)"
pcommand git cl set_commit

comment "While that runs through the CQ, let's get started on chapter 3."
comment "Since we know that chapter 3 depends on chapter 2, we'll track the"
comment "current chapter2 branch."
run git new-branch --upstream_current chap3
add_ws "$ADD3"
run git commit -am 'beginning of chapter 3'
map

comment "We haven't updated the code in a while, so let's do that now."
pcommand git rebase-update
echo Fetching origin
git fetch origin 2>&1 | grep -v 'stage'
silent git update-ref refs/remotes/origin/master stage_2
silent git tag -d $(git tag -l 'stage_*')
git rebase-update --no_fetch

comment "Well look at that. The CQ landed our typo and chapter2 branches "
comment "already and git rebase-update cleaned them up for us."
trunc_command gclient sync
map

comment "Someone on IRC mentions that they actually landed a chapter 3 already!"
comment "We should pull their changes before continuing. Brace for"
comment "a code conflict!"
pcommand git rebase-update
echo Fetching origin
git fetch origin 2>&1 | grep -v 'stage'
silent git tag -d $(git tag -l 'stage_*')
echo Rebasing: chap2
silent git rebase-update
echo ... lots of output, it\'s a conflict alright :\(...
run git diff

comment "Oh, well, that's not too bad. In fact... that's a terrible chapter 3!"
praw \$EDITOR "$WS"
echo "... /me deletes bad chapter 3 ..."
silent git checkout --theirs -- "$WS"
run git add "$WS"
run git diff --cached

comment "Much better"
run git rebase --continue
run git rebase-update
silent git tag -d $(git tag -l 'stage_*')
trunc_command gclient sync
map
trunc_command git cl upload
