(List (Com {[LIT_CHARS set]} {[LIT_CHARS -e]} ) (= scope= flags=0 words=[] bindings=[('E_INVALID_ARG', {[LIT_CHARS 128]})]) (FunctionDef usage [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Usage: "][VarSub 0][LIT_CHARS " [--options]"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Options:"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " --[no-]verbose: display information about each step"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " --directory base: base directory of local git repository"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " (e.g., ~/dartium-roll implies directory"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " ~/dartium-roll/src and"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " ~/dartium-roll/src/third_party/WebKit)**"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " --chrome: for the Chrome branch (not with --blink)**"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " --blink: for the Blink branch (not with --chrome)**"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " --old-branch name: name of previous true branch (e.g., use 1847"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " for version 34.0.1847.92) *"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " --old-revision revision: revision of base trunk for "][VarSub OLD][LIT_CHARS " version *"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " --new-branch name: name of new true branch to create *"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " --new-revision revision: revision of base trunk for new branch *"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " --pre-roll: display commands to prepare for the roll"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " --roll: display Git commands to execute for creating"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " branches for the roll"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " --info: display hashes for "][VarSub BASE][LIT_CHARS " and "][VarSub LAST][LIT_CHARS " on each"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " branch (stripped"][VarSub OLD][LIT_CHARS ", trunkdata"][VarSub OLD][LIT_CHARS ", and"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " trunkdata"][VarSub NEW][LIT_CHARS ")"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " --help: this message"]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "* - required"]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "* Script will prompt interactively if options not given."]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "** Argument must be specified."]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (FunctionDef verbose_message [] (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub do_verbose]]} {[LIT_DBRACKET_LIKE "="]} {[LIT_CHARS 1]} {[LIT_DBRACKET_LIKE "]"]} ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub 1]]} {[LIT_DBRACKET_LIKE "="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS echo]} ) (ElseTrue) (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS ...][VarSub 1][LIT_CHARS ...]]} ) ) ) ) (FunctionDef validate_remotes [] (List (Com {[LIT_CHARS verbose_message]} {[DQ [LIT_CHARS "Validating Remotes"]]} ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub do_which]]} {[LIT_DBRACKET_LIKE "="]} {[DQ [LIT_CHARS chrome]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (= scope= flags=0 words=[] bindings=[('remote_dart_last', {[ComSub (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS branch]} {[LIT_CHARS -a]}) (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS remotes/dart][VarSub do_old_branch]]}) )]})]) (= scope= flags=0 words=[] bindings=[('remote_dart_new', {[ComSub (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS branch]} {[LIT_CHARS -a]}) (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS remotes/dart][VarSub do_new_branch]]}) )]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub remote_dart_last]]} {[LIT_DBRACKET_LIKE "="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[ComSub (Com {[LIT_CHARS display_error]} {[DQ [LIT_CHARS "missing old remotes/dart"][VarSub do_old_branch]]})]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS -1]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub remote_dart_new]]} {[LIT_DBRACKET_LIKE "="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[ComSub (Com {[LIT_CHARS display_error]} {[DQ [LIT_CHARS "missing new remotes/dart"][VarSub do_new_branch]]})]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS -1]} ) ) ) ) (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub do_which]]} {[LIT_DBRACKET_LIKE "="]} {[DQ [LIT_CHARS blink]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (= scope= flags=0 words=[] bindings=[('remote_dart_last', {[ComSub (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS branch]} {[LIT_CHARS -a]}) (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS remotes/blink-svn/][VarSub do_old_branch]]}) )]})]) (= scope= flags=0 words=[] bindings=[('remote_dart_new', {[ComSub (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS branch]} {[LIT_CHARS -a]}) (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS remotes/blink-svn/multivm-][VarSub do_new_branch]]}) )]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub remote_dart_last]]} {[LIT_DBRACKET_LIKE "="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[ComSub (Com {[LIT_CHARS display_error]} {[DQ [LIT_CHARS "missing old remotes/blink-svn/"][VarSub do_old_branch]]})]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS -1]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub remote_dart_new]]} {[LIT_DBRACKET_LIKE "="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[ComSub (Com {[LIT_CHARS display_error]} {[DQ [LIT_CHARS "missing new remotes/blink-svn/multivm-"][VarSub do_new_branch]]})]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS -1]} ) ) ) ) (ElseTrue) (List (Com {[ComSub (Com {[LIT_CHARS display_error]} {[DQ [LIT_CHARS "--chrome or --blink must be specified"]]})]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS -1]} ) ) ) ) ) (FunctionDef stripped_exist [] (List (= scope= flags=0 words=[] bindings=[('branch_name', {[ComSub (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS branch]} {[LIT_CHARS --no-color]} {[LIT_CHARS --list]} {[ComSub (Com {[LIT_CHARS stripped_name]})]}) (Com {[LIT_CHARS sed]} {[SQ ]}) )]})]) (Com {[LIT_CHARS echo]} {[VarSub branch_name]} ) ) ) (FunctionDef trunk_exist [] (List (= scope= flags=0 words=[] bindings=[('branch_name', {[ComSub (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS branch]} {[LIT_CHARS --list]} {[LIT_CHARS --no-color]} {[LIT_CHARS trunkdart] [VarSub 1]}) (Com {[LIT_CHARS sed]} {[SQ ]}) (Com {[LIT_CHARS tail]} {[LIT_CHARS -n]} {[LIT_CHARS 1]}) )]})]) (Com {[LIT_CHARS echo]} {[VarSub branch_name]} ) ) ) (FunctionDef validate_repository [] (List (Com {[LIT_CHARS verbose_message]} {[DQ [LIT_CHARS "Validating Repository"]]} ) (= scope= flags=0 words=[] bindings=[('strip_branch', {[VarSub stripped_name]})]) (= scope= flags=0 words=[] bindings=[('stripped_found', {[VarSub stripped_exist]})]) (= scope= flags=0 words=[] bindings=[('old_branch_found', {[ComSub (Com {[LIT_CHARS trunk_exist]} {[VarSub do_old_branch]})]})]) (= scope= flags=0 words=[] bindings=[('new_branch_found', {[ComSub (Com {[LIT_CHARS trunk_exist]} {[VarSub do_new_branch]})]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub stripped_found]]} {[LIT_NEQUAL "!="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[ComSub (Com {[LIT_CHARS display_error]} {[DQ [LIT_CHARS "branch "][VarSub strip_branch][LIT_CHARS " already exist"]]})]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS -1]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub old_branch_found]]} {[LIT_NEQUAL "!="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[ComSub (Com {[LIT_CHARS display_error]} {[DQ [LIT_CHARS "branch trunkdart"][VarSub do_old_branch][LIT_CHARS " already exist"]]})]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS -1]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub new_branch_found]]} {[LIT_NEQUAL "!="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[ComSub (Com {[LIT_CHARS display_error]} {[DQ [LIT_CHARS "branch trunkdart"][VarSub do_new_branch][LIT_CHARS " already exist"]]})]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS -1]} ) ) ) ) ) (FunctionDef display_error [] (List (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[DQ [\ LIT_ESCAPED_CHAR "\\n"][\ LIT_ESCAPED_CHAR "\\e"][LIT_CHARS "[1;31mERROR: "][VarSub 1][\ LIT_ESCAPED_CHAR "\\e"][LIT_CHARS "[0m"][\ LIT_ESCAPED_CHAR "\\n"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (FunctionDef hash_trunk_revision [] (= scope= flags=0 words=[] bindings=[('hash_trunk', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS log]} {[LIT_CHARS master]} {[LIT_CHARS --grep] [LIT_DBRACKET_LIKE "="] [LIT_CHARS src] [LIT_OTHER "@"] [VarSub 1]} {[LIT_CHARS --pretty] [LIT_DBRACKET_LIKE "="] [LIT_CHARS format] [LIT_OTHER ":"] [SQ ]} {[LIT_CHARS -n]} {[LIT_CHARS 1]})]})]) ) (FunctionDef last_revision [] (Com {[LIT_CHARS echo]} {[ComSub (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS svn]} {[LIT_CHARS log]} {[VarSub 1]} {[LIT_CHARS --oneline]} {[LIT_CHARS -1]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -d]} {[SQ ]} {[LIT_CHARS -f1]}) (Com {[LIT_CHARS sed]} {[DQ [LIT_CHARS s/r//]]}) )]} ) ) (FunctionDef stripped_name [] (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS stripped][VarSub do_old_branch]]} ) ) (FunctionDef trunkdart_name [] (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS trunkdart][VarSub 1]]} ) ) (FunctionDef hash_codes_base_last [] (List (= scope= flags=0 words=[] bindings=[('hash_base', {[ComSub (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS rev-list]} {[VarSub 1]} {[LIT_CHARS --pretty] [LIT_DBRACKET_LIKE "="] [LIT_CHARS format] [LIT_OTHER ":"] [SQ ]}) (Com {[LIT_CHARS tail]} {[LIT_CHARS -n]} {[LIT_CHARS 1]}) )]})]) (= scope= flags=0 words=[] bindings=[('hash_last', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS log]} {[VarSub 1]} {[LIT_CHARS --pretty] [LIT_DBRACKET_LIKE "="] [LIT_CHARS format] [LIT_OTHER ":"] [SQ ]} {[LIT_CHARS -1]})]})]) ) ) (FunctionDef hash_codes_base2_last2 [] (List (= scope= flags=0 words=[] bindings=[('hash_last2', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS log]} {[VarSub 1]} {[LIT_CHARS --pretty] [LIT_DBRACKET_LIKE "="] [LIT_CHARS format] [LIT_OTHER ":"] [SQ ]} {[LIT_CHARS -1]})]})]) (= scope= flags=0 words=[{[LIT_CHARS search]}] bindings=[]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub do_which]]} {[LIT_DBRACKET_LIKE "="]} {[DQ [LIT_CHARS chrome]]} {[LIT_DBRACKET_LIKE "]"]} ) (= scope= flags=0 words=[] bindings=[('search', {[DQ [LIT_CHARS "chrome/trunk/src@"][VarSub do_old_revision]]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('search', {[DQ [LIT_CHARS blink/branches/dart/multivm-][VarSub do_new_revision][LIT_CHARS "@"][VarSub do_old_revision]]})]) ) (= scope= flags=0 words=[] bindings=[('hash_base2', {[ComSub (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS log]} {[VarSub 1]} {[LIT_CHARS --grep] [LIT_DBRACKET_LIKE "="] [LIT_OTHER "@"] [VarSub do_old_revision]} {[LIT_CHARS --pretty] [LIT_DBRACKET_LIKE "="] [LIT_CHARS format] [LIT_OTHER ":"] [SQ ]}) (Com {[LIT_CHARS tail]} {[LIT_CHARS -1]}) )]})]) ) ) (FunctionDef space_pad [] (List (= scope= flags=0 words=[] bindings=[('spaces', {[ComSub (Com {[LIT_CHARS printf]} {[SQ ]} {[DQ [LIT_CHARS " "]] [LIT_LBRACE "{"] [LIT_CHARS 1..80] [LIT_RBRACE "}"]})]})]) (= scope= flags=0 words=[] bindings=[('spaces_pad', {[VarSub spaces transform_ops=[Slice {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}} {A Atom NODE_ARITH_WORD {[VarSub 2]}}]]})]) (= scope= flags=0 words=[] bindings=[('padding', {[ComSub (Com {[LIT_CHARS printf]} {[DQ [LIT_CHARS "%s"]]} {[DQ [VarSub spaces_pad transform_ops=[Slice {A Atom NODE_ARITH_WORD {[VarSub 1 transform_ops=[(#len)]]}} None]]]})]})]) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub 3]]} {[DQ ]}}) (Com {[LIT_CHARS echo]} {[DQ [VarSub 1][VarSub padding]]} ) (ElseTrue) (Com {[LIT_CHARS echo]} {[DQ [VarSub padding][VarSub 1]]} ) ) ) ) (FunctionDef display_url [] (List (= scope= flags=0 words=[] bindings=[('format_url', {[ComSub (Com {[LIT_CHARS space_pad]} {[VarSub 1]} {[LIT_CHARS 55]})]})]) (= scope= flags=0 words=[] bindings=[('valid_url', {[ComSub (Com {[LIT_CHARS valid_branch_url]} {[VarSub 1]})]})]) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub valid_url]]} {[DQ ]}}) (List (= scope= flags=0 words=[] bindings=[('format_err', {[ComSub (Com {[LIT_CHARS space_pad]} {[DQ [LIT_CHARS "WARNING ON TRUNK - FIX IMMEDIATELY"]]} {[LIT_CHARS 55]})]})]) (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS "| URL: "][\ LIT_ESCAPED_CHAR "\\e"][LIT_CHARS "[1;31m"][VarSub format_url][\ LIT_ESCAPED_CHAR "\\e"][LIT_CHARS "[0m|"][\ LIT_ESCAPED_CHAR "\\n"][LIT_CHARS "| "][\ LIT_ESCAPED_CHAR "\\e"][LIT_CHARS "[1;31m"][VarSub format_err][\ LIT_ESCAPED_CHAR "\\e"][LIT_CHARS "[0m|"]]} ) ) (ElseTrue) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "| URL: "][VarSub format_url][LIT_CHARS "|"]]} ) ) ) ) (FunctionDef display_hashes [] (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub do_info_hashes]]} {[LIT_DBRACKET_LIKE "="]} {[LIT_CHARS 1]} {[LIT_DBRACKET_LIKE "]"]} ) (List (= scope= flags=0 words=[] bindings=[('format_which', {[ComSub (Com {[LIT_CHARS space_pad]} {[VarSub do_which]} {[LIT_CHARS 6]} {[LIT_CHARS 1]})]})]) (= scope= flags=0 words=[] bindings=[('stripped_branch', {[ComSub (Com {[LIT_CHARS stripped_name]})]})]) (= scope= flags=0 words=[] bindings=[('stripped_found', {[ComSub (Com {[LIT_CHARS stripped_exist]})]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub stripped_found]]} {[LIT_NEQUAL "!="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS hash_codes_base_last]} {[VarSub stripped_branch]} ) (Com {[LIT_CHARS hash_trunk_revision]} {[VarSub do_old_revision]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "================================================================="]]} ) (= scope= flags=0 words=[] bindings=[('format_branch', {[ComSub (Com {[LIT_CHARS space_pad]} {[VarSub stripped_branch]} {[LIT_CHARS 32]} {[LIT_CHARS 1]})]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "| "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "OLD: "][VarSub format_which][LIT_CHARS " dart"][VarSub do_old_branch][LIT_CHARS "@"][VarSub do_old_revision][VarSub format_branch][LIT_CHARS " |"]]} ) (= scope= flags=0 words=[] bindings=[('remote_url', {[ComSub (Com {[LIT_CHARS url_branch]} {[VarSub stripped_branch]})]})]) (Com {[LIT_CHARS echo]} {[DQ [ComSub (Com {[LIT_CHARS display_url]} {[VarSub remote_url]})]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "|---------------------------------------------------------------|"]]} ) (= scope= flags=0 words=[] bindings=[('format_hash', {[ComSub (Com {[LIT_CHARS space_pad]} {[VarSub hash_base]} {[LIT_CHARS 51]})]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "| "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "BASE | "][VarSub format_hash][LIT_CHARS " |"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "|---------------------------------------------------------------|"]]} ) (= scope= flags=0 words=[] bindings=[('format_hash', {[ComSub (Com {[LIT_CHARS space_pad]} {[VarSub hash_last]} {[LIT_CHARS 51]})]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "| "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "LAST | "][VarSub format_hash][LIT_CHARS " |"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "================================================================="]]} ) (Com {[LIT_CHARS echo]} ) ) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[DQ [VarSub stripped_branch][LIT_CHARS " not found"]]} ) (Com {[LIT_CHARS echo]} ) ) ) (= scope= flags=0 words=[] bindings=[('branch_trunkdart_old', {[ComSub (Com {[LIT_CHARS trunkdart_name]} {[VarSub do_old_branch]})]})]) (= scope= flags=0 words=[] bindings=[('old_branch_found', {[ComSub (Com {[LIT_CHARS trunk_exist]} {[VarSub do_old_branch]})]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub old_branch_found]]} {[LIT_NEQUAL "!="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS hash_codes_base2_last2]} {[VarSub branch_trunkdart_old]} ) (Com {[LIT_CHARS hash_trunk_revision]} {[VarSub do_old_revision]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "================================================================="]]} ) (= scope= flags=0 words=[] bindings=[('format_branch', {[ComSub (Com {[LIT_CHARS space_pad]} {[VarSub branch_trunkdart_old]} {[LIT_CHARS 32]} {[LIT_CHARS 1]})]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "| "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "OLD "][VarSub format_which][LIT_CHARS " dart"][VarSub do_old_branch][LIT_CHARS "@"][VarSub do_old_revision][VarSub format_branch][LIT_CHARS " |"]]} ) (= scope= flags=0 words=[] bindings=[('remote_url', {[ComSub (Com {[LIT_CHARS url_branch]} {[VarSub branch_trunkdart_old]})]})]) (Com {[LIT_CHARS echo]} {[DQ [ComSub (Com {[LIT_CHARS display_url]} {[VarSub remote_url]})]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "|---------------------------------------------------------------|"]]} ) (= scope= flags=0 words=[] bindings=[('format_base2', {[ComSub (Com {[LIT_CHARS space_pad]} {[VarSub hash_base2]} {[LIT_CHARS 51]})]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "| "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "BASE2 | "][VarSub format_base2][LIT_CHARS " |"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "|---------------------------------------------------------------|"]]} ) (= scope= flags=0 words=[] bindings=[('format_last2', {[ComSub (Com {[LIT_CHARS space_pad]} {[VarSub hash_last2]} {[LIT_CHARS 51]})]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "| "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "LAST2 | "][VarSub format_last2][LIT_CHARS " |"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "================================================================="]]} ) (Com {[LIT_CHARS echo]} ) ) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[DQ [VarSub branch_trunkdart_old][LIT_CHARS " not found"]]} ) (Com {[LIT_CHARS echo]} ) ) ) (= scope= flags=0 words=[] bindings=[('branch_trunkdart_new', {[ComSub (Com {[LIT_CHARS trunkdart_name]} {[VarSub do_new_branch]})]})]) (= scope= flags=0 words=[] bindings=[('new_branch_found', {[ComSub (Com {[LIT_CHARS trunk_exist]} {[VarSub do_new_branch]})]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub new_branch_found]]} {[LIT_NEQUAL "!="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS hash_trunk_revision]} {[VarSub do_new_revision]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "================================================================="]]} ) (= scope= flags=0 words=[] bindings=[('format_branch', {[ComSub (Com {[LIT_CHARS space_pad]} {[VarSub branch_trunkdart_new]} {[LIT_CHARS 32]} {[LIT_CHARS 1]})]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "| "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "NEW "][VarSub format_which][LIT_CHARS " dart"][VarSub do_new_branch][LIT_CHARS "@"][VarSub do_new_revision][VarSub format_branch][LIT_CHARS " |"]]} ) (= scope= flags=0 words=[] bindings=[('remote_url', {[ComSub (Com {[LIT_CHARS url_branch]} {[VarSub branch_trunkdart_new]})]})]) (Com {[LIT_CHARS echo]} {[DQ [ComSub (Com {[LIT_CHARS display_url]} {[VarSub remote_url]})]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "|---------------------------------------------------------------|"]]} ) (= scope= flags=0 words=[] bindings=[('revision', {[ComSub (Com {[LIT_CHARS last_revision]} {[VarSub branch_trunkdart_new]})]})]) (= scope= flags=0 words=[] bindings=[('format_revision', {[ComSub (Com {[LIT_CHARS space_pad]} {[VarSub revision]} {[LIT_CHARS 43]})]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "| last revision | "][VarSub format_revision][LIT_CHARS " |"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "================================================================="]]} ) (Com {[LIT_CHARS echo]} ) ) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[DQ [VarSub branch_trunkdart_new][LIT_CHARS " not found"]]} ) (Com {[LIT_CHARS echo]} ) ) ) ) ) ) (FunctionDef switch_branch [] (List (Com {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS checkout]} {[VarSub 1]} {[LIT_CHARS --quiet]})]} ) (= scope= flags=0 words=[] bindings=[('curr_branch', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS name-rev]} {[LIT_CHARS --name-only]} {[LIT_CHARS HEAD]})]})]) (If (DBracket {B2 BINARY_STRING_NOT_EQUAL {[DQ [VarSub curr_branch]]} {[DQ [VarSub 1]]}}) (List (Com {[ComSub (Com {[LIT_CHARS display_error]} {[DQ [LIT_CHARS "Unable to switch to branch "][VarSub 1][LIT_CHARS " - pending commits/add?"]]})]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS -1]} ) ) ) (Com {[LIT_CHARS echo]} {[VarSub curr_branch]} ) ) ) (FunctionDef check_branch [] (List (= scope= flags=0 words=[] bindings=[('old_branch', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS name-rev]} {[LIT_CHARS --name-only]} {[LIT_CHARS HEAD]})]})]) (= scope= flags=0 words=[] bindings=[('curr_branch', {[ComSub (Com {[LIT_CHARS switch_branch]} {[VarSub 1]})]})]) (= scope= flags=0 words=[{[LIT_CHARS trunk_url]}] bindings=[]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub do_which]]} {[LIT_DBRACKET_LIKE "="]} {[DQ [LIT_CHARS chrome]]} {[LIT_DBRACKET_LIKE "]"]} ) (= scope= flags=0 words=[] bindings=[('trunk_url', {[SQ ]})]) (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub do_which]]} {[LIT_DBRACKET_LIKE "="]} {[DQ [LIT_CHARS blink]]} {[LIT_DBRACKET_LIKE "]"]} ) (= scope= flags=0 words=[] bindings=[('trunk_url', {[SQ ]})]) (ElseTrue) (List (Com {[ComSub (Com {[LIT_CHARS display_error]} {[DQ [LIT_CHARS "Neither blink or chrome specified"]]})]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS -1]} ) ) ) (= scope= flags=0 words=[] bindings=[('remote_commit', {[ComSub (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS svn]} {[LIT_CHARS dcommit]} {[LIT_CHARS --dry-run]}) (Com {[LIT_CHARS head]} {[LIT_CHARS -1]}) (Com {[LIT_CHARS grep]} {[DQ [VarSub trunk_url]]}) )]})]) (= scope= flags=0 words=[] bindings=[('curr_branch', {[ComSub (Com {[LIT_CHARS switch_branch]} {[VarSub old_branch]})]})]) (If (DBracket {B2 BINARY_STRING_NOT_EQUAL {[DQ [VarSub curr_branch]]} {[DQ [VarSub old_branch]]}}) (List (Com {[ComSub (Com {[LIT_CHARS display_error]} {[DQ [LIT_CHARS "Unable to switch back to original branch "][VarSub old_branch]]})]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS -1]} ) ) ) (If (DBracket {B2 BINARY_STRING_NOT_EQUAL {[DQ [VarSub remote_commit]]} {[DQ ]}}) (List (Com {[ComSub (Com {[LIT_CHARS display_error]} {[DQ [LIT_CHARS "Branch "][VarSub 1][LIT_CHARS " is NOT pointing to the Dart branch repository but pointing to trunk."]]})]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS -1]} ) ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Local branch '"][VarSub 1][LIT_CHARS "' is based on the remote branch/dart repository."]]} ) ) ) (FunctionDef valid_branch_url [] (List (= scope= flags=0 words=[] bindings=[('src_dir', {[DQ ]})]) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub do_which]]} {[DQ [LIT_CHARS chrome]]}}) (= scope= flags=0 words=[] bindings=[('src_dir', {[DQ [LIT_CHARS /src]]})]) ) (= scope= flags=0 words=[] bindings=[('old_remote', {[DQ [LIT_CHARS "svn://svn.chromium.org/"][VarSub do_which][LIT_CHARS /branches/dart/][VarSub do_old_branch][VarSub src_dir]]})]) (= scope= flags=0 words=[] bindings=[('new_remote', {[DQ [LIT_CHARS "svn://svn.chromium.org/"][VarSub do_which][LIT_CHARS /branches/dart/][VarSub do_new_branch][VarSub src_dir]]})]) (Com {[LIT_CHARS echo]} {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS -e]} {[DQ [VarSub old_remote]]} {[LIT_CHARS -e]} {[DQ [VarSub new_remote]]}) )]} ) ) ) (FunctionDef url_branch [] (List (= scope= flags=0 words=[] bindings=[('old_branch', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS name-rev]} {[LIT_CHARS --name-only]} {[LIT_CHARS HEAD]})]})]) (= scope= flags=0 words=[] bindings=[('curr_branch', {[ComSub (Com {[LIT_CHARS switch_branch]} {[VarSub 1]})]})]) (= scope= flags=0 words=[] bindings=[('remote_commit', {[ComSub (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS svn]} {[LIT_CHARS dcommit]} {[LIT_CHARS --dry-run]}) (Com {[LIT_CHARS head]} {[LIT_CHARS -1]}) (Com {[LIT_CHARS sed]} {[SQ ]}) (Com {[LIT_CHARS sed]} {[SQ ]}) )]})]) (= scope= flags=0 words=[] bindings=[('curr_branch', {[ComSub (Com {[LIT_CHARS switch_branch]} {[VarSub old_branch]})]})]) (Com {[LIT_CHARS echo]} {[DQ [VarSub remote_commit]]} ) ) ) (FunctionDef validate_branches [] (List (= scope= flags=0 words=[] bindings=[('stripped_found', {[ComSub (Com {[LIT_CHARS stripped_exist]})]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub stripped_found]]} {[LIT_NEQUAL "!="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (= scope= flags=0 words=[] bindings=[('branch_name', {[ComSub (Com {[LIT_CHARS stripped_name]})]})]) (= scope= flags=0 words=[] bindings=[('check_result', {[ComSub (Com {[LIT_CHARS check_branch]} {[VarSub branch_name]})]})]) (Com {[LIT_CHARS printf]} {[DQ [LIT_CHARS "%s"][\ LIT_ESCAPED_CHAR "\\n"]]} {[DQ [VarSub check_result]]} ) ) ) (= scope= flags=0 words=[] bindings=[('branch_trunkdart_old', {[ComSub (Com {[LIT_CHARS trunkdart_name]} {[VarSub do_old_branch]})]})]) (= scope= flags=0 words=[] bindings=[('old_branch_found', {[ComSub (Com {[LIT_CHARS trunk_exist]} {[VarSub do_old_branch]})]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub old_branch_found]]} {[LIT_NEQUAL "!="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (= scope= flags=0 words=[] bindings=[('check_result', {[ComSub (Com {[LIT_CHARS check_branch]} {[VarSub branch_trunkdart_old]})]})]) (Com {[LIT_CHARS printf]} {[DQ [LIT_CHARS "%s"][\ LIT_ESCAPED_CHAR "\\n"]]} {[DQ [VarSub check_result]]} ) ) ) (= scope= flags=0 words=[] bindings=[('branch_trunkdart_new', {[ComSub (Com {[LIT_CHARS trunkdart_name]} {[VarSub do_new_branch]})]})]) (= scope= flags=0 words=[] bindings=[('new_branch_found', {[ComSub (Com {[LIT_CHARS trunk_exist]} {[VarSub do_new_branch]})]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub new_branch_found]]} {[LIT_NEQUAL "!="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (= scope= flags=0 words=[] bindings=[('check_result', {[ComSub (Com {[LIT_CHARS check_branch]} {[VarSub branch_trunkdart_new]})]})]) (Com {[LIT_CHARS printf]} {[DQ [LIT_CHARS "%s"][\ LIT_ESCAPED_CHAR "\\n"]]} {[DQ [VarSub check_result]]} ) ) ) ) ) (FunctionDef display_roll_commands [] (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub roll_branches]]} {[LIT_DBRACKET_LIKE "="]} {[LIT_CHARS 1]} {[LIT_DBRACKET_LIKE "]"]} ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub do_which]]} {[LIT_DBRACKET_LIKE "="]} {[DQ [LIT_CHARS chrome]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS roll_chrome_commands]} ) (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub do_which]]} {[LIT_DBRACKET_LIKE "="]} {[DQ [LIT_CHARS blink]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS roll_blink_commands]} ) ) ) ) (FunctionDef display_remote_repository_creation [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Do the following pre-roll setup"]]} ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub do_which]]} {[LIT_DBRACKET_LIKE "="]} {[DQ [LIT_CHARS chrome]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " mkdir dartium-"][VarSub do_new_branch]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " cd dartium-"][VarSub do_new_branch]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " svn mkdir -m "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "Preparing Chrome 35/"][VarSub do_new_branch][LIT_CHARS " branch"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " "]]} {[DQ [LIT_CHARS "svn://svn.chromium.org/chrome/branches/dart/"][VarSub do_new_branch]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " svn cp -m "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "Branching for "][VarSub do_new_branch][LIT_CHARS " @"][VarSub do_new_revision][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " "]]} {[DQ [LIT_CHARS "svn://svn.chromium.org/chrome/trunk/src@"][VarSub do_new_revision][LIT_CHARS " "]]} {[DQ [LIT_CHARS "svn://svn.chromium.org/chrome/branches/dart/"][VarSub do_new_branch][LIT_CHARS /src]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " git svn clone -r241107 svn://svn.chromium.org/chrome/trunk/src src"]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " cd src"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " git cl rebase"]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "-----After rebase finishes-----"]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " 1. Add the below lines to src/.git/config"]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "[svn-remote "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS dart][VarSub do_old_branch][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "]"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " url = svn://svn.chromium.org/chrome/branches/dart/"][VarSub do_old_branch][LIT_CHARS /src]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " fetch = :refs/remotes/dart"][VarSub do_old_branch]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "[svn-remote "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS dart][VarSub do_new_branch][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "]"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " url = svn://svn.chromium.org/chrome/branches/dart/"][VarSub do_new_branch][LIT_CHARS /src]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " fetch = :refs/remotes/dart"][VarSub do_new_branch]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " 2. Get the code"]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " cd src"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " git svn fetch dart"][VarSub do_old_branch][LIT_CHARS " && git svn fetch dart"][VarSub do_new_branch]]} ) ) (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub do_which]]} {[LIT_DBRACKET_LIKE "="]} {[DQ [LIT_CHARS blink]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " Directory dartium-"][VarSub do_new_branch][LIT_CHARS " exists."]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " cd dartium-"][VarSub do_new_branch]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " svn cp -m "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "Branching "][VarSub do_new_branch][LIT_CHARS " @"][VarSub do_new_revision][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " "]]} {[DQ [LIT_CHARS "svn://svn.chromium.org/blink/trunk@"][VarSub do_new_revision][LIT_CHARS " "]]} {[DQ [LIT_CHARS "svn://svn.chromium.org/blink/branches/dart/"][VarSub do_new_branch]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " git svn clone --trunk=trunk --branches=branches/dart"]]} {[DQ [LIT_CHARS " --prefix=blink-svn/ -r165883:HEAD "]]} {[DQ [LIT_CHARS "svn://svn.chromium.org/blink src/third_party/WebKit"]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " cd src/third_party/WebKit"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " git cl rebase"]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "-----After rebase finishes-----"]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " 1. Add the below lines to src/third_party/WebKit/.git/config"]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "[svn-remote "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS dart][VarSub do_old_branch][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "]"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " url = svn://svn.chromium.org/blink/branches/dart/"][VarSub do_old_branch]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " fetch = :refs/remotes/dart"][VarSub do_old_branch]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "[svn-remote "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS dart][VarSub do_new_branch][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "]"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " url = svn://svn.chromium.org/blink/branches/dart/"][VarSub do_new_branch]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " fetch = :refs/remotes/dart"][VarSub do_new_branch]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " 2. Get the code"]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " cd src/third_party/WebKit"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " git svn fetch dart"][VarSub do_old_branch][LIT_CHARS " && git svn fetch dart"][VarSub do_new_branch]]} ) ) ) ) ) (FunctionDef roll_chrome_commands [] (List (= scope= flags=0 words=[] bindings=[('stripped_found', {[ComSub (Com {[LIT_CHARS stripped_exist]})]})]) (= scope= flags=0 words=[] bindings=[('old_branch_found', {[ComSub (Com {[LIT_CHARS trunk_exist]} {[VarSub do_old_branch]})]})]) (= scope= flags=0 words=[] bindings=[('new_branch_found', {[ComSub (Com {[LIT_CHARS trunk_exist]} {[VarSub do_new_branch]})]})]) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "================================================"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "| git commands to run: |"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "================================================"]]} ) (= scope= flags=0 words=[] bindings=[('remoteOld', {[LIT_CHARS dart] [VarSub do_old_branch]})]) (= scope= flags=0 words=[] bindings=[('strip_branch', {[ComSub (Com {[LIT_CHARS stripped_name]})]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub stripped_found]]} {[LIT_DBRACKET_LIKE "="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "------------------ Step 1. ---------------------"]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "git checkout -b "][VarSub strip_branch][LIT_CHARS " "][VarSub remoteOld]]} ) (Com {[LIT_CHARS hash_codes_base_last]} {[VarSub remoteOld]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "git rebase -i "][VarSub hash_base]]} ) (Com {[LIT_CHARS echo]} ) ) (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub old_branch_found]]} {[LIT_DBRACKET_LIKE "="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "------------------ Step 2. ---------------------"]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS hash_codes_base_last]} {[VarSub strip_branch]} ) (= scope= flags=0 words=[] bindings=[('branch_trunkdart_old', {[ComSub (Com {[LIT_CHARS trunkdart_name]} {[VarSub do_old_branch]})]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "git checkout -b "][VarSub branch_trunkdart_old][LIT_CHARS " "][VarSub hash_base]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "git cherry-pick "][VarSub hash_base][LIT_CHARS ..][VarSub hash_last]]} ) (Com {[LIT_CHARS echo]} ) ) (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub new_branch_found]]} {[LIT_DBRACKET_LIKE "="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "------------------ Step 3. ---------------------"]]} ) (Com {[LIT_CHARS echo]} ) (= scope= flags=0 words=[] bindings=[('branch_trunkdart_new', {[ComSub (Com {[LIT_CHARS trunkdart_name]} {[VarSub do_new_branch]})]})]) (Com {[LIT_CHARS hash_codes_base2_last2]} {[VarSub branch_trunkdart_old]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "git checkout -b "][VarSub branch_trunkdart_new][LIT_CHARS " "][VarSub remoteOld]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "git cherry-pick "][VarSub hash_base2][LIT_CHARS ..][VarSub hash_last2]]} ) (Com {[LIT_CHARS echo]} ) ) (ElseTrue) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "===== Nothing to do - Roll setup complete. ====="]]} ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "================================================"]]} ) ) ) (FunctionDef roll_blink_commands [] (List (= scope= flags=0 words=[] bindings=[('stripped_found', {[ComSub (Com {[LIT_CHARS stripped_exist]})]})]) (= scope= flags=0 words=[] bindings=[('old_branch_found', {[ComSub (Com {[LIT_CHARS trunk_exist]} {[VarSub do_old_branch]})]})]) (= scope= flags=0 words=[] bindings=[('new_branch_found', {[ComSub (Com {[LIT_CHARS trunk_exist]} {[VarSub do_new_branch]})]})]) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "================================================"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "| git commands to run: |"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "================================================"]]} ) (= scope= flags=0 words=[] bindings=[('remoteOld', {[LIT_CHARS dart] [VarSub do_old_branch]})]) (= scope= flags=0 words=[] bindings=[('strip_branch', {[ComSub (Com {[LIT_CHARS stripped_name]})]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub stripped_found]]} {[LIT_DBRACKET_LIKE "="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "------------------ Step 1. ---------------------"]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "git checkout -b "][VarSub strip_branch][LIT_CHARS " "][VarSub remoteOld]]} ) (Com {[LIT_CHARS hash_codes_base_last]} {[VarSub remoteOld]} ) (Com {[LIT_CHARS eho]} {[DQ [LIT_CHARS "git rebase -i "][VarSub hash_base]]} ) (Com {[LIT_CHARS echo]} ) ) (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub old_branch_found]]} {[LIT_DBRACKET_LIKE "="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "------------------ Step 2. ---------------------"]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS hash_codes_base_last]} {[VarSub strip_branch]} ) (= scope= flags=0 words=[] bindings=[('branch_trunkdart_old', {[ComSub (Com {[LIT_CHARS trunkdart_name]} {[VarSub do_old_branch]})]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "git checkout -b "][VarSub branch_trunkdart_old][LIT_CHARS " "][VarSub hash_base]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "git cherry-pick "][VarSub hash_base][LIT_CHARS ..][VarSub hash_last]]} ) (Com {[LIT_CHARS echo]} ) ) (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub new_branch_found]]} {[LIT_DBRACKET_LIKE "="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "------------------ Step 3. ---------------------"]]} ) (Com {[LIT_CHARS echo]} ) (= scope= flags=0 words=[] bindings=[('branch_trunkdart_new', {[ComSub (Com {[LIT_CHARS trunkdart_name]} {[VarSub do_new_branch]})]})]) (Com {[LIT_CHARS hash_codes_base2_last2]} {[VarSub branch_trunkdart_old]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "git checkout -b "][VarSub branch_trunkdart_new][LIT_CHARS " "][VarSub remoteOld]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "git cherry-pick "][VarSub hash_base2][LIT_CHARS ..][VarSub hash_last2]]} ) (Com {[LIT_CHARS echo]} ) ) (ElseTrue) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "===== Nothing to do - Roll setup complete. ====="]]} ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "================================================"]]} ) ) ) (= scope= flags=0 words=[] bindings=[('create_branches', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('do_info_hashes', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('base_dir', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('do_pre_roll', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('do_which', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('do_verbose', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('do_old_branch', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('do_old_revision', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('do_new_branch', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('do_new_revision', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('curr_switch', {[DQ ]})]) (For var [{[DQ [VarSub @]]}]) (Case to_match={[DQ [VarSub var]]}, pat_word_list=[[{[LIT_CHARS --help]}], [{[LIT_CHARS --verbose]}], [{[LIT_CHARS --no-verbose]}], [{[LIT_CHARS --chrome]}], [{[LIT_CHARS --blink]}], [{[LIT_CHARS --pre-roll]}], [{[LIT_CHARS --roll]}], [{[LIT_CHARS --info]}], [{[LIT_CHARS --directory]}], [{[LIT_CHARS --old-branch]}], [{[LIT_CHARS --new-branch]}], [{[LIT_CHARS --old-revision]}], [{[LIT_CHARS --new-revision]}], [{[LIT_OTHER "*"]}]] (List (Com {[LIT_CHARS usage]} ) (Com {[LIT_CHARS exit]} ) ) (List (= scope= flags=0 words=[] bindings=[('do_verbose', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('curr_switch', {[DQ ]})]) ) (List (= scope= flags=0 words=[] bindings=[('do_verbose', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('curr_switch', {[DQ ]})]) ) (List (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub do_which]]} {[LIT_NEQUAL "!="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[ComSub (Com {[LIT_CHARS display_error]} {[DQ [LIT_CHARS "--chrome can not be specified with --blink"]]})]} ) (Com {[LIT_CHARS exit]} {[VarSub E_INVALID_ARG]} ) ) ) (= scope= flags=0 words=[] bindings=[('do_which', {[DQ [LIT_CHARS chrome]]})]) (= scope= flags=0 words=[] bindings=[('curr_switch', {[DQ ]})]) ) (List (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub do_which]]} {[LIT_NEQUAL "!="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[ComSub (Com {[LIT_CHARS display_error]} {[DQ [LIT_CHARS "--blink can not be specified with --chrome"]]})]} ) (Com {[LIT_CHARS exit]} {[VarSub E_INVALID_ARG]} ) ) ) (= scope= flags=0 words=[] bindings=[('do_which', {[DQ [LIT_CHARS blink]]})]) (= scope= flags=0 words=[] bindings=[('curr_switch', {[DQ ]})]) ) (List (= scope= flags=0 words=[] bindings=[('do_pre_roll', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('curr_switch', {[DQ ]})]) ) (List (= scope= flags=0 words=[] bindings=[('roll_branches', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('curr_switch', {[DQ ]})]) ) (List (= scope= flags=0 words=[] bindings=[('do_info_hashes', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('curr_switch', {[DQ ]})]) ) (= scope= flags=0 words=[] bindings=[('curr_switch', {[DQ [LIT_CHARS base-directory]]})]) (= scope= flags=0 words=[] bindings=[('curr_switch', {[DQ [LIT_CHARS old-branch]]})]) (= scope= flags=0 words=[] bindings=[('curr_switch', {[DQ [LIT_CHARS new-branch]]})]) (= scope= flags=0 words=[] bindings=[('curr_switch', {[DQ [LIT_CHARS old-revision]]})]) (= scope= flags=0 words=[] bindings=[('curr_switch', {[DQ [LIT_CHARS new-revision]]})]) (List (= scope= flags=0 words=[] bindings=[('prefix', {[VarSub var transform_ops=[Slice {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 2]}}]]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub prefix]]} {[LIT_DBRACKET_LIKE "="]} {[DQ [LIT_CHARS --]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[ComSub (Com {[LIT_CHARS display_error]} {[DQ [LIT_CHARS "unexpected switch "][VarSub var]]})]} ) (Com {[LIT_CHARS exit]} {[VarSub E_INVALID_ARG]} ) ) ) (Case to_match={[DQ [VarSub curr_switch]]}, pat_word_list=[[{[LIT_CHARS base-directory]}], [{[LIT_CHARS old-branch]}], [{[LIT_CHARS old-revision]}], [{[LIT_CHARS new-branch]}], [{[LIT_CHARS new-revision]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('base_dir', {[DQ [VarSub var]]})]) (= scope= flags=0 words=[] bindings=[('do_old_branch', {[DQ [VarSub var]]})]) (= scope= flags=0 words=[] bindings=[('do_old_revision', {[DQ [VarSub var]]})]) (= scope= flags=0 words=[] bindings=[('do_new_branch', {[DQ [VarSub var]]})]) (= scope= flags=0 words=[] bindings=[('do_new_revision', {[DQ [VarSub var]]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub curr_switch]]} {[LIT_NEQUAL "!="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[ComSub (Com {[LIT_CHARS display_error]} {[DQ [LIT_CHARS "unexpected paramter for "][VarSub curr_switch]]})]} ) (Com {[LIT_CHARS exit]} {[VarSub E_INVALID_ARG]} ) ) (ElseTrue) (List (Com {[ComSub (Com {[LIT_CHARS display_error]} {[DQ [LIT_CHARS "unexpected switch "][VarSub var]]})]} ) (Com {[LIT_CHARS exit]} {[VarSub E_INVALID_ARG]} ) ) ) ) (= scope= flags=0 words=[] bindings=[('curr_switch', {[DQ ]})]) ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub base_dir]]} {[LIT_DBRACKET_LIKE "="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "--directory switch must be specified."]]} ) (Com {[LIT_CHARS exit]} {[VarSub E_INVALID_ARG]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub do_which]]} {[LIT_DBRACKET_LIKE "=="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "--chrome or --blink switch must be specified."]]} ) (Com {[LIT_CHARS exit]} {[VarSub E_INVALID_ARG]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub do_old_branch]]} {[LIT_DBRACKET_LIKE "="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Enter LAST "][VarSub do_which][LIT_CHARS " true branch (e.g., Chrome version 34.0.1847.92 true branch is 1847)"]]} ) (Com {[LIT_CHARS read]} {[LIT_CHARS do_old_branch]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub do_old_revision]]} {[LIT_DBRACKET_LIKE "="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Enter LAST "][VarSub do_which][LIT_CHARS " base trunk revision #"]]} ) (Com {[LIT_CHARS read]} {[LIT_CHARS do_old_revision]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub do_new_branch]]} {[LIT_DBRACKET_LIKE "="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Enter NEW "][VarSub do_which][LIT_CHARS " true branch (e.g., Chrome version 35.0.1908.4 true branch is 1908)"]]} ) (Com {[LIT_CHARS read]} {[LIT_CHARS do_new_branch]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub do_new_revision]]} {[LIT_DBRACKET_LIKE "="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Enter NEW "][VarSub do_which][LIT_CHARS " base trunk revision #"]]} ) (Com {[LIT_CHARS read]} {[LIT_CHARS do_new_revision]} ) ) ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Rolling new branch "][VarSub do_new_branch][LIT_CHARS "@"][VarSub do_new_revision]]} ) (Com {[LIT_CHARS verbose_message]} ) (Com {[LIT_CHARS verbose_message]} {[DQ [LIT_CHARS "Previous branch "][VarSub do_old_branch][LIT_CHARS "@"][VarSub do_old_revision]]} ) (Com {[LIT_CHARS verbose_message]} {[DQ [LIT_CHARS "New branch "][VarSub do_new_branch][LIT_CHARS "@"][VarSub do_new_revision]]} ) (Com {[LIT_CHARS verbose_message]} ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub do_pre_roll]]} {[DQ [LIT_CHARS 1]]}}) (List (Com {[LIT_CHARS display_remote_repository_creation]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (Com {[LIT_CHARS pushd]} {[LIT_CHARS .]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub base_dir]]} {[LIT_NEQUAL "!="]} {[DQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS cd]} {[VarSub base_dir]} ) ) (Com {[LIT_CHARS cd]} {[LIT_CHARS src]} ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub do_which]]} {[LIT_DBRACKET_LIKE "="]} {[DQ [LIT_CHARS blink]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS cd]} {[LIT_CHARS third_party/WebKit]} ) ) (Com {[LIT_CHARS trap]} {[SQ ]} {[LIT_CHARS INT]} ) (Com {[LIT_CHARS trap]} {[SQ ]} {[LIT_CHARS TSTP]} ) (Com {[LIT_CHARS validate_remotes]} ) (Com {[LIT_CHARS display_roll_commands]} ) (Com {[LIT_CHARS display_hashes]} ) (Com {[LIT_CHARS validate_branches]} ) (Com {[LIT_CHARS trap]} {[LIT_CHARS -]} {[LIT_CHARS INT]} ) (Com {[LIT_CHARS trap]} {[LIT_CHARS -]} {[LIT_CHARS TSTP]} ) (Com {[LIT_CHARS popd]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) )