OLD | NEW |
(Empty) | |
| 1 #!/bin/bash |
| 2 BLANK_DEMO=1 |
| 3 . demo_repo.sh |
| 4 |
| 5 trunc() { |
| 6 echo ... truncated output ... |
| 7 } |
| 8 |
| 9 trunc_command() { |
| 10 pcommand "$@" |
| 11 trunc |
| 12 } |
| 13 |
| 14 WS=build/whitespace_file.txt |
| 15 add_ws() { |
| 16 praw cat '>>' $WS '<<EOF' |
| 17 echo -e "$1" |
| 18 echo EOF |
| 19 echo -e "$1" >> $WS |
| 20 } |
| 21 |
| 22 ed_ws() { |
| 23 echo -ne "\x1B[37;1m$ echo -e " |
| 24 echo -n "'$1'" |
| 25 echo -e " | ed $WS\x1B[m" |
| 26 echo -e "$1" | ed $WS |
| 27 } |
| 28 |
| 29 # needs an extra echo afterwards |
| 30 map() { |
| 31 run git map |
| 32 echo |
| 33 } |
| 34 |
| 35 ED1='/Banana\ns/Banana/Kuun\nwq' |
| 36 |
| 37 ADD1=" |
| 38 \"You recall what happened on Mulholland drive?\" The ceiling fan rotated slowly |
| 39 overhead, barely disturbing the thick cigarette smoke. No doubt was left about |
| 40 when the fan was last cleaned." |
| 41 |
| 42 ED2='/Kuun\ns/Kuun/Kun\nwq' |
| 43 |
| 44 ADD2=" |
| 45 There was an poignant pause." |
| 46 |
| 47 ADD3=" |
| 48 CHAPTER 3: |
| 49 Mr. Usagi felt that something wasn't right. Shortly after the Domo-Kun left he |
| 50 began feeling sick." |
| 51 |
| 52 trunc_command fetch chromium |
| 53 pcommand cd src |
| 54 |
| 55 comment "(only on linux)" |
| 56 trunc_command ./build/install-build-deps.sh |
| 57 |
| 58 comment "Pull in all dependencies for HEAD" |
| 59 trunc_command gclient sync |
| 60 |
| 61 comment "Let's fix something!" |
| 62 run git new-branch fix_typo |
| 63 ed_ws "$ED1" |
| 64 run git commit -am 'Fix terrible typo.' |
| 65 map |
| 66 run git status |
| 67 trunc_command git cl upload -r domo@chromium.org --send-mail |
| 68 |
| 69 comment "While we wait for feedback, let's do something else." |
| 70 run git new-branch chap2 |
| 71 run git map-branches |
| 72 add_ws "$ADD1" |
| 73 run git status |
| 74 |
| 75 comment "Someone on the code review pointed out that our typo-fix has a typo :(" |
| 76 comment "We're still working on 'chap2' but we really want to land" |
| 77 comment "'fix_typo', so let's switch over and fix it." |
| 78 run git freeze |
| 79 run git checkout fix_typo 2>&1 |
| 80 ed_ws "$ED2" |
| 81 run git upstream-diff --wordwise |
| 82 run git commit -am 'Fix typo for good!' |
| 83 trunc_command git cl upload |
| 84 |
| 85 comment "Since we got lgtm, let the CQ land it." |
| 86 pcommand git cl set_commit |
| 87 map |
| 88 |
| 89 comment "Switch back to where we were using the nav* commands (for fun..." |
| 90 comment "git checkout would work here too)" |
| 91 run git map-branches |
| 92 run git nav-upstream 2>&1 |
| 93 pcommand git nav-downstream |
| 94 git nav-downstream --pick 0 2>&1 |
| 95 run git map-branches |
| 96 |
| 97 comment "Now we can pick up on chapter2 where we left off." |
| 98 run git thaw |
| 99 run git diff |
| 100 add_ws "$ADD2" |
| 101 run git diff |
| 102 run git commit -am 'Finish chapter 2' |
| 103 map |
| 104 trunc_command git cl upload -r domo@chromium.org --send-mail |
| 105 |
| 106 comment "We poke a committer until they lgtm :)" |
| 107 pcommand git cl set_commit |
| 108 |
| 109 comment "While that runs through the CQ, let's get started on chapter 3." |
| 110 comment "Since we know that chapter 3 depends on chapter 2, we'll track the" |
| 111 comment "current chapter2 branch." |
| 112 run git new-branch --upstream_current chap3 |
| 113 add_ws "$ADD3" |
| 114 run git commit -am 'beginning of chapter 3' |
| 115 map |
| 116 |
| 117 comment "We haven't updated the code in a while, so let's do that now." |
| 118 pcommand git rebase-update |
| 119 echo Fetching origin |
| 120 git fetch origin 2>&1 | grep -v 'stage' |
| 121 silent git update-ref refs/remotes/origin/master stage_2 |
| 122 silent git tag -d $(git tag -l 'stage_*') |
| 123 git rebase-update --no_fetch |
| 124 |
| 125 comment "Well look at that. The CQ landed our typo and chapter2 branches " |
| 126 comment "already and git rebase-update cleaned them up for us." |
| 127 trunc_command gclient sync |
| 128 map |
| 129 |
| 130 comment "Someone on IRC mentions that they actually landed a chapter 3 already!" |
| 131 comment "We should pull their changes before continuing. Brace for" |
| 132 comment "a code conflict!" |
| 133 pcommand git rebase-update |
| 134 echo Fetching origin |
| 135 git fetch origin 2>&1 | grep -v 'stage' |
| 136 silent git tag -d $(git tag -l 'stage_*') |
| 137 echo Rebasing: chap2 |
| 138 silent git rebase-update |
| 139 echo ... lots of output, it\'s a conflict alright :\(... |
| 140 run git diff |
| 141 |
| 142 comment "Oh, well, that's not too bad. In fact... that's a terrible chapter 3!" |
| 143 praw \$EDITOR "$WS" |
| 144 echo "... /me deletes bad chapter 3 ..." |
| 145 silent git checkout --theirs -- "$WS" |
| 146 run git add "$WS" |
| 147 run git diff --cached |
| 148 |
| 149 comment "Much better" |
| 150 run git rebase --continue |
| 151 run git rebase-update |
| 152 silent git tag -d $(git tag -l 'stage_*') |
| 153 trunc_command gclient sync |
| 154 map |
| 155 trunc_command git cl upload |
OLD | NEW |