<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.11"/> <title>proxygen: upload.SubversionVCS Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> $(document).ready(initResizable); $(window).load(resizeHeight); </script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">proxygen </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.11 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> $(document).ready(function(){initNavTree('classupload_1_1SubversionVCS.html','');}); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-attribs">Public Attributes</a> | <a href="#pri-methods">Private Member Functions</a> | <a href="classupload_1_1SubversionVCS-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">upload.SubversionVCS Class Reference</div> </div> </div><!--header--> <div class="contents"> <div class="dynheader"> Inheritance diagram for upload.SubversionVCS:</div> <div class="dyncontent"> <div class="center"> <img src="classupload_1_1SubversionVCS.png" usemap="#upload.SubversionVCS_map" alt=""/> <map id="upload.SubversionVCS_map" name="upload.SubversionVCS_map"> <area href="classupload_1_1VersionControlSystem.html" alt="upload.VersionControlSystem" shape="rect" coords="0,336,179,360"/> <area href="classupload_1_1VersionControlSystem.html" alt="upload.VersionControlSystem" shape="rect" coords="378,336,557,360"/> <area href="classupload_1_1VersionControlSystem.html" alt="upload.VersionControlSystem" shape="rect" coords="756,336,935,360"/> <area href="classupload_1_1VersionControlSystem.html" alt="upload.VersionControlSystem" shape="rect" coords="1134,336,1313,360"/> <area href="classupload_1_1VersionControlSystem.html" alt="upload.VersionControlSystem" shape="rect" coords="1512,336,1691,360"/> <area href="classupload_1_1VersionControlSystem.html" alt="upload.VersionControlSystem" shape="rect" coords="1890,336,2069,360"/> </map> </div></div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a8333f94e27335ce83eed0cc3f5a1eeb0"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">__init__</a> (self, <a class="el" href="classupload_1_1VersionControlSystem.html#a4d57d043bc408887b94269fe4cea9556">options</a>)</td></tr> <tr class="separator:a8333f94e27335ce83eed0cc3f5a1eeb0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7d22d459469a757270502ce0dccacbd2"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2">GuessBase</a> (self, required)</td></tr> <tr class="separator:a7d22d459469a757270502ce0dccacbd2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a07c2d341f2c7df2772dd7f85e89b0212"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212">GenerateDiff</a> (self, args)</td></tr> <tr class="separator:a07c2d341f2c7df2772dd7f85e89b0212"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a494ba1010992d83cac015bc396ab693a"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a">GetUnknownFiles</a> (self)</td></tr> <tr class="separator:a494ba1010992d83cac015bc396ab693a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a340d269b74386ac863636f6b0683d9f4"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a> (self, filename)</td></tr> <tr class="separator:a340d269b74386ac863636f6b0683d9f4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac3785eb1fa561088206d01570f9fe982"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">GetStatus</a> (self, filename)</td></tr> <tr class="separator:ac3785eb1fa561088206d01570f9fe982"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a29dec4941de0824734d6842a2f33ffc3"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3">GetBaseFile</a> (self, filename)</td></tr> <tr class="separator:a29dec4941de0824734d6842a2f33ffc3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8333f94e27335ce83eed0cc3f5a1eeb0"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">__init__</a> (self, <a class="el" href="classupload_1_1VersionControlSystem.html#a4d57d043bc408887b94269fe4cea9556">options</a>)</td></tr> <tr class="separator:a8333f94e27335ce83eed0cc3f5a1eeb0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7d22d459469a757270502ce0dccacbd2"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2">GuessBase</a> (self, required)</td></tr> <tr class="separator:a7d22d459469a757270502ce0dccacbd2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a07c2d341f2c7df2772dd7f85e89b0212"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212">GenerateDiff</a> (self, args)</td></tr> <tr class="separator:a07c2d341f2c7df2772dd7f85e89b0212"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a494ba1010992d83cac015bc396ab693a"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a">GetUnknownFiles</a> (self)</td></tr> <tr class="separator:a494ba1010992d83cac015bc396ab693a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a340d269b74386ac863636f6b0683d9f4"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a> (self, filename)</td></tr> <tr class="separator:a340d269b74386ac863636f6b0683d9f4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac3785eb1fa561088206d01570f9fe982"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">GetStatus</a> (self, filename)</td></tr> <tr class="separator:ac3785eb1fa561088206d01570f9fe982"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a29dec4941de0824734d6842a2f33ffc3"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3">GetBaseFile</a> (self, filename)</td></tr> <tr class="separator:a29dec4941de0824734d6842a2f33ffc3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8333f94e27335ce83eed0cc3f5a1eeb0"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">__init__</a> (self, <a class="el" href="classupload_1_1VersionControlSystem.html#a4d57d043bc408887b94269fe4cea9556">options</a>)</td></tr> <tr class="separator:a8333f94e27335ce83eed0cc3f5a1eeb0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7d22d459469a757270502ce0dccacbd2"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2">GuessBase</a> (self, required)</td></tr> <tr class="separator:a7d22d459469a757270502ce0dccacbd2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a07c2d341f2c7df2772dd7f85e89b0212"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212">GenerateDiff</a> (self, args)</td></tr> <tr class="separator:a07c2d341f2c7df2772dd7f85e89b0212"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a494ba1010992d83cac015bc396ab693a"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a">GetUnknownFiles</a> (self)</td></tr> <tr class="separator:a494ba1010992d83cac015bc396ab693a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a340d269b74386ac863636f6b0683d9f4"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a> (self, filename)</td></tr> <tr class="separator:a340d269b74386ac863636f6b0683d9f4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac3785eb1fa561088206d01570f9fe982"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">GetStatus</a> (self, filename)</td></tr> <tr class="separator:ac3785eb1fa561088206d01570f9fe982"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a29dec4941de0824734d6842a2f33ffc3"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3">GetBaseFile</a> (self, filename)</td></tr> <tr class="separator:a29dec4941de0824734d6842a2f33ffc3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8333f94e27335ce83eed0cc3f5a1eeb0"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">__init__</a> (self, <a class="el" href="classupload_1_1VersionControlSystem.html#a4d57d043bc408887b94269fe4cea9556">options</a>)</td></tr> <tr class="separator:a8333f94e27335ce83eed0cc3f5a1eeb0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7d22d459469a757270502ce0dccacbd2"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2">GuessBase</a> (self, required)</td></tr> <tr class="separator:a7d22d459469a757270502ce0dccacbd2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a07c2d341f2c7df2772dd7f85e89b0212"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212">GenerateDiff</a> (self, args)</td></tr> <tr class="separator:a07c2d341f2c7df2772dd7f85e89b0212"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a494ba1010992d83cac015bc396ab693a"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a">GetUnknownFiles</a> (self)</td></tr> <tr class="separator:a494ba1010992d83cac015bc396ab693a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a340d269b74386ac863636f6b0683d9f4"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a> (self, filename)</td></tr> <tr class="separator:a340d269b74386ac863636f6b0683d9f4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac3785eb1fa561088206d01570f9fe982"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">GetStatus</a> (self, filename)</td></tr> <tr class="separator:ac3785eb1fa561088206d01570f9fe982"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a29dec4941de0824734d6842a2f33ffc3"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3">GetBaseFile</a> (self, filename)</td></tr> <tr class="separator:a29dec4941de0824734d6842a2f33ffc3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8333f94e27335ce83eed0cc3f5a1eeb0"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">__init__</a> (self, <a class="el" href="classupload_1_1VersionControlSystem.html#a4d57d043bc408887b94269fe4cea9556">options</a>)</td></tr> <tr class="separator:a8333f94e27335ce83eed0cc3f5a1eeb0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7d22d459469a757270502ce0dccacbd2"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2">GuessBase</a> (self, required)</td></tr> <tr class="separator:a7d22d459469a757270502ce0dccacbd2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a07c2d341f2c7df2772dd7f85e89b0212"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212">GenerateDiff</a> (self, args)</td></tr> <tr class="separator:a07c2d341f2c7df2772dd7f85e89b0212"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a494ba1010992d83cac015bc396ab693a"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a">GetUnknownFiles</a> (self)</td></tr> <tr class="separator:a494ba1010992d83cac015bc396ab693a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a340d269b74386ac863636f6b0683d9f4"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a> (self, filename)</td></tr> <tr class="separator:a340d269b74386ac863636f6b0683d9f4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac3785eb1fa561088206d01570f9fe982"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">GetStatus</a> (self, filename)</td></tr> <tr class="separator:ac3785eb1fa561088206d01570f9fe982"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a29dec4941de0824734d6842a2f33ffc3"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3">GetBaseFile</a> (self, filename)</td></tr> <tr class="separator:a29dec4941de0824734d6842a2f33ffc3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8333f94e27335ce83eed0cc3f5a1eeb0"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">__init__</a> (self, <a class="el" href="classupload_1_1VersionControlSystem.html#a4d57d043bc408887b94269fe4cea9556">options</a>)</td></tr> <tr class="separator:a8333f94e27335ce83eed0cc3f5a1eeb0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7d22d459469a757270502ce0dccacbd2"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2">GuessBase</a> (self, required)</td></tr> <tr class="separator:a7d22d459469a757270502ce0dccacbd2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a07c2d341f2c7df2772dd7f85e89b0212"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212">GenerateDiff</a> (self, args)</td></tr> <tr class="separator:a07c2d341f2c7df2772dd7f85e89b0212"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a494ba1010992d83cac015bc396ab693a"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a">GetUnknownFiles</a> (self)</td></tr> <tr class="separator:a494ba1010992d83cac015bc396ab693a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a340d269b74386ac863636f6b0683d9f4"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a> (self, filename)</td></tr> <tr class="separator:a340d269b74386ac863636f6b0683d9f4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac3785eb1fa561088206d01570f9fe982"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">GetStatus</a> (self, filename)</td></tr> <tr class="separator:ac3785eb1fa561088206d01570f9fe982"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a29dec4941de0824734d6842a2f33ffc3"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3">GetBaseFile</a> (self, filename)</td></tr> <tr class="separator:a29dec4941de0824734d6842a2f33ffc3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pub_methods_classupload_1_1VersionControlSystem"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classupload_1_1VersionControlSystem')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classupload_1_1VersionControlSystem.html">upload.VersionControlSystem</a></td></tr> <tr class="memitem:ace97e5785a2b40011404ae6fbb956ecf inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#ace97e5785a2b40011404ae6fbb956ecf">__init__</a> (self, <a class="el" href="classupload_1_1VersionControlSystem.html#a4d57d043bc408887b94269fe4cea9556">options</a>)</td></tr> <tr class="separator:ace97e5785a2b40011404ae6fbb956ecf inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa5eb260c96e7016dab36b5fc136c9f49 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#aa5eb260c96e7016dab36b5fc136c9f49">GenerateDiff</a> (self, args)</td></tr> <tr class="separator:aa5eb260c96e7016dab36b5fc136c9f49 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a56a60e56aa9aff3df4001d2f84cab884 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a56a60e56aa9aff3df4001d2f84cab884">GetUnknownFiles</a> (self)</td></tr> <tr class="separator:a56a60e56aa9aff3df4001d2f84cab884 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad2923d691a1b1047e9359c5b7c1c103f inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#ad2923d691a1b1047e9359c5b7c1c103f">CheckForUnknownFiles</a> (self)</td></tr> <tr class="separator:ad2923d691a1b1047e9359c5b7c1c103f inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adfd9d4ecba422102233a2ba13e5bfaf5 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#adfd9d4ecba422102233a2ba13e5bfaf5">GetBaseFile</a> (self, filename)</td></tr> <tr class="separator:adfd9d4ecba422102233a2ba13e5bfaf5 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a812c3b3daf90c88b015fa4b26252e291 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a812c3b3daf90c88b015fa4b26252e291">GetBaseFiles</a> (self, <a class="el" href="FutexTest_8cpp.html#a20a35239944e6c8935103e8d109ead23">diff</a>)</td></tr> <tr class="separator:a812c3b3daf90c88b015fa4b26252e291 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7e334f967301b9e85e5a9c39f5036823 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a7e334f967301b9e85e5a9c39f5036823">UploadBaseFiles</a> (self, issue, rpc_server, patch_list, patchset, <a class="el" href="classupload_1_1VersionControlSystem.html#a4d57d043bc408887b94269fe4cea9556">options</a>, files)</td></tr> <tr class="separator:a7e334f967301b9e85e5a9c39f5036823 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a846889ecd2ef40870b456ddb5b349e02 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">IsImage</a> (self, filename)</td></tr> <tr class="separator:a846889ecd2ef40870b456ddb5b349e02 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ace97e5785a2b40011404ae6fbb956ecf inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#ace97e5785a2b40011404ae6fbb956ecf">__init__</a> (self, <a class="el" href="classupload_1_1VersionControlSystem.html#a4d57d043bc408887b94269fe4cea9556">options</a>)</td></tr> <tr class="separator:ace97e5785a2b40011404ae6fbb956ecf inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa5eb260c96e7016dab36b5fc136c9f49 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#aa5eb260c96e7016dab36b5fc136c9f49">GenerateDiff</a> (self, args)</td></tr> <tr class="separator:aa5eb260c96e7016dab36b5fc136c9f49 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a56a60e56aa9aff3df4001d2f84cab884 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a56a60e56aa9aff3df4001d2f84cab884">GetUnknownFiles</a> (self)</td></tr> <tr class="separator:a56a60e56aa9aff3df4001d2f84cab884 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad2923d691a1b1047e9359c5b7c1c103f inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#ad2923d691a1b1047e9359c5b7c1c103f">CheckForUnknownFiles</a> (self)</td></tr> <tr class="separator:ad2923d691a1b1047e9359c5b7c1c103f inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adfd9d4ecba422102233a2ba13e5bfaf5 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#adfd9d4ecba422102233a2ba13e5bfaf5">GetBaseFile</a> (self, filename)</td></tr> <tr class="separator:adfd9d4ecba422102233a2ba13e5bfaf5 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a812c3b3daf90c88b015fa4b26252e291 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a812c3b3daf90c88b015fa4b26252e291">GetBaseFiles</a> (self, <a class="el" href="FutexTest_8cpp.html#a20a35239944e6c8935103e8d109ead23">diff</a>)</td></tr> <tr class="separator:a812c3b3daf90c88b015fa4b26252e291 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7e334f967301b9e85e5a9c39f5036823 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a7e334f967301b9e85e5a9c39f5036823">UploadBaseFiles</a> (self, issue, rpc_server, patch_list, patchset, <a class="el" href="classupload_1_1VersionControlSystem.html#a4d57d043bc408887b94269fe4cea9556">options</a>, files)</td></tr> <tr class="separator:a7e334f967301b9e85e5a9c39f5036823 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a846889ecd2ef40870b456ddb5b349e02 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">IsImage</a> (self, filename)</td></tr> <tr class="separator:a846889ecd2ef40870b456ddb5b349e02 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ace97e5785a2b40011404ae6fbb956ecf inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#ace97e5785a2b40011404ae6fbb956ecf">__init__</a> (self, <a class="el" href="classupload_1_1VersionControlSystem.html#a4d57d043bc408887b94269fe4cea9556">options</a>)</td></tr> <tr class="separator:ace97e5785a2b40011404ae6fbb956ecf inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa5eb260c96e7016dab36b5fc136c9f49 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#aa5eb260c96e7016dab36b5fc136c9f49">GenerateDiff</a> (self, args)</td></tr> <tr class="separator:aa5eb260c96e7016dab36b5fc136c9f49 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a56a60e56aa9aff3df4001d2f84cab884 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a56a60e56aa9aff3df4001d2f84cab884">GetUnknownFiles</a> (self)</td></tr> <tr class="separator:a56a60e56aa9aff3df4001d2f84cab884 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad2923d691a1b1047e9359c5b7c1c103f inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#ad2923d691a1b1047e9359c5b7c1c103f">CheckForUnknownFiles</a> (self)</td></tr> <tr class="separator:ad2923d691a1b1047e9359c5b7c1c103f inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adfd9d4ecba422102233a2ba13e5bfaf5 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#adfd9d4ecba422102233a2ba13e5bfaf5">GetBaseFile</a> (self, filename)</td></tr> <tr class="separator:adfd9d4ecba422102233a2ba13e5bfaf5 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a812c3b3daf90c88b015fa4b26252e291 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a812c3b3daf90c88b015fa4b26252e291">GetBaseFiles</a> (self, <a class="el" href="FutexTest_8cpp.html#a20a35239944e6c8935103e8d109ead23">diff</a>)</td></tr> <tr class="separator:a812c3b3daf90c88b015fa4b26252e291 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7e334f967301b9e85e5a9c39f5036823 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a7e334f967301b9e85e5a9c39f5036823">UploadBaseFiles</a> (self, issue, rpc_server, patch_list, patchset, <a class="el" href="classupload_1_1VersionControlSystem.html#a4d57d043bc408887b94269fe4cea9556">options</a>, files)</td></tr> <tr class="separator:a7e334f967301b9e85e5a9c39f5036823 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a846889ecd2ef40870b456ddb5b349e02 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">IsImage</a> (self, filename)</td></tr> <tr class="separator:a846889ecd2ef40870b456ddb5b349e02 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ace97e5785a2b40011404ae6fbb956ecf inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#ace97e5785a2b40011404ae6fbb956ecf">__init__</a> (self, <a class="el" href="classupload_1_1VersionControlSystem.html#a4d57d043bc408887b94269fe4cea9556">options</a>)</td></tr> <tr class="separator:ace97e5785a2b40011404ae6fbb956ecf inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa5eb260c96e7016dab36b5fc136c9f49 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#aa5eb260c96e7016dab36b5fc136c9f49">GenerateDiff</a> (self, args)</td></tr> <tr class="separator:aa5eb260c96e7016dab36b5fc136c9f49 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a56a60e56aa9aff3df4001d2f84cab884 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a56a60e56aa9aff3df4001d2f84cab884">GetUnknownFiles</a> (self)</td></tr> <tr class="separator:a56a60e56aa9aff3df4001d2f84cab884 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad2923d691a1b1047e9359c5b7c1c103f inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#ad2923d691a1b1047e9359c5b7c1c103f">CheckForUnknownFiles</a> (self)</td></tr> <tr class="separator:ad2923d691a1b1047e9359c5b7c1c103f inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adfd9d4ecba422102233a2ba13e5bfaf5 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#adfd9d4ecba422102233a2ba13e5bfaf5">GetBaseFile</a> (self, filename)</td></tr> <tr class="separator:adfd9d4ecba422102233a2ba13e5bfaf5 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a812c3b3daf90c88b015fa4b26252e291 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a812c3b3daf90c88b015fa4b26252e291">GetBaseFiles</a> (self, <a class="el" href="FutexTest_8cpp.html#a20a35239944e6c8935103e8d109ead23">diff</a>)</td></tr> <tr class="separator:a812c3b3daf90c88b015fa4b26252e291 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7e334f967301b9e85e5a9c39f5036823 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a7e334f967301b9e85e5a9c39f5036823">UploadBaseFiles</a> (self, issue, rpc_server, patch_list, patchset, <a class="el" href="classupload_1_1VersionControlSystem.html#a4d57d043bc408887b94269fe4cea9556">options</a>, files)</td></tr> <tr class="separator:a7e334f967301b9e85e5a9c39f5036823 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a846889ecd2ef40870b456ddb5b349e02 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">IsImage</a> (self, filename)</td></tr> <tr class="separator:a846889ecd2ef40870b456ddb5b349e02 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ace97e5785a2b40011404ae6fbb956ecf inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#ace97e5785a2b40011404ae6fbb956ecf">__init__</a> (self, <a class="el" href="classupload_1_1VersionControlSystem.html#a4d57d043bc408887b94269fe4cea9556">options</a>)</td></tr> <tr class="separator:ace97e5785a2b40011404ae6fbb956ecf inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa5eb260c96e7016dab36b5fc136c9f49 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#aa5eb260c96e7016dab36b5fc136c9f49">GenerateDiff</a> (self, args)</td></tr> <tr class="separator:aa5eb260c96e7016dab36b5fc136c9f49 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a56a60e56aa9aff3df4001d2f84cab884 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a56a60e56aa9aff3df4001d2f84cab884">GetUnknownFiles</a> (self)</td></tr> <tr class="separator:a56a60e56aa9aff3df4001d2f84cab884 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad2923d691a1b1047e9359c5b7c1c103f inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#ad2923d691a1b1047e9359c5b7c1c103f">CheckForUnknownFiles</a> (self)</td></tr> <tr class="separator:ad2923d691a1b1047e9359c5b7c1c103f inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adfd9d4ecba422102233a2ba13e5bfaf5 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#adfd9d4ecba422102233a2ba13e5bfaf5">GetBaseFile</a> (self, filename)</td></tr> <tr class="separator:adfd9d4ecba422102233a2ba13e5bfaf5 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a812c3b3daf90c88b015fa4b26252e291 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a812c3b3daf90c88b015fa4b26252e291">GetBaseFiles</a> (self, <a class="el" href="FutexTest_8cpp.html#a20a35239944e6c8935103e8d109ead23">diff</a>)</td></tr> <tr class="separator:a812c3b3daf90c88b015fa4b26252e291 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7e334f967301b9e85e5a9c39f5036823 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a7e334f967301b9e85e5a9c39f5036823">UploadBaseFiles</a> (self, issue, rpc_server, patch_list, patchset, <a class="el" href="classupload_1_1VersionControlSystem.html#a4d57d043bc408887b94269fe4cea9556">options</a>, files)</td></tr> <tr class="separator:a7e334f967301b9e85e5a9c39f5036823 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a846889ecd2ef40870b456ddb5b349e02 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">IsImage</a> (self, filename)</td></tr> <tr class="separator:a846889ecd2ef40870b456ddb5b349e02 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ace97e5785a2b40011404ae6fbb956ecf inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#ace97e5785a2b40011404ae6fbb956ecf">__init__</a> (self, <a class="el" href="classupload_1_1VersionControlSystem.html#a4d57d043bc408887b94269fe4cea9556">options</a>)</td></tr> <tr class="separator:ace97e5785a2b40011404ae6fbb956ecf inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa5eb260c96e7016dab36b5fc136c9f49 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#aa5eb260c96e7016dab36b5fc136c9f49">GenerateDiff</a> (self, args)</td></tr> <tr class="separator:aa5eb260c96e7016dab36b5fc136c9f49 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a56a60e56aa9aff3df4001d2f84cab884 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a56a60e56aa9aff3df4001d2f84cab884">GetUnknownFiles</a> (self)</td></tr> <tr class="separator:a56a60e56aa9aff3df4001d2f84cab884 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad2923d691a1b1047e9359c5b7c1c103f inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#ad2923d691a1b1047e9359c5b7c1c103f">CheckForUnknownFiles</a> (self)</td></tr> <tr class="separator:ad2923d691a1b1047e9359c5b7c1c103f inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adfd9d4ecba422102233a2ba13e5bfaf5 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#adfd9d4ecba422102233a2ba13e5bfaf5">GetBaseFile</a> (self, filename)</td></tr> <tr class="separator:adfd9d4ecba422102233a2ba13e5bfaf5 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a812c3b3daf90c88b015fa4b26252e291 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a812c3b3daf90c88b015fa4b26252e291">GetBaseFiles</a> (self, <a class="el" href="FutexTest_8cpp.html#a20a35239944e6c8935103e8d109ead23">diff</a>)</td></tr> <tr class="separator:a812c3b3daf90c88b015fa4b26252e291 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7e334f967301b9e85e5a9c39f5036823 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a7e334f967301b9e85e5a9c39f5036823">UploadBaseFiles</a> (self, issue, rpc_server, patch_list, patchset, <a class="el" href="classupload_1_1VersionControlSystem.html#a4d57d043bc408887b94269fe4cea9556">options</a>, files)</td></tr> <tr class="separator:a7e334f967301b9e85e5a9c39f5036823 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a846889ecd2ef40870b456ddb5b349e02 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">IsImage</a> (self, filename)</td></tr> <tr class="separator:a846889ecd2ef40870b456ddb5b349e02 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a> Public Attributes</h2></td></tr> <tr class="memitem:ad1553a69f4a790309273dbdeb9077732"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a></td></tr> <tr class="separator:ad1553a69f4a790309273dbdeb9077732"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac0bb07a099c722b7f8622de4b225904f"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a></td></tr> <tr class="separator:ac0bb07a099c722b7f8622de4b225904f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa801782f807674b06f491df5d7ca9942"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a></td></tr> <tr class="separator:aa801782f807674b06f491df5d7ca9942"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a60645c40d2fea4cd52881576bd13341f"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a></td></tr> <tr class="separator:a60645c40d2fea4cd52881576bd13341f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pub_attribs_classupload_1_1VersionControlSystem"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classupload_1_1VersionControlSystem')"><img src="closed.png" alt="-"/> Public Attributes inherited from <a class="el" href="classupload_1_1VersionControlSystem.html">upload.VersionControlSystem</a></td></tr> <tr class="memitem:a4d57d043bc408887b94269fe4cea9556 inherit pub_attribs_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1VersionControlSystem.html#a4d57d043bc408887b94269fe4cea9556">options</a></td></tr> <tr class="separator:a4d57d043bc408887b94269fe4cea9556 inherit pub_attribs_classupload_1_1VersionControlSystem"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a> Private Member Functions</h2></td></tr> <tr class="memitem:ad257205675d7d9d291145f4aa405964b"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">_GuessBase</a> (self, required)</td></tr> <tr class="separator:ad257205675d7d9d291145f4aa405964b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab484ddd61e217927fb61639bacdbb68d"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">_CollapseKeywords</a> (self, content, keyword_str)</td></tr> <tr class="separator:ab484ddd61e217927fb61639bacdbb68d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad257205675d7d9d291145f4aa405964b"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">_GuessBase</a> (self, required)</td></tr> <tr class="separator:ad257205675d7d9d291145f4aa405964b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab484ddd61e217927fb61639bacdbb68d"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">_CollapseKeywords</a> (self, content, keyword_str)</td></tr> <tr class="separator:ab484ddd61e217927fb61639bacdbb68d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad257205675d7d9d291145f4aa405964b"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">_GuessBase</a> (self, required)</td></tr> <tr class="separator:ad257205675d7d9d291145f4aa405964b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab484ddd61e217927fb61639bacdbb68d"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">_CollapseKeywords</a> (self, content, keyword_str)</td></tr> <tr class="separator:ab484ddd61e217927fb61639bacdbb68d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad257205675d7d9d291145f4aa405964b"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">_GuessBase</a> (self, required)</td></tr> <tr class="separator:ad257205675d7d9d291145f4aa405964b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab484ddd61e217927fb61639bacdbb68d"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">_CollapseKeywords</a> (self, content, keyword_str)</td></tr> <tr class="separator:ab484ddd61e217927fb61639bacdbb68d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad257205675d7d9d291145f4aa405964b"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">_GuessBase</a> (self, required)</td></tr> <tr class="separator:ad257205675d7d9d291145f4aa405964b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab484ddd61e217927fb61639bacdbb68d"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">_CollapseKeywords</a> (self, content, keyword_str)</td></tr> <tr class="separator:ab484ddd61e217927fb61639bacdbb68d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad257205675d7d9d291145f4aa405964b"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">_GuessBase</a> (self, required)</td></tr> <tr class="separator:ad257205675d7d9d291145f4aa405964b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab484ddd61e217927fb61639bacdbb68d"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">_CollapseKeywords</a> (self, content, keyword_str)</td></tr> <tr class="separator:ab484ddd61e217927fb61639bacdbb68d"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><pre class="fragment">Implementation of the VersionControlSystem interface for Subversion.</pre> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00721">721</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> </div><h2 class="groupheader">Constructor & Destructor Documentation</h2> <a class="anchor" id="a8333f94e27335ce83eed0cc3f5a1eeb0"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.__init__ </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>options</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00724">724</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>.</p> <p>Referenced by <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00724">upload.SubversionVCS.__init__()</a>.</p> <div class="fragment"><div class="line"><a name="l00724"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0"> 724</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">__init__</a>(self, options):</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  super(SubversionVCS, self).<a class="code" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">__init__</a>(options)</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  match = re.match(<span class="stringliteral">r"(\d+)(:(\d+))?"</span>, self.options.revision)</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> match:</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Invalid Subversion revision %s."</span> % self.options.revision)</div><div class="line"><a name="l00730"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732"> 730</a></span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a> = match.group(1)</div><div class="line"><a name="l00731"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f"> 731</a></span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a> = match.group(3)</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a> = self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  <span class="comment"># Cache output from "svn list -r REVNO dirname".</span></div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  <span class="comment"># Keys: dirname, Values: 2-tuple (ouput for start rev and end rev).</span></div><div class="line"><a name="l00736"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942"> 736</a></span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a> = {}</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  <span class="comment"># SVN base URL is required to fetch files deleted in an older revision.</span></div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <span class="comment"># Result is cached to not guess it over and over again in GetBaseFile().</span></div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  required = self.options.download_base <span class="keywordflow">or</span> self.options.revision <span class="keywordflow">is</span> <span class="keywordflow">not</span> <span class="keywordtype">None</span></div><div class="line"><a name="l00740"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f"> 740</a></span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a> = self.<a class="code" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">_GuessBase</a>(required)</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_ad257205675d7d9d291145f4aa405964b"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">upload.SubversionVCS._GuessBase</a></div><div class="ttdeci">def _GuessBase(self, required)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.py:746</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ad1553a69f4a790309273dbdeb9077732"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">upload.SubversionVCS.rev_start</a></div><div class="ttdeci">rev_start</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.py:730</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac0bb07a099c722b7f8622de4b225904f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">upload.SubversionVCS.rev_end</a></div><div class="ttdeci">rev_end</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.py:731</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a8333f94e27335ce83eed0cc3f5a1eeb0"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">upload.SubversionVCS.__init__</a></div><div class="ttdeci">def __init__(self, options)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00724">upload.py:724</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a60645c40d2fea4cd52881576bd13341f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">upload.SubversionVCS.svn_base</a></div><div class="ttdeci">svn_base</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.py:740</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_aa801782f807674b06f491df5d7ca9942"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">upload.SubversionVCS.svnls_cache</a></div><div class="ttdeci">svnls_cache</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.py:736</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a8333f94e27335ce83eed0cc3f5a1eeb0"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.__init__ </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>options</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00724">724</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00724">upload.SubversionVCS.__init__()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.SubversionVCS._GuessBase()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.SubversionVCS.rev_end</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.SubversionVCS.rev_start</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.SubversionVCS.svn_base</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.SubversionVCS.svnls_cache</a>.</p> <div class="fragment"><div class="line"><a name="l00724"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0"> 724</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">__init__</a>(self, options):</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  super(SubversionVCS, self).<a class="code" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">__init__</a>(options)</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  match = re.match(<span class="stringliteral">r"(\d+)(:(\d+))?"</span>, self.options.revision)</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> match:</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Invalid Subversion revision %s."</span> % self.options.revision)</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a> = match.group(1)</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a> = match.group(3)</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a> = self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  <span class="comment"># Cache output from "svn list -r REVNO dirname".</span></div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  <span class="comment"># Keys: dirname, Values: 2-tuple (ouput for start rev and end rev).</span></div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a> = {}</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  <span class="comment"># SVN base URL is required to fetch files deleted in an older revision.</span></div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <span class="comment"># Result is cached to not guess it over and over again in GetBaseFile().</span></div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  required = self.options.download_base <span class="keywordflow">or</span> self.options.revision <span class="keywordflow">is</span> <span class="keywordflow">not</span> <span class="keywordtype">None</span></div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a> = self.<a class="code" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">_GuessBase</a>(required)</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_ad257205675d7d9d291145f4aa405964b"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">upload.SubversionVCS._GuessBase</a></div><div class="ttdeci">def _GuessBase(self, required)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.py:746</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ad1553a69f4a790309273dbdeb9077732"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">upload.SubversionVCS.rev_start</a></div><div class="ttdeci">rev_start</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.py:730</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac0bb07a099c722b7f8622de4b225904f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">upload.SubversionVCS.rev_end</a></div><div class="ttdeci">rev_end</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.py:731</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a8333f94e27335ce83eed0cc3f5a1eeb0"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">upload.SubversionVCS.__init__</a></div><div class="ttdeci">def __init__(self, options)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00724">upload.py:724</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a60645c40d2fea4cd52881576bd13341f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">upload.SubversionVCS.svn_base</a></div><div class="ttdeci">svn_base</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.py:740</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_aa801782f807674b06f491df5d7ca9942"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">upload.SubversionVCS.svnls_cache</a></div><div class="ttdeci">svnls_cache</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.py:736</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a8333f94e27335ce83eed0cc3f5a1eeb0"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.__init__ </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>options</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="lib_2test_2googletest-release-1_88_80_2googlemock_2scripts_2upload_8py_source.html#l00724">724</a> of file <a class="el" href="lib_2test_2googletest-release-1_88_80_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00724">upload.SubversionVCS.__init__()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.SubversionVCS._GuessBase()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.SubversionVCS.rev_end</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.SubversionVCS.rev_start</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.SubversionVCS.svn_base</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.SubversionVCS.svnls_cache</a>.</p> <div class="fragment"><div class="line"><a name="l00724"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0"> 724</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">__init__</a>(self, options):</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  super(SubversionVCS, self).<a class="code" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">__init__</a>(options)</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  match = re.match(<span class="stringliteral">r"(\d+)(:(\d+))?"</span>, self.options.revision)</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> match:</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Invalid Subversion revision %s."</span> % self.options.revision)</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a> = match.group(1)</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a> = match.group(3)</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a> = self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  <span class="comment"># Cache output from "svn list -r REVNO dirname".</span></div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  <span class="comment"># Keys: dirname, Values: 2-tuple (ouput for start rev and end rev).</span></div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a> = {}</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  <span class="comment"># SVN base URL is required to fetch files deleted in an older revision.</span></div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <span class="comment"># Result is cached to not guess it over and over again in GetBaseFile().</span></div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  required = self.options.download_base <span class="keywordflow">or</span> self.options.revision <span class="keywordflow">is</span> <span class="keywordflow">not</span> <span class="keywordtype">None</span></div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a> = self.<a class="code" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">_GuessBase</a>(required)</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_ad257205675d7d9d291145f4aa405964b"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">upload.SubversionVCS._GuessBase</a></div><div class="ttdeci">def _GuessBase(self, required)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.py:746</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ad1553a69f4a790309273dbdeb9077732"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">upload.SubversionVCS.rev_start</a></div><div class="ttdeci">rev_start</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.py:730</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac0bb07a099c722b7f8622de4b225904f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">upload.SubversionVCS.rev_end</a></div><div class="ttdeci">rev_end</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.py:731</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a8333f94e27335ce83eed0cc3f5a1eeb0"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">upload.SubversionVCS.__init__</a></div><div class="ttdeci">def __init__(self, options)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00724">upload.py:724</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a60645c40d2fea4cd52881576bd13341f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">upload.SubversionVCS.svn_base</a></div><div class="ttdeci">svn_base</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.py:740</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_aa801782f807674b06f491df5d7ca9942"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">upload.SubversionVCS.svnls_cache</a></div><div class="ttdeci">svnls_cache</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.py:736</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a8333f94e27335ce83eed0cc3f5a1eeb0"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.__init__ </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>options</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="lib_2test_2googletest-release-1_88_80_2googletest_2scripts_2upload_8py_source.html#l00724">724</a> of file <a class="el" href="lib_2test_2googletest-release-1_88_80_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00724">upload.SubversionVCS.__init__()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.SubversionVCS._GuessBase()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.SubversionVCS.rev_end</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.SubversionVCS.rev_start</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.SubversionVCS.svn_base</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.SubversionVCS.svnls_cache</a>.</p> <div class="fragment"><div class="line"><a name="l00724"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0"> 724</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">__init__</a>(self, options):</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  super(SubversionVCS, self).<a class="code" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">__init__</a>(options)</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  match = re.match(<span class="stringliteral">r"(\d+)(:(\d+))?"</span>, self.options.revision)</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> match:</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Invalid Subversion revision %s."</span> % self.options.revision)</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a> = match.group(1)</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a> = match.group(3)</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a> = self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  <span class="comment"># Cache output from "svn list -r REVNO dirname".</span></div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  <span class="comment"># Keys: dirname, Values: 2-tuple (ouput for start rev and end rev).</span></div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a> = {}</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  <span class="comment"># SVN base URL is required to fetch files deleted in an older revision.</span></div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <span class="comment"># Result is cached to not guess it over and over again in GetBaseFile().</span></div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  required = self.options.download_base <span class="keywordflow">or</span> self.options.revision <span class="keywordflow">is</span> <span class="keywordflow">not</span> <span class="keywordtype">None</span></div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a> = self.<a class="code" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">_GuessBase</a>(required)</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_ad257205675d7d9d291145f4aa405964b"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">upload.SubversionVCS._GuessBase</a></div><div class="ttdeci">def _GuessBase(self, required)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.py:746</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ad1553a69f4a790309273dbdeb9077732"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">upload.SubversionVCS.rev_start</a></div><div class="ttdeci">rev_start</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.py:730</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac0bb07a099c722b7f8622de4b225904f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">upload.SubversionVCS.rev_end</a></div><div class="ttdeci">rev_end</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.py:731</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a8333f94e27335ce83eed0cc3f5a1eeb0"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">upload.SubversionVCS.__init__</a></div><div class="ttdeci">def __init__(self, options)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00724">upload.py:724</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a60645c40d2fea4cd52881576bd13341f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">upload.SubversionVCS.svn_base</a></div><div class="ttdeci">svn_base</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.py:740</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_aa801782f807674b06f491df5d7ca9942"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">upload.SubversionVCS.svnls_cache</a></div><div class="ttdeci">svnls_cache</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.py:736</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a8333f94e27335ce83eed0cc3f5a1eeb0"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.__init__ </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>options</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00724">724</a> of file <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00724">upload.SubversionVCS.__init__()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.SubversionVCS._GuessBase()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.SubversionVCS.rev_end</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.SubversionVCS.rev_start</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.SubversionVCS.svn_base</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.SubversionVCS.svnls_cache</a>.</p> <div class="fragment"><div class="line"><a name="l00724"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0"> 724</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">__init__</a>(self, options):</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  super(SubversionVCS, self).<a class="code" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">__init__</a>(options)</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  match = re.match(<span class="stringliteral">r"(\d+)(:(\d+))?"</span>, self.options.revision)</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> match:</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Invalid Subversion revision %s."</span> % self.options.revision)</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a> = match.group(1)</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a> = match.group(3)</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a> = self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  <span class="comment"># Cache output from "svn list -r REVNO dirname".</span></div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  <span class="comment"># Keys: dirname, Values: 2-tuple (ouput for start rev and end rev).</span></div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a> = {}</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  <span class="comment"># SVN base URL is required to fetch files deleted in an older revision.</span></div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <span class="comment"># Result is cached to not guess it over and over again in GetBaseFile().</span></div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  required = self.options.download_base <span class="keywordflow">or</span> self.options.revision <span class="keywordflow">is</span> <span class="keywordflow">not</span> <span class="keywordtype">None</span></div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a> = self.<a class="code" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">_GuessBase</a>(required)</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_ad257205675d7d9d291145f4aa405964b"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">upload.SubversionVCS._GuessBase</a></div><div class="ttdeci">def _GuessBase(self, required)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.py:746</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ad1553a69f4a790309273dbdeb9077732"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">upload.SubversionVCS.rev_start</a></div><div class="ttdeci">rev_start</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.py:730</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac0bb07a099c722b7f8622de4b225904f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">upload.SubversionVCS.rev_end</a></div><div class="ttdeci">rev_end</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.py:731</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a8333f94e27335ce83eed0cc3f5a1eeb0"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">upload.SubversionVCS.__init__</a></div><div class="ttdeci">def __init__(self, options)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00724">upload.py:724</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a60645c40d2fea4cd52881576bd13341f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">upload.SubversionVCS.svn_base</a></div><div class="ttdeci">svn_base</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.py:740</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_aa801782f807674b06f491df5d7ca9942"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">upload.SubversionVCS.svnls_cache</a></div><div class="ttdeci">svnls_cache</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.py:736</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a8333f94e27335ce83eed0cc3f5a1eeb0"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.__init__ </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>options</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00724">724</a> of file <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00724">upload.SubversionVCS.__init__()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.SubversionVCS._GuessBase()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.SubversionVCS.rev_end</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.SubversionVCS.rev_start</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.SubversionVCS.svn_base</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.SubversionVCS.svnls_cache</a>.</p> <div class="fragment"><div class="line"><a name="l00724"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0"> 724</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">__init__</a>(self, options):</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  super(SubversionVCS, self).<a class="code" href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">__init__</a>(options)</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  match = re.match(<span class="stringliteral">r"(\d+)(:(\d+))?"</span>, self.options.revision)</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> match:</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Invalid Subversion revision %s."</span> % self.options.revision)</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a> = match.group(1)</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a> = match.group(3)</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a> = self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  <span class="comment"># Cache output from "svn list -r REVNO dirname".</span></div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  <span class="comment"># Keys: dirname, Values: 2-tuple (ouput for start rev and end rev).</span></div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a> = {}</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  <span class="comment"># SVN base URL is required to fetch files deleted in an older revision.</span></div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <span class="comment"># Result is cached to not guess it over and over again in GetBaseFile().</span></div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  required = self.options.download_base <span class="keywordflow">or</span> self.options.revision <span class="keywordflow">is</span> <span class="keywordflow">not</span> <span class="keywordtype">None</span></div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a> = self.<a class="code" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">_GuessBase</a>(required)</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_ad257205675d7d9d291145f4aa405964b"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">upload.SubversionVCS._GuessBase</a></div><div class="ttdeci">def _GuessBase(self, required)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.py:746</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ad1553a69f4a790309273dbdeb9077732"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">upload.SubversionVCS.rev_start</a></div><div class="ttdeci">rev_start</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.py:730</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac0bb07a099c722b7f8622de4b225904f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">upload.SubversionVCS.rev_end</a></div><div class="ttdeci">rev_end</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.py:731</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a8333f94e27335ce83eed0cc3f5a1eeb0"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a8333f94e27335ce83eed0cc3f5a1eeb0">upload.SubversionVCS.__init__</a></div><div class="ttdeci">def __init__(self, options)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00724">upload.py:724</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a60645c40d2fea4cd52881576bd13341f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">upload.SubversionVCS.svn_base</a></div><div class="ttdeci">svn_base</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.py:740</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_aa801782f807674b06f491df5d7ca9942"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">upload.SubversionVCS.svnls_cache</a></div><div class="ttdeci">svnls_cache</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.py:736</a></div></div> </div><!-- fragment --> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="ab484ddd61e217927fb61639bacdbb68d"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS._CollapseKeywords </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>content</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>keyword_str</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Collapses SVN keywords.</pre> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">805</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="ConcurrentHashMapTest_8cpp_source.html#l00304">join</a>.</p> <p>Referenced by <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00805">upload.SubversionVCS._CollapseKeywords()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00898">upload.SubversionVCS.GetBaseFile()</a>.</p> <div class="fragment"><div class="line"><a name="l00805"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d"> 805</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">_CollapseKeywords</a>(self, content, keyword_str):</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  <span class="stringliteral">"""Collapses SVN keywords."""</span></div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  <span class="comment"># svn cat translates keywords but svn diff doesn't. As a result of this</span></div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  <span class="comment"># behavior patching.PatchChunks() fails with a chunk mismatch error.</span></div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  <span class="comment"># This part was originally written by the Review Board development team</span></div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <span class="comment"># who had the same problem (http://reviews.review-board.org/r/276/).</span></div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  <span class="comment"># Mapping of keywords to known aliases</span></div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  svn_keywords = {</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <span class="comment"># Standard keywords</span></div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  <span class="stringliteral">'Date'</span>: [<span class="stringliteral">'Date'</span>, <span class="stringliteral">'LastChangedDate'</span>],</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  <span class="stringliteral">'Revision'</span>: [<span class="stringliteral">'Revision'</span>, <span class="stringliteral">'LastChangedRevision'</span>, <span class="stringliteral">'Rev'</span>],</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  <span class="stringliteral">'Author'</span>: [<span class="stringliteral">'Author'</span>, <span class="stringliteral">'LastChangedBy'</span>],</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  <span class="stringliteral">'HeadURL'</span>: [<span class="stringliteral">'HeadURL'</span>, <span class="stringliteral">'URL'</span>],</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  <span class="stringliteral">'Id'</span>: [<span class="stringliteral">'Id'</span>],</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span> </div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  <span class="comment"># Aliases</span></div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  <span class="stringliteral">'LastChangedDate'</span>: [<span class="stringliteral">'LastChangedDate'</span>, <span class="stringliteral">'Date'</span>],</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  <span class="stringliteral">'LastChangedRevision'</span>: [<span class="stringliteral">'LastChangedRevision'</span>, <span class="stringliteral">'Rev'</span>, <span class="stringliteral">'Revision'</span>],</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>  <span class="stringliteral">'LastChangedBy'</span>: [<span class="stringliteral">'LastChangedBy'</span>, <span class="stringliteral">'Author'</span>],</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  <span class="stringliteral">'URL'</span>: [<span class="stringliteral">'URL'</span>, <span class="stringliteral">'HeadURL'</span>],</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  }</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span> </div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  <span class="keyword">def </span>repl(m):</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  <span class="keywordflow">if</span> m.group(2):</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  <span class="keywordflow">return</span> <span class="stringliteral">"$%s::%s$"</span> % (m.group(1), <span class="stringliteral">" "</span> * len(m.group(3)))</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  <span class="keywordflow">return</span> <span class="stringliteral">"$%s$"</span> % m.group(1)</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  keywords = [keyword</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  <span class="keywordflow">for</span> name <span class="keywordflow">in</span> keyword_str.split(<span class="stringliteral">" "</span>)</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  <span class="keywordflow">for</span> keyword <span class="keywordflow">in</span> svn_keywords.get(name, [])]</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  <span class="keywordflow">return</span> re.sub(<span class="stringliteral">r"\$(%s):(:?)([^\$]+)\$"</span> % <span class="stringliteral">'|'</span>.<a class="code" href="ConcurrentHashMapTest_8cpp.html#a5b80aebc204711b97b1e816b5db2cc3d">join</a>(keywords), repl, content)</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span> </div><div class="ttc" id="ConcurrentHashMapTest_8cpp_html_a5b80aebc204711b97b1e816b5db2cc3d"><div class="ttname"><a href="ConcurrentHashMapTest_8cpp.html#a5b80aebc204711b97b1e816b5db2cc3d">join</a></div><div class="ttdeci">#define join</div><div class="ttdef"><b>Definition:</b> <a href="ConcurrentHashMapTest_8cpp_source.html#l00304">ConcurrentHashMapTest.cpp:304</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ab484ddd61e217927fb61639bacdbb68d"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">upload.SubversionVCS._CollapseKeywords</a></div><div class="ttdeci">def _CollapseKeywords(self, content, keyword_str)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.py:805</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="ab484ddd61e217927fb61639bacdbb68d"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS._CollapseKeywords </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>content</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>keyword_str</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Collapses SVN keywords.</pre> <p>Definition at line <a class="el" href="lib_2test_2googletest-release-1_88_80_2googlemock_2scripts_2upload_8py_source.html#l00805">805</a> of file <a class="el" href="lib_2test_2googletest-release-1_88_80_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.SubversionVCS._CollapseKeywords()</a>, and <a class="el" href="ConcurrentHashMapTest_8cpp_source.html#l00304">join</a>.</p> <div class="fragment"><div class="line"><a name="l00805"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d"> 805</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">_CollapseKeywords</a>(self, content, keyword_str):</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  <span class="stringliteral">"""Collapses SVN keywords."""</span></div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  <span class="comment"># svn cat translates keywords but svn diff doesn't. As a result of this</span></div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  <span class="comment"># behavior patching.PatchChunks() fails with a chunk mismatch error.</span></div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  <span class="comment"># This part was originally written by the Review Board development team</span></div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <span class="comment"># who had the same problem (http://reviews.review-board.org/r/276/).</span></div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  <span class="comment"># Mapping of keywords to known aliases</span></div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  svn_keywords = {</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <span class="comment"># Standard keywords</span></div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  <span class="stringliteral">'Date'</span>: [<span class="stringliteral">'Date'</span>, <span class="stringliteral">'LastChangedDate'</span>],</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  <span class="stringliteral">'Revision'</span>: [<span class="stringliteral">'Revision'</span>, <span class="stringliteral">'LastChangedRevision'</span>, <span class="stringliteral">'Rev'</span>],</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  <span class="stringliteral">'Author'</span>: [<span class="stringliteral">'Author'</span>, <span class="stringliteral">'LastChangedBy'</span>],</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  <span class="stringliteral">'HeadURL'</span>: [<span class="stringliteral">'HeadURL'</span>, <span class="stringliteral">'URL'</span>],</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  <span class="stringliteral">'Id'</span>: [<span class="stringliteral">'Id'</span>],</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span> </div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  <span class="comment"># Aliases</span></div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  <span class="stringliteral">'LastChangedDate'</span>: [<span class="stringliteral">'LastChangedDate'</span>, <span class="stringliteral">'Date'</span>],</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  <span class="stringliteral">'LastChangedRevision'</span>: [<span class="stringliteral">'LastChangedRevision'</span>, <span class="stringliteral">'Rev'</span>, <span class="stringliteral">'Revision'</span>],</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>  <span class="stringliteral">'LastChangedBy'</span>: [<span class="stringliteral">'LastChangedBy'</span>, <span class="stringliteral">'Author'</span>],</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  <span class="stringliteral">'URL'</span>: [<span class="stringliteral">'URL'</span>, <span class="stringliteral">'HeadURL'</span>],</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  }</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span> </div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  <span class="keyword">def </span>repl(m):</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  <span class="keywordflow">if</span> m.group(2):</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  <span class="keywordflow">return</span> <span class="stringliteral">"$%s::%s$"</span> % (m.group(1), <span class="stringliteral">" "</span> * len(m.group(3)))</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  <span class="keywordflow">return</span> <span class="stringliteral">"$%s$"</span> % m.group(1)</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  keywords = [keyword</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  <span class="keywordflow">for</span> name <span class="keywordflow">in</span> keyword_str.split(<span class="stringliteral">" "</span>)</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  <span class="keywordflow">for</span> keyword <span class="keywordflow">in</span> svn_keywords.get(name, [])]</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  <span class="keywordflow">return</span> re.sub(<span class="stringliteral">r"\$(%s):(:?)([^\$]+)\$"</span> % <span class="stringliteral">'|'</span>.<a class="code" href="ConcurrentHashMapTest_8cpp.html#a5b80aebc204711b97b1e816b5db2cc3d">join</a>(keywords), repl, content)</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span> </div><div class="ttc" id="ConcurrentHashMapTest_8cpp_html_a5b80aebc204711b97b1e816b5db2cc3d"><div class="ttname"><a href="ConcurrentHashMapTest_8cpp.html#a5b80aebc204711b97b1e816b5db2cc3d">join</a></div><div class="ttdeci">#define join</div><div class="ttdef"><b>Definition:</b> <a href="ConcurrentHashMapTest_8cpp_source.html#l00304">ConcurrentHashMapTest.cpp:304</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ab484ddd61e217927fb61639bacdbb68d"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">upload.SubversionVCS._CollapseKeywords</a></div><div class="ttdeci">def _CollapseKeywords(self, content, keyword_str)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.py:805</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="ab484ddd61e217927fb61639bacdbb68d"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS._CollapseKeywords </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>content</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>keyword_str</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Collapses SVN keywords.</pre> <p>Definition at line <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">805</a> of file <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.SubversionVCS._CollapseKeywords()</a>, and <a class="el" href="ConcurrentHashMapTest_8cpp_source.html#l00304">join</a>.</p> <div class="fragment"><div class="line"><a name="l00805"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d"> 805</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">_CollapseKeywords</a>(self, content, keyword_str):</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  <span class="stringliteral">"""Collapses SVN keywords."""</span></div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  <span class="comment"># svn cat translates keywords but svn diff doesn't. As a result of this</span></div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  <span class="comment"># behavior patching.PatchChunks() fails with a chunk mismatch error.</span></div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  <span class="comment"># This part was originally written by the Review Board development team</span></div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <span class="comment"># who had the same problem (http://reviews.review-board.org/r/276/).</span></div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  <span class="comment"># Mapping of keywords to known aliases</span></div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  svn_keywords = {</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <span class="comment"># Standard keywords</span></div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  <span class="stringliteral">'Date'</span>: [<span class="stringliteral">'Date'</span>, <span class="stringliteral">'LastChangedDate'</span>],</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  <span class="stringliteral">'Revision'</span>: [<span class="stringliteral">'Revision'</span>, <span class="stringliteral">'LastChangedRevision'</span>, <span class="stringliteral">'Rev'</span>],</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  <span class="stringliteral">'Author'</span>: [<span class="stringliteral">'Author'</span>, <span class="stringliteral">'LastChangedBy'</span>],</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  <span class="stringliteral">'HeadURL'</span>: [<span class="stringliteral">'HeadURL'</span>, <span class="stringliteral">'URL'</span>],</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  <span class="stringliteral">'Id'</span>: [<span class="stringliteral">'Id'</span>],</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span> </div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  <span class="comment"># Aliases</span></div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  <span class="stringliteral">'LastChangedDate'</span>: [<span class="stringliteral">'LastChangedDate'</span>, <span class="stringliteral">'Date'</span>],</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  <span class="stringliteral">'LastChangedRevision'</span>: [<span class="stringliteral">'LastChangedRevision'</span>, <span class="stringliteral">'Rev'</span>, <span class="stringliteral">'Revision'</span>],</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>  <span class="stringliteral">'LastChangedBy'</span>: [<span class="stringliteral">'LastChangedBy'</span>, <span class="stringliteral">'Author'</span>],</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  <span class="stringliteral">'URL'</span>: [<span class="stringliteral">'URL'</span>, <span class="stringliteral">'HeadURL'</span>],</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  }</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span> </div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  <span class="keyword">def </span>repl(m):</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  <span class="keywordflow">if</span> m.group(2):</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  <span class="keywordflow">return</span> <span class="stringliteral">"$%s::%s$"</span> % (m.group(1), <span class="stringliteral">" "</span> * len(m.group(3)))</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  <span class="keywordflow">return</span> <span class="stringliteral">"$%s$"</span> % m.group(1)</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  keywords = [keyword</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  <span class="keywordflow">for</span> name <span class="keywordflow">in</span> keyword_str.split(<span class="stringliteral">" "</span>)</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  <span class="keywordflow">for</span> keyword <span class="keywordflow">in</span> svn_keywords.get(name, [])]</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  <span class="keywordflow">return</span> re.sub(<span class="stringliteral">r"\$(%s):(:?)([^\$]+)\$"</span> % <span class="stringliteral">'|'</span>.<a class="code" href="ConcurrentHashMapTest_8cpp.html#a5b80aebc204711b97b1e816b5db2cc3d">join</a>(keywords), repl, content)</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span> </div><div class="ttc" id="ConcurrentHashMapTest_8cpp_html_a5b80aebc204711b97b1e816b5db2cc3d"><div class="ttname"><a href="ConcurrentHashMapTest_8cpp.html#a5b80aebc204711b97b1e816b5db2cc3d">join</a></div><div class="ttdeci">#define join</div><div class="ttdef"><b>Definition:</b> <a href="ConcurrentHashMapTest_8cpp_source.html#l00304">ConcurrentHashMapTest.cpp:304</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ab484ddd61e217927fb61639bacdbb68d"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">upload.SubversionVCS._CollapseKeywords</a></div><div class="ttdeci">def _CollapseKeywords(self, content, keyword_str)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.py:805</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="ab484ddd61e217927fb61639bacdbb68d"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS._CollapseKeywords </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>content</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>keyword_str</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Collapses SVN keywords.</pre> <p>Definition at line <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00805">805</a> of file <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.SubversionVCS._CollapseKeywords()</a>, and <a class="el" href="ConcurrentHashMapTest_8cpp_source.html#l00304">join</a>.</p> <div class="fragment"><div class="line"><a name="l00805"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d"> 805</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">_CollapseKeywords</a>(self, content, keyword_str):</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  <span class="stringliteral">"""Collapses SVN keywords."""</span></div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  <span class="comment"># svn cat translates keywords but svn diff doesn't. As a result of this</span></div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  <span class="comment"># behavior patching.PatchChunks() fails with a chunk mismatch error.</span></div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  <span class="comment"># This part was originally written by the Review Board development team</span></div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <span class="comment"># who had the same problem (http://reviews.review-board.org/r/276/).</span></div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  <span class="comment"># Mapping of keywords to known aliases</span></div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  svn_keywords = {</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <span class="comment"># Standard keywords</span></div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  <span class="stringliteral">'Date'</span>: [<span class="stringliteral">'Date'</span>, <span class="stringliteral">'LastChangedDate'</span>],</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  <span class="stringliteral">'Revision'</span>: [<span class="stringliteral">'Revision'</span>, <span class="stringliteral">'LastChangedRevision'</span>, <span class="stringliteral">'Rev'</span>],</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  <span class="stringliteral">'Author'</span>: [<span class="stringliteral">'Author'</span>, <span class="stringliteral">'LastChangedBy'</span>],</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  <span class="stringliteral">'HeadURL'</span>: [<span class="stringliteral">'HeadURL'</span>, <span class="stringliteral">'URL'</span>],</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  <span class="stringliteral">'Id'</span>: [<span class="stringliteral">'Id'</span>],</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span> </div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  <span class="comment"># Aliases</span></div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  <span class="stringliteral">'LastChangedDate'</span>: [<span class="stringliteral">'LastChangedDate'</span>, <span class="stringliteral">'Date'</span>],</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  <span class="stringliteral">'LastChangedRevision'</span>: [<span class="stringliteral">'LastChangedRevision'</span>, <span class="stringliteral">'Rev'</span>, <span class="stringliteral">'Revision'</span>],</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>  <span class="stringliteral">'LastChangedBy'</span>: [<span class="stringliteral">'LastChangedBy'</span>, <span class="stringliteral">'Author'</span>],</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  <span class="stringliteral">'URL'</span>: [<span class="stringliteral">'URL'</span>, <span class="stringliteral">'HeadURL'</span>],</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  }</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span> </div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  <span class="keyword">def </span>repl(m):</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  <span class="keywordflow">if</span> m.group(2):</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  <span class="keywordflow">return</span> <span class="stringliteral">"$%s::%s$"</span> % (m.group(1), <span class="stringliteral">" "</span> * len(m.group(3)))</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  <span class="keywordflow">return</span> <span class="stringliteral">"$%s$"</span> % m.group(1)</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  keywords = [keyword</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  <span class="keywordflow">for</span> name <span class="keywordflow">in</span> keyword_str.split(<span class="stringliteral">" "</span>)</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  <span class="keywordflow">for</span> keyword <span class="keywordflow">in</span> svn_keywords.get(name, [])]</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  <span class="keywordflow">return</span> re.sub(<span class="stringliteral">r"\$(%s):(:?)([^\$]+)\$"</span> % <span class="stringliteral">'|'</span>.<a class="code" href="ConcurrentHashMapTest_8cpp.html#a5b80aebc204711b97b1e816b5db2cc3d">join</a>(keywords), repl, content)</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span> </div><div class="ttc" id="ConcurrentHashMapTest_8cpp_html_a5b80aebc204711b97b1e816b5db2cc3d"><div class="ttname"><a href="ConcurrentHashMapTest_8cpp.html#a5b80aebc204711b97b1e816b5db2cc3d">join</a></div><div class="ttdeci">#define join</div><div class="ttdef"><b>Definition:</b> <a href="ConcurrentHashMapTest_8cpp_source.html#l00304">ConcurrentHashMapTest.cpp:304</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ab484ddd61e217927fb61639bacdbb68d"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">upload.SubversionVCS._CollapseKeywords</a></div><div class="ttdeci">def _CollapseKeywords(self, content, keyword_str)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.py:805</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="ab484ddd61e217927fb61639bacdbb68d"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS._CollapseKeywords </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>content</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>keyword_str</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Collapses SVN keywords.</pre> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00805">805</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.SubversionVCS._CollapseKeywords()</a>, and <a class="el" href="ConcurrentHashMapTest_8cpp_source.html#l00304">join</a>.</p> <div class="fragment"><div class="line"><a name="l00805"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d"> 805</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">_CollapseKeywords</a>(self, content, keyword_str):</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  <span class="stringliteral">"""Collapses SVN keywords."""</span></div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  <span class="comment"># svn cat translates keywords but svn diff doesn't. As a result of this</span></div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  <span class="comment"># behavior patching.PatchChunks() fails with a chunk mismatch error.</span></div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  <span class="comment"># This part was originally written by the Review Board development team</span></div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <span class="comment"># who had the same problem (http://reviews.review-board.org/r/276/).</span></div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  <span class="comment"># Mapping of keywords to known aliases</span></div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  svn_keywords = {</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <span class="comment"># Standard keywords</span></div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  <span class="stringliteral">'Date'</span>: [<span class="stringliteral">'Date'</span>, <span class="stringliteral">'LastChangedDate'</span>],</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  <span class="stringliteral">'Revision'</span>: [<span class="stringliteral">'Revision'</span>, <span class="stringliteral">'LastChangedRevision'</span>, <span class="stringliteral">'Rev'</span>],</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  <span class="stringliteral">'Author'</span>: [<span class="stringliteral">'Author'</span>, <span class="stringliteral">'LastChangedBy'</span>],</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  <span class="stringliteral">'HeadURL'</span>: [<span class="stringliteral">'HeadURL'</span>, <span class="stringliteral">'URL'</span>],</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  <span class="stringliteral">'Id'</span>: [<span class="stringliteral">'Id'</span>],</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span> </div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  <span class="comment"># Aliases</span></div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  <span class="stringliteral">'LastChangedDate'</span>: [<span class="stringliteral">'LastChangedDate'</span>, <span class="stringliteral">'Date'</span>],</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  <span class="stringliteral">'LastChangedRevision'</span>: [<span class="stringliteral">'LastChangedRevision'</span>, <span class="stringliteral">'Rev'</span>, <span class="stringliteral">'Revision'</span>],</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>  <span class="stringliteral">'LastChangedBy'</span>: [<span class="stringliteral">'LastChangedBy'</span>, <span class="stringliteral">'Author'</span>],</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  <span class="stringliteral">'URL'</span>: [<span class="stringliteral">'URL'</span>, <span class="stringliteral">'HeadURL'</span>],</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  }</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span> </div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  <span class="keyword">def </span>repl(m):</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  <span class="keywordflow">if</span> m.group(2):</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  <span class="keywordflow">return</span> <span class="stringliteral">"$%s::%s$"</span> % (m.group(1), <span class="stringliteral">" "</span> * len(m.group(3)))</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  <span class="keywordflow">return</span> <span class="stringliteral">"$%s$"</span> % m.group(1)</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  keywords = [keyword</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  <span class="keywordflow">for</span> name <span class="keywordflow">in</span> keyword_str.split(<span class="stringliteral">" "</span>)</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  <span class="keywordflow">for</span> keyword <span class="keywordflow">in</span> svn_keywords.get(name, [])]</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  <span class="keywordflow">return</span> re.sub(<span class="stringliteral">r"\$(%s):(:?)([^\$]+)\$"</span> % <span class="stringliteral">'|'</span>.<a class="code" href="ConcurrentHashMapTest_8cpp.html#a5b80aebc204711b97b1e816b5db2cc3d">join</a>(keywords), repl, content)</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span> </div><div class="ttc" id="ConcurrentHashMapTest_8cpp_html_a5b80aebc204711b97b1e816b5db2cc3d"><div class="ttname"><a href="ConcurrentHashMapTest_8cpp.html#a5b80aebc204711b97b1e816b5db2cc3d">join</a></div><div class="ttdeci">#define join</div><div class="ttdef"><b>Definition:</b> <a href="ConcurrentHashMapTest_8cpp_source.html#l00304">ConcurrentHashMapTest.cpp:304</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ab484ddd61e217927fb61639bacdbb68d"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">upload.SubversionVCS._CollapseKeywords</a></div><div class="ttdeci">def _CollapseKeywords(self, content, keyword_str)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.py:805</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="ab484ddd61e217927fb61639bacdbb68d"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS._CollapseKeywords </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>content</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>keyword_str</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Collapses SVN keywords.</pre> <p>Definition at line <a class="el" href="lib_2test_2googletest-release-1_88_80_2googletest_2scripts_2upload_8py_source.html#l00805">805</a> of file <a class="el" href="lib_2test_2googletest-release-1_88_80_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.SubversionVCS._CollapseKeywords()</a>, and <a class="el" href="ConcurrentHashMapTest_8cpp_source.html#l00304">join</a>.</p> <div class="fragment"><div class="line"><a name="l00805"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d"> 805</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">_CollapseKeywords</a>(self, content, keyword_str):</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  <span class="stringliteral">"""Collapses SVN keywords."""</span></div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  <span class="comment"># svn cat translates keywords but svn diff doesn't. As a result of this</span></div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  <span class="comment"># behavior patching.PatchChunks() fails with a chunk mismatch error.</span></div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  <span class="comment"># This part was originally written by the Review Board development team</span></div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <span class="comment"># who had the same problem (http://reviews.review-board.org/r/276/).</span></div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  <span class="comment"># Mapping of keywords to known aliases</span></div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  svn_keywords = {</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <span class="comment"># Standard keywords</span></div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  <span class="stringliteral">'Date'</span>: [<span class="stringliteral">'Date'</span>, <span class="stringliteral">'LastChangedDate'</span>],</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  <span class="stringliteral">'Revision'</span>: [<span class="stringliteral">'Revision'</span>, <span class="stringliteral">'LastChangedRevision'</span>, <span class="stringliteral">'Rev'</span>],</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  <span class="stringliteral">'Author'</span>: [<span class="stringliteral">'Author'</span>, <span class="stringliteral">'LastChangedBy'</span>],</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  <span class="stringliteral">'HeadURL'</span>: [<span class="stringliteral">'HeadURL'</span>, <span class="stringliteral">'URL'</span>],</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  <span class="stringliteral">'Id'</span>: [<span class="stringliteral">'Id'</span>],</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span> </div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  <span class="comment"># Aliases</span></div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  <span class="stringliteral">'LastChangedDate'</span>: [<span class="stringliteral">'LastChangedDate'</span>, <span class="stringliteral">'Date'</span>],</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  <span class="stringliteral">'LastChangedRevision'</span>: [<span class="stringliteral">'LastChangedRevision'</span>, <span class="stringliteral">'Rev'</span>, <span class="stringliteral">'Revision'</span>],</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>  <span class="stringliteral">'LastChangedBy'</span>: [<span class="stringliteral">'LastChangedBy'</span>, <span class="stringliteral">'Author'</span>],</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  <span class="stringliteral">'URL'</span>: [<span class="stringliteral">'URL'</span>, <span class="stringliteral">'HeadURL'</span>],</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  }</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span> </div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  <span class="keyword">def </span>repl(m):</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  <span class="keywordflow">if</span> m.group(2):</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  <span class="keywordflow">return</span> <span class="stringliteral">"$%s::%s$"</span> % (m.group(1), <span class="stringliteral">" "</span> * len(m.group(3)))</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  <span class="keywordflow">return</span> <span class="stringliteral">"$%s$"</span> % m.group(1)</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  keywords = [keyword</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  <span class="keywordflow">for</span> name <span class="keywordflow">in</span> keyword_str.split(<span class="stringliteral">" "</span>)</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  <span class="keywordflow">for</span> keyword <span class="keywordflow">in</span> svn_keywords.get(name, [])]</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  <span class="keywordflow">return</span> re.sub(<span class="stringliteral">r"\$(%s):(:?)([^\$]+)\$"</span> % <span class="stringliteral">'|'</span>.<a class="code" href="ConcurrentHashMapTest_8cpp.html#a5b80aebc204711b97b1e816b5db2cc3d">join</a>(keywords), repl, content)</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span> </div><div class="ttc" id="ConcurrentHashMapTest_8cpp_html_a5b80aebc204711b97b1e816b5db2cc3d"><div class="ttname"><a href="ConcurrentHashMapTest_8cpp.html#a5b80aebc204711b97b1e816b5db2cc3d">join</a></div><div class="ttdeci">#define join</div><div class="ttdef"><b>Definition:</b> <a href="ConcurrentHashMapTest_8cpp_source.html#l00304">ConcurrentHashMapTest.cpp:304</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ab484ddd61e217927fb61639bacdbb68d"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">upload.SubversionVCS._CollapseKeywords</a></div><div class="ttdeci">def _CollapseKeywords(self, content, keyword_str)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.py:805</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="ad257205675d7d9d291145f4aa405964b"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS._GuessBase </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>required</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Returns the SVN base URL. Args: required: If true, exits if the url can't be guessed, otherwise None is returned. </pre> <p>Definition at line <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">746</a> of file <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.SubversionVCS._GuessBase()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>.</p> <div class="fragment"><div class="line"><a name="l00746"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b"> 746</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">_GuessBase</a>(self, required):</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  <span class="stringliteral">"""Returns the SVN base URL.</span></div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="stringliteral"></span></div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="stringliteral"> Args:</span></div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="stringliteral"> required: If true, exits if the url can't be guessed, otherwise None is</span></div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="stringliteral"> returned.</span></div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="stringliteral"> """</span></div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  info = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"info"</span>])</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  <span class="keywordflow">for</span> line <span class="keywordflow">in</span> info.splitlines():</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  words = line.split()</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  <span class="keywordflow">if</span> len(words) == 2 <span class="keywordflow">and</span> words[0] == <span class="stringliteral">"URL:"</span>:</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  url = words[1]</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  scheme, netloc, path, params, query, fragment = urlparse.urlparse(url)</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  username, netloc = urllib.splituser(netloc)</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  <span class="keywordflow">if</span> username:</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  logging.info(<span class="stringliteral">"Removed username from base URL"</span>)</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  <span class="keywordflow">if</span> netloc.endswith(<span class="stringliteral">"svn.python.org"</span>):</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  <span class="keywordflow">if</span> netloc == <span class="stringliteral">"svn.python.org"</span>:</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">"/projects/"</span>):</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  path = path[9:]</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <span class="keywordflow">elif</span> netloc != <span class="stringliteral">"pythondev@svn.python.org"</span>:</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Unrecognized Python URL: %s"</span> % url)</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  base = <span class="stringliteral">"http://svn.python.org/view/*checkout*%s/"</span> % path</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  logging.info(<span class="stringliteral">"Guessed Python base = %s"</span>, base)</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">"svn.collab.net"</span>):</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">"/repos/"</span>):</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  path = path[6:]</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  base = <span class="stringliteral">"http://svn.collab.net/viewvc/*checkout*%s/"</span> % path</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  logging.info(<span class="stringliteral">"Guessed CollabNet base = %s"</span>, base)</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">".googlecode.com"</span>):</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  path = path + <span class="stringliteral">"/"</span></div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  base = urlparse.urlunparse((<span class="stringliteral">"http"</span>, netloc, path, params,</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  query, fragment))</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  logging.info(<span class="stringliteral">"Guessed Google Code base = %s"</span>, base)</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  path = path + <span class="stringliteral">"/"</span></div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  base = urlparse.urlunparse((scheme, netloc, path, params,</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  query, fragment))</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  logging.info(<span class="stringliteral">"Guessed base = %s"</span>, base)</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  <span class="keywordflow">return</span> base</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  <span class="keywordflow">if</span> required:</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Can't find URL in output from svn info"</span>)</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="keywordflow">return</span> <span class="keywordtype">None</span></div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_ad257205675d7d9d291145f4aa405964b"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">upload.SubversionVCS._GuessBase</a></div><div class="ttdeci">def _GuessBase(self, required)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.py:746</a></div></div> <div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="ad257205675d7d9d291145f4aa405964b"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS._GuessBase </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>required</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Returns the SVN base URL. Args: required: If true, exits if the url can't be guessed, otherwise None is returned. </pre> <p>Definition at line <a class="el" href="lib_2test_2googletest-release-1_88_80_2googlemock_2scripts_2upload_8py_source.html#l00746">746</a> of file <a class="el" href="lib_2test_2googletest-release-1_88_80_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.SubversionVCS._GuessBase()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>.</p> <div class="fragment"><div class="line"><a name="l00746"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b"> 746</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">_GuessBase</a>(self, required):</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  <span class="stringliteral">"""Returns the SVN base URL.</span></div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="stringliteral"></span></div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="stringliteral"> Args:</span></div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="stringliteral"> required: If true, exits if the url can't be guessed, otherwise None is</span></div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="stringliteral"> returned.</span></div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="stringliteral"> """</span></div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  info = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"info"</span>])</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  <span class="keywordflow">for</span> line <span class="keywordflow">in</span> info.splitlines():</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  words = line.split()</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  <span class="keywordflow">if</span> len(words) == 2 <span class="keywordflow">and</span> words[0] == <span class="stringliteral">"URL:"</span>:</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  url = words[1]</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  scheme, netloc, path, params, query, fragment = urlparse.urlparse(url)</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  username, netloc = urllib.splituser(netloc)</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  <span class="keywordflow">if</span> username:</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  logging.info(<span class="stringliteral">"Removed username from base URL"</span>)</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  <span class="keywordflow">if</span> netloc.endswith(<span class="stringliteral">"svn.python.org"</span>):</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  <span class="keywordflow">if</span> netloc == <span class="stringliteral">"svn.python.org"</span>:</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">"/projects/"</span>):</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  path = path[9:]</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <span class="keywordflow">elif</span> netloc != <span class="stringliteral">"pythondev@svn.python.org"</span>:</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Unrecognized Python URL: %s"</span> % url)</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  base = <span class="stringliteral">"http://svn.python.org/view/*checkout*%s/"</span> % path</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  logging.info(<span class="stringliteral">"Guessed Python base = %s"</span>, base)</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">"svn.collab.net"</span>):</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">"/repos/"</span>):</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  path = path[6:]</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  base = <span class="stringliteral">"http://svn.collab.net/viewvc/*checkout*%s/"</span> % path</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  logging.info(<span class="stringliteral">"Guessed CollabNet base = %s"</span>, base)</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">".googlecode.com"</span>):</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  path = path + <span class="stringliteral">"/"</span></div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  base = urlparse.urlunparse((<span class="stringliteral">"http"</span>, netloc, path, params,</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  query, fragment))</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  logging.info(<span class="stringliteral">"Guessed Google Code base = %s"</span>, base)</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  path = path + <span class="stringliteral">"/"</span></div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  base = urlparse.urlunparse((scheme, netloc, path, params,</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  query, fragment))</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  logging.info(<span class="stringliteral">"Guessed base = %s"</span>, base)</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  <span class="keywordflow">return</span> base</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  <span class="keywordflow">if</span> required:</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Can't find URL in output from svn info"</span>)</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="keywordflow">return</span> <span class="keywordtype">None</span></div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_ad257205675d7d9d291145f4aa405964b"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">upload.SubversionVCS._GuessBase</a></div><div class="ttdeci">def _GuessBase(self, required)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.py:746</a></div></div> <div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="ad257205675d7d9d291145f4aa405964b"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS._GuessBase </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>required</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Returns the SVN base URL. Args: required: If true, exits if the url can't be guessed, otherwise None is returned. </pre> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00746">746</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.SubversionVCS._GuessBase()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>.</p> <div class="fragment"><div class="line"><a name="l00746"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b"> 746</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">_GuessBase</a>(self, required):</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  <span class="stringliteral">"""Returns the SVN base URL.</span></div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="stringliteral"></span></div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="stringliteral"> Args:</span></div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="stringliteral"> required: If true, exits if the url can't be guessed, otherwise None is</span></div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="stringliteral"> returned.</span></div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="stringliteral"> """</span></div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  info = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"info"</span>])</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  <span class="keywordflow">for</span> line <span class="keywordflow">in</span> info.splitlines():</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  words = line.split()</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  <span class="keywordflow">if</span> len(words) == 2 <span class="keywordflow">and</span> words[0] == <span class="stringliteral">"URL:"</span>:</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  url = words[1]</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  scheme, netloc, path, params, query, fragment = urlparse.urlparse(url)</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  username, netloc = urllib.splituser(netloc)</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  <span class="keywordflow">if</span> username:</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  logging.info(<span class="stringliteral">"Removed username from base URL"</span>)</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  <span class="keywordflow">if</span> netloc.endswith(<span class="stringliteral">"svn.python.org"</span>):</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  <span class="keywordflow">if</span> netloc == <span class="stringliteral">"svn.python.org"</span>:</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">"/projects/"</span>):</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  path = path[9:]</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <span class="keywordflow">elif</span> netloc != <span class="stringliteral">"pythondev@svn.python.org"</span>:</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Unrecognized Python URL: %s"</span> % url)</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  base = <span class="stringliteral">"http://svn.python.org/view/*checkout*%s/"</span> % path</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  logging.info(<span class="stringliteral">"Guessed Python base = %s"</span>, base)</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">"svn.collab.net"</span>):</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">"/repos/"</span>):</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  path = path[6:]</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  base = <span class="stringliteral">"http://svn.collab.net/viewvc/*checkout*%s/"</span> % path</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  logging.info(<span class="stringliteral">"Guessed CollabNet base = %s"</span>, base)</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">".googlecode.com"</span>):</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  path = path + <span class="stringliteral">"/"</span></div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  base = urlparse.urlunparse((<span class="stringliteral">"http"</span>, netloc, path, params,</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  query, fragment))</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  logging.info(<span class="stringliteral">"Guessed Google Code base = %s"</span>, base)</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  path = path + <span class="stringliteral">"/"</span></div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  base = urlparse.urlunparse((scheme, netloc, path, params,</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  query, fragment))</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  logging.info(<span class="stringliteral">"Guessed base = %s"</span>, base)</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  <span class="keywordflow">return</span> base</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  <span class="keywordflow">if</span> required:</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Can't find URL in output from svn info"</span>)</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="keywordflow">return</span> <span class="keywordtype">None</span></div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_ad257205675d7d9d291145f4aa405964b"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">upload.SubversionVCS._GuessBase</a></div><div class="ttdeci">def _GuessBase(self, required)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.py:746</a></div></div> <div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="ad257205675d7d9d291145f4aa405964b"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS._GuessBase </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>required</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Returns the SVN base URL. Args: required: If true, exits if the url can't be guessed, otherwise None is returned. </pre> <p>Definition at line <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00746">746</a> of file <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.SubversionVCS._GuessBase()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>.</p> <div class="fragment"><div class="line"><a name="l00746"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b"> 746</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">_GuessBase</a>(self, required):</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  <span class="stringliteral">"""Returns the SVN base URL.</span></div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="stringliteral"></span></div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="stringliteral"> Args:</span></div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="stringliteral"> required: If true, exits if the url can't be guessed, otherwise None is</span></div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="stringliteral"> returned.</span></div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="stringliteral"> """</span></div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  info = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"info"</span>])</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  <span class="keywordflow">for</span> line <span class="keywordflow">in</span> info.splitlines():</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  words = line.split()</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  <span class="keywordflow">if</span> len(words) == 2 <span class="keywordflow">and</span> words[0] == <span class="stringliteral">"URL:"</span>:</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  url = words[1]</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  scheme, netloc, path, params, query, fragment = urlparse.urlparse(url)</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  username, netloc = urllib.splituser(netloc)</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  <span class="keywordflow">if</span> username:</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  logging.info(<span class="stringliteral">"Removed username from base URL"</span>)</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  <span class="keywordflow">if</span> netloc.endswith(<span class="stringliteral">"svn.python.org"</span>):</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  <span class="keywordflow">if</span> netloc == <span class="stringliteral">"svn.python.org"</span>:</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">"/projects/"</span>):</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  path = path[9:]</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <span class="keywordflow">elif</span> netloc != <span class="stringliteral">"pythondev@svn.python.org"</span>:</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Unrecognized Python URL: %s"</span> % url)</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  base = <span class="stringliteral">"http://svn.python.org/view/*checkout*%s/"</span> % path</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  logging.info(<span class="stringliteral">"Guessed Python base = %s"</span>, base)</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">"svn.collab.net"</span>):</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">"/repos/"</span>):</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  path = path[6:]</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  base = <span class="stringliteral">"http://svn.collab.net/viewvc/*checkout*%s/"</span> % path</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  logging.info(<span class="stringliteral">"Guessed CollabNet base = %s"</span>, base)</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">".googlecode.com"</span>):</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  path = path + <span class="stringliteral">"/"</span></div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  base = urlparse.urlunparse((<span class="stringliteral">"http"</span>, netloc, path, params,</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  query, fragment))</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  logging.info(<span class="stringliteral">"Guessed Google Code base = %s"</span>, base)</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  path = path + <span class="stringliteral">"/"</span></div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  base = urlparse.urlunparse((scheme, netloc, path, params,</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  query, fragment))</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  logging.info(<span class="stringliteral">"Guessed base = %s"</span>, base)</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  <span class="keywordflow">return</span> base</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  <span class="keywordflow">if</span> required:</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Can't find URL in output from svn info"</span>)</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="keywordflow">return</span> <span class="keywordtype">None</span></div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_ad257205675d7d9d291145f4aa405964b"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">upload.SubversionVCS._GuessBase</a></div><div class="ttdeci">def _GuessBase(self, required)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.py:746</a></div></div> <div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="ad257205675d7d9d291145f4aa405964b"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS._GuessBase </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>required</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Returns the SVN base URL. Args: required: If true, exits if the url can't be guessed, otherwise None is returned. </pre> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">746</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>.</p> <p>Referenced by <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00724">upload.SubversionVCS.__init__()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00746">upload.SubversionVCS._GuessBase()</a>.</p> <div class="fragment"><div class="line"><a name="l00746"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b"> 746</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">_GuessBase</a>(self, required):</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  <span class="stringliteral">"""Returns the SVN base URL.</span></div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="stringliteral"></span></div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="stringliteral"> Args:</span></div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="stringliteral"> required: If true, exits if the url can't be guessed, otherwise None is</span></div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="stringliteral"> returned.</span></div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="stringliteral"> """</span></div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  info = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"info"</span>])</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  <span class="keywordflow">for</span> line <span class="keywordflow">in</span> info.splitlines():</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  words = line.split()</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  <span class="keywordflow">if</span> len(words) == 2 <span class="keywordflow">and</span> words[0] == <span class="stringliteral">"URL:"</span>:</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  url = words[1]</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  scheme, netloc, path, params, query, fragment = urlparse.urlparse(url)</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  username, netloc = urllib.splituser(netloc)</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  <span class="keywordflow">if</span> username:</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  logging.info(<span class="stringliteral">"Removed username from base URL"</span>)</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  <span class="keywordflow">if</span> netloc.endswith(<span class="stringliteral">"svn.python.org"</span>):</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  <span class="keywordflow">if</span> netloc == <span class="stringliteral">"svn.python.org"</span>:</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">"/projects/"</span>):</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  path = path[9:]</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <span class="keywordflow">elif</span> netloc != <span class="stringliteral">"pythondev@svn.python.org"</span>:</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Unrecognized Python URL: %s"</span> % url)</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  base = <span class="stringliteral">"http://svn.python.org/view/*checkout*%s/"</span> % path</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  logging.info(<span class="stringliteral">"Guessed Python base = %s"</span>, base)</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">"svn.collab.net"</span>):</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">"/repos/"</span>):</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  path = path[6:]</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  base = <span class="stringliteral">"http://svn.collab.net/viewvc/*checkout*%s/"</span> % path</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  logging.info(<span class="stringliteral">"Guessed CollabNet base = %s"</span>, base)</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">".googlecode.com"</span>):</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  path = path + <span class="stringliteral">"/"</span></div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  base = urlparse.urlunparse((<span class="stringliteral">"http"</span>, netloc, path, params,</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  query, fragment))</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  logging.info(<span class="stringliteral">"Guessed Google Code base = %s"</span>, base)</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  path = path + <span class="stringliteral">"/"</span></div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  base = urlparse.urlunparse((scheme, netloc, path, params,</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  query, fragment))</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  logging.info(<span class="stringliteral">"Guessed base = %s"</span>, base)</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  <span class="keywordflow">return</span> base</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  <span class="keywordflow">if</span> required:</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Can't find URL in output from svn info"</span>)</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="keywordflow">return</span> <span class="keywordtype">None</span></div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_ad257205675d7d9d291145f4aa405964b"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">upload.SubversionVCS._GuessBase</a></div><div class="ttdeci">def _GuessBase(self, required)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.py:746</a></div></div> <div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="ad257205675d7d9d291145f4aa405964b"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS._GuessBase </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>required</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Returns the SVN base URL. Args: required: If true, exits if the url can't be guessed, otherwise None is returned. </pre> <p>Definition at line <a class="el" href="lib_2test_2googletest-release-1_88_80_2googletest_2scripts_2upload_8py_source.html#l00746">746</a> of file <a class="el" href="lib_2test_2googletest-release-1_88_80_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.SubversionVCS._GuessBase()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>.</p> <div class="fragment"><div class="line"><a name="l00746"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b"> 746</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">_GuessBase</a>(self, required):</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  <span class="stringliteral">"""Returns the SVN base URL.</span></div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="stringliteral"></span></div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="stringliteral"> Args:</span></div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="stringliteral"> required: If true, exits if the url can't be guessed, otherwise None is</span></div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="stringliteral"> returned.</span></div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="stringliteral"> """</span></div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  info = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"info"</span>])</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  <span class="keywordflow">for</span> line <span class="keywordflow">in</span> info.splitlines():</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  words = line.split()</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  <span class="keywordflow">if</span> len(words) == 2 <span class="keywordflow">and</span> words[0] == <span class="stringliteral">"URL:"</span>:</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  url = words[1]</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  scheme, netloc, path, params, query, fragment = urlparse.urlparse(url)</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  username, netloc = urllib.splituser(netloc)</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  <span class="keywordflow">if</span> username:</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  logging.info(<span class="stringliteral">"Removed username from base URL"</span>)</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  <span class="keywordflow">if</span> netloc.endswith(<span class="stringliteral">"svn.python.org"</span>):</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  <span class="keywordflow">if</span> netloc == <span class="stringliteral">"svn.python.org"</span>:</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">"/projects/"</span>):</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  path = path[9:]</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <span class="keywordflow">elif</span> netloc != <span class="stringliteral">"pythondev@svn.python.org"</span>:</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Unrecognized Python URL: %s"</span> % url)</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  base = <span class="stringliteral">"http://svn.python.org/view/*checkout*%s/"</span> % path</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  logging.info(<span class="stringliteral">"Guessed Python base = %s"</span>, base)</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">"svn.collab.net"</span>):</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">"/repos/"</span>):</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  path = path[6:]</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  base = <span class="stringliteral">"http://svn.collab.net/viewvc/*checkout*%s/"</span> % path</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  logging.info(<span class="stringliteral">"Guessed CollabNet base = %s"</span>, base)</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">".googlecode.com"</span>):</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  path = path + <span class="stringliteral">"/"</span></div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  base = urlparse.urlunparse((<span class="stringliteral">"http"</span>, netloc, path, params,</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  query, fragment))</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  logging.info(<span class="stringliteral">"Guessed Google Code base = %s"</span>, base)</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  path = path + <span class="stringliteral">"/"</span></div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  base = urlparse.urlunparse((scheme, netloc, path, params,</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  query, fragment))</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  logging.info(<span class="stringliteral">"Guessed base = %s"</span>, base)</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  <span class="keywordflow">return</span> base</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  <span class="keywordflow">if</span> required:</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Can't find URL in output from svn info"</span>)</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="keywordflow">return</span> <span class="keywordtype">None</span></div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_ad257205675d7d9d291145f4aa405964b"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad257205675d7d9d291145f4aa405964b">upload.SubversionVCS._GuessBase</a></div><div class="ttdeci">def _GuessBase(self, required)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00746">upload.py:746</a></div></div> <div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a07c2d341f2c7df2772dd7f85e89b0212"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GenerateDiff </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>args</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00790">790</a> of file <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00790">upload.SubversionVCS.GenerateDiff()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>.</p> <div class="fragment"><div class="line"><a name="l00790"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212"> 790</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212">GenerateDiff</a>(self, args):</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  cmd = [<span class="stringliteral">"svn"</span>, <span class="stringliteral">"diff"</span>]</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  cmd += [<span class="stringliteral">"-r"</span>, self.options.revision]</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  cmd.extend(args)</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  data = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>(cmd)</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  count = 0</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  <span class="keywordflow">for</span> line <span class="keywordflow">in</span> data.splitlines():</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  <span class="keywordflow">if</span> line.startswith(<span class="stringliteral">"Index:"</span>) <span class="keywordflow">or</span> line.startswith(<span class="stringliteral">"Property changes on:"</span>):</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  count += 1</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  logging.info(line)</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> count:</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"No valid patches found in output from svn diff"</span>)</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <span class="keywordflow">return</span> data</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a07c2d341f2c7df2772dd7f85e89b0212"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212">upload.SubversionVCS.GenerateDiff</a></div><div class="ttdeci">def GenerateDiff(self, args)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00790">upload.py:790</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a07c2d341f2c7df2772dd7f85e89b0212"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GenerateDiff </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>args</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="lib_2test_2googletest-release-1_88_80_2googlemock_2scripts_2upload_8py_source.html#l00790">790</a> of file <a class="el" href="lib_2test_2googletest-release-1_88_80_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00790">upload.SubversionVCS.GenerateDiff()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>.</p> <div class="fragment"><div class="line"><a name="l00790"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212"> 790</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212">GenerateDiff</a>(self, args):</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  cmd = [<span class="stringliteral">"svn"</span>, <span class="stringliteral">"diff"</span>]</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  cmd += [<span class="stringliteral">"-r"</span>, self.options.revision]</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  cmd.extend(args)</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  data = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>(cmd)</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  count = 0</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  <span class="keywordflow">for</span> line <span class="keywordflow">in</span> data.splitlines():</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  <span class="keywordflow">if</span> line.startswith(<span class="stringliteral">"Index:"</span>) <span class="keywordflow">or</span> line.startswith(<span class="stringliteral">"Property changes on:"</span>):</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  count += 1</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  logging.info(line)</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> count:</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"No valid patches found in output from svn diff"</span>)</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <span class="keywordflow">return</span> data</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a07c2d341f2c7df2772dd7f85e89b0212"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212">upload.SubversionVCS.GenerateDiff</a></div><div class="ttdeci">def GenerateDiff(self, args)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00790">upload.py:790</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a07c2d341f2c7df2772dd7f85e89b0212"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GenerateDiff </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>args</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00790">790</a> of file <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00790">upload.SubversionVCS.GenerateDiff()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>.</p> <div class="fragment"><div class="line"><a name="l00790"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212"> 790</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212">GenerateDiff</a>(self, args):</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  cmd = [<span class="stringliteral">"svn"</span>, <span class="stringliteral">"diff"</span>]</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  cmd += [<span class="stringliteral">"-r"</span>, self.options.revision]</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  cmd.extend(args)</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  data = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>(cmd)</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  count = 0</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  <span class="keywordflow">for</span> line <span class="keywordflow">in</span> data.splitlines():</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  <span class="keywordflow">if</span> line.startswith(<span class="stringliteral">"Index:"</span>) <span class="keywordflow">or</span> line.startswith(<span class="stringliteral">"Property changes on:"</span>):</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  count += 1</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  logging.info(line)</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> count:</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"No valid patches found in output from svn diff"</span>)</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <span class="keywordflow">return</span> data</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a07c2d341f2c7df2772dd7f85e89b0212"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212">upload.SubversionVCS.GenerateDiff</a></div><div class="ttdeci">def GenerateDiff(self, args)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00790">upload.py:790</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a07c2d341f2c7df2772dd7f85e89b0212"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GenerateDiff </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>args</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00790">790</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00790">upload.SubversionVCS.GenerateDiff()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>.</p> <div class="fragment"><div class="line"><a name="l00790"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212"> 790</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212">GenerateDiff</a>(self, args):</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  cmd = [<span class="stringliteral">"svn"</span>, <span class="stringliteral">"diff"</span>]</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  cmd += [<span class="stringliteral">"-r"</span>, self.options.revision]</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  cmd.extend(args)</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  data = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>(cmd)</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  count = 0</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  <span class="keywordflow">for</span> line <span class="keywordflow">in</span> data.splitlines():</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  <span class="keywordflow">if</span> line.startswith(<span class="stringliteral">"Index:"</span>) <span class="keywordflow">or</span> line.startswith(<span class="stringliteral">"Property changes on:"</span>):</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  count += 1</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  logging.info(line)</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> count:</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"No valid patches found in output from svn diff"</span>)</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <span class="keywordflow">return</span> data</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a07c2d341f2c7df2772dd7f85e89b0212"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212">upload.SubversionVCS.GenerateDiff</a></div><div class="ttdeci">def GenerateDiff(self, args)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00790">upload.py:790</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a07c2d341f2c7df2772dd7f85e89b0212"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GenerateDiff </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>args</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00790">790</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>.</p> <p>Referenced by <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00790">upload.SubversionVCS.GenerateDiff()</a>.</p> <div class="fragment"><div class="line"><a name="l00790"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212"> 790</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212">GenerateDiff</a>(self, args):</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  cmd = [<span class="stringliteral">"svn"</span>, <span class="stringliteral">"diff"</span>]</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  cmd += [<span class="stringliteral">"-r"</span>, self.options.revision]</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  cmd.extend(args)</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  data = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>(cmd)</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  count = 0</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  <span class="keywordflow">for</span> line <span class="keywordflow">in</span> data.splitlines():</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  <span class="keywordflow">if</span> line.startswith(<span class="stringliteral">"Index:"</span>) <span class="keywordflow">or</span> line.startswith(<span class="stringliteral">"Property changes on:"</span>):</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  count += 1</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  logging.info(line)</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> count:</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"No valid patches found in output from svn diff"</span>)</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <span class="keywordflow">return</span> data</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a07c2d341f2c7df2772dd7f85e89b0212"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212">upload.SubversionVCS.GenerateDiff</a></div><div class="ttdeci">def GenerateDiff(self, args)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00790">upload.py:790</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a07c2d341f2c7df2772dd7f85e89b0212"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GenerateDiff </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>args</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="lib_2test_2googletest-release-1_88_80_2googletest_2scripts_2upload_8py_source.html#l00790">790</a> of file <a class="el" href="lib_2test_2googletest-release-1_88_80_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00790">upload.SubversionVCS.GenerateDiff()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>.</p> <div class="fragment"><div class="line"><a name="l00790"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212"> 790</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212">GenerateDiff</a>(self, args):</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  cmd = [<span class="stringliteral">"svn"</span>, <span class="stringliteral">"diff"</span>]</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  cmd += [<span class="stringliteral">"-r"</span>, self.options.revision]</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  cmd.extend(args)</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  data = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>(cmd)</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  count = 0</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  <span class="keywordflow">for</span> line <span class="keywordflow">in</span> data.splitlines():</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  <span class="keywordflow">if</span> line.startswith(<span class="stringliteral">"Index:"</span>) <span class="keywordflow">or</span> line.startswith(<span class="stringliteral">"Property changes on:"</span>):</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  count += 1</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  logging.info(line)</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> count:</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"No valid patches found in output from svn diff"</span>)</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <span class="keywordflow">return</span> data</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a07c2d341f2c7df2772dd7f85e89b0212"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a07c2d341f2c7df2772dd7f85e89b0212">upload.SubversionVCS.GenerateDiff</a></div><div class="ttdeci">def GenerateDiff(self, args)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00790">upload.py:790</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a29dec4941de0824734d6842a2f33ffc3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GetBaseFile </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>filename</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="lib_2test_2googletest-release-1_88_80_2googletest_2scripts_2upload_8py_source.html#l00898">898</a> of file <a class="el" href="lib_2test_2googletest-release-1_88_80_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.SubversionVCS._CollapseKeywords()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00898">upload.SubversionVCS.GetBaseFile()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.SubversionVCS.GetStatus()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00713">upload.VersionControlSystem.IsImage()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.SubversionVCS.ReadFile()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.SubversionVCS.rev_end</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.SubversionVCS.rev_start</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.RunShellWithReturnCode()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00097">upload.StatusUpdate()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.SubversionVCS.svn_base</a>.</p> <div class="fragment"><div class="line"><a name="l00898"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3"> 898</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3">GetBaseFile</a>(self, filename):</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  status = self.<a class="code" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">GetStatus</a>(filename)</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  base_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  new_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span> </div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  <span class="comment"># If a file is copied its status will be "A +", which signifies</span></div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  <span class="comment"># "addition-with-history". See "svn st" for more information. We need to</span></div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  <span class="comment"># upload the original file or else diff parsing will fail if the file was</span></div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  <span class="comment"># edited.</span></div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  <span class="keywordflow">if</span> status[0] == <span class="stringliteral">"A"</span> <span class="keywordflow">and</span> status[3] != <span class="stringliteral">"+"</span>:</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  <span class="comment"># We'll need to upload the new content if we're adding a binary file</span></div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  <span class="comment"># since diff's output won't contain it.</span></div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  mimetype = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"propget"</span>, <span class="stringliteral">"svn:mime-type"</span>, filename],</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>  base_content = <span class="stringliteral">""</span></div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">"text/"</span>)</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  <span class="keywordflow">if</span> is_binary <span class="keywordflow">and</span> self.<a class="code" href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">IsImage</a>(filename):</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  new_content = self.<a class="code" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a>(filename)</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  <span class="keywordflow">elif</span> (status[0] <span class="keywordflow">in</span> (<span class="stringliteral">"M"</span>, <span class="stringliteral">"D"</span>, <span class="stringliteral">"R") or</span></div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span> <span class="stringliteral"> (status[0] == "A"</span> <span class="keywordflow">and</span> status[3] == <span class="stringliteral">"+"</span>) <span class="keywordflow">or</span> <span class="comment"># Copied file.</span></div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  (status[0] == <span class="stringliteral">" "</span> <span class="keywordflow">and</span> status[1] == <span class="stringliteral">"M"</span>)): <span class="comment"># Property change.</span></div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  args = []</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>)</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  <span class="comment"># Don't change filename, it's needed later.</span></div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  url = filename</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  args += [<span class="stringliteral">"-r"</span>, <span class="stringliteral">"BASE"</span>]</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  cmd = [<span class="stringliteral">"svn"</span>] + args + [<span class="stringliteral">"propget"</span>, <span class="stringliteral">"svn:mime-type"</span>, url]</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  mimetype, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  <span class="comment"># File does not exist in the requested revision.</span></div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>  <span class="comment"># Reset mimetype, it contains an error message.</span></div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  mimetype = <span class="stringliteral">""</span></div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  get_base = <span class="keyword">False</span></div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">"text/"</span>)</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  <span class="keywordflow">if</span> status[0] == <span class="stringliteral">" "</span>:</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  <span class="comment"># Empty base content just to force an upload.</span></div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  base_content = <span class="stringliteral">""</span></div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  <span class="keywordflow">elif</span> is_binary:</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">IsImage</a>(filename):</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  get_base = <span class="keyword">True</span></div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  <span class="keywordflow">if</span> status[0] == <span class="stringliteral">"M"</span>:</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>:</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  new_content = self.<a class="code" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a>(filename)</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>)</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>  new_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"cat"</span>, url],</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  universal_newlines=<span class="keyword">True</span>, silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>  base_content = <span class="stringliteral">""</span></div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>  get_base = <span class="keyword">True</span></div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span> </div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  <span class="keywordflow">if</span> get_base:</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  <span class="keywordflow">if</span> is_binary:</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  universal_newlines = <span class="keyword">False</span></div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  universal_newlines = <span class="keyword">True</span></div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>:</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  <span class="comment"># "svn cat -r REV delete_file.txt" doesn't work. cat requires</span></div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  <span class="comment"># the full URL with "@REV" appended instead of using "-r" option.</span></div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>)</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"cat"</span>, url],</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  universal_newlines=universal_newlines,</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"cat"</span>, filename],</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  universal_newlines=universal_newlines,</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> is_binary:</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  args = []</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>:</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>)</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  url = filename</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>  args += [<span class="stringliteral">"-r"</span>, <span class="stringliteral">"BASE"</span>]</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>  cmd = [<span class="stringliteral">"svn"</span>] + args + [<span class="stringliteral">"propget"</span>, <span class="stringliteral">"svn:keywords"</span>, url]</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>  keywords, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  <span class="keywordflow">if</span> keywords <span class="keywordflow">and</span> <span class="keywordflow">not</span> returncode:</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>  base_content = self.<a class="code" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">_CollapseKeywords</a>(base_content, keywords)</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>  <a class="code" href="namespaceupload.html#a79ce84c196c018f3b0c7ff7a9b626b58">StatusUpdate</a>(<span class="stringliteral">"svn status returned unexpected output: %s"</span> % status)</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  sys.exit(1)</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  <span class="keywordflow">return</span> base_content, new_content, is_binary, status[0:5]</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span> </div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a340d269b74386ac863636f6b0683d9f4"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">upload.SubversionVCS.ReadFile</a></div><div class="ttdeci">def ReadFile(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.py:844</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ad1553a69f4a790309273dbdeb9077732"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">upload.SubversionVCS.rev_start</a></div><div class="ttdeci">rev_start</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.py:730</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a29dec4941de0824734d6842a2f33ffc3"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3">upload.SubversionVCS.GetBaseFile</a></div><div class="ttdeci">def GetBaseFile(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00898">upload.py:898</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac0bb07a099c722b7f8622de4b225904f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">upload.SubversionVCS.rev_end</a></div><div class="ttdeci">rev_end</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.py:731</a></div></div> <div class="ttc" id="namespaceupload_html_a79ce84c196c018f3b0c7ff7a9b626b58"><div class="ttname"><a href="namespaceupload.html#a79ce84c196c018f3b0c7ff7a9b626b58">upload.StatusUpdate</a></div><div class="ttdeci">def StatusUpdate(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00097">upload.py:97</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac3785eb1fa561088206d01570f9fe982"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">upload.SubversionVCS.GetStatus</a></div><div class="ttdeci">def GetStatus(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.py:854</a></div></div> <div class="ttc" id="classupload_1_1VersionControlSystem_html_a846889ecd2ef40870b456ddb5b349e02"><div class="ttname"><a href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">upload.VersionControlSystem.IsImage</a></div><div class="ttdeci">def IsImage(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00713">upload.py:713</a></div></div> <div class="ttc" id="namespaceupload_html_afa542d3a5a4f4fce174a1c23644a9204"><div class="ttname"><a href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">upload.RunShellWithReturnCode</a></div><div class="ttdeci">def RunShellWithReturnCode(command, print_output=False, universal_newlines=True)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.py:542</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ab484ddd61e217927fb61639bacdbb68d"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">upload.SubversionVCS._CollapseKeywords</a></div><div class="ttdeci">def _CollapseKeywords(self, content, keyword_str)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.py:805</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a60645c40d2fea4cd52881576bd13341f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">upload.SubversionVCS.svn_base</a></div><div class="ttdeci">svn_base</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.py:740</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a29dec4941de0824734d6842a2f33ffc3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GetBaseFile </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>filename</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00898">898</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.SubversionVCS._CollapseKeywords()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00898">upload.SubversionVCS.GetBaseFile()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.SubversionVCS.GetStatus()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00713">upload.VersionControlSystem.IsImage()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.SubversionVCS.ReadFile()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.SubversionVCS.rev_end</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.SubversionVCS.rev_start</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.RunShellWithReturnCode()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00097">upload.StatusUpdate()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.SubversionVCS.svn_base</a>.</p> <div class="fragment"><div class="line"><a name="l00898"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3"> 898</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3">GetBaseFile</a>(self, filename):</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  status = self.<a class="code" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">GetStatus</a>(filename)</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  base_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  new_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span> </div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  <span class="comment"># If a file is copied its status will be "A +", which signifies</span></div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  <span class="comment"># "addition-with-history". See "svn st" for more information. We need to</span></div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  <span class="comment"># upload the original file or else diff parsing will fail if the file was</span></div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  <span class="comment"># edited.</span></div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  <span class="keywordflow">if</span> status[0] == <span class="stringliteral">"A"</span> <span class="keywordflow">and</span> status[3] != <span class="stringliteral">"+"</span>:</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  <span class="comment"># We'll need to upload the new content if we're adding a binary file</span></div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  <span class="comment"># since diff's output won't contain it.</span></div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  mimetype = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"propget"</span>, <span class="stringliteral">"svn:mime-type"</span>, filename],</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>  base_content = <span class="stringliteral">""</span></div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">"text/"</span>)</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  <span class="keywordflow">if</span> is_binary <span class="keywordflow">and</span> self.<a class="code" href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">IsImage</a>(filename):</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  new_content = self.<a class="code" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a>(filename)</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  <span class="keywordflow">elif</span> (status[0] <span class="keywordflow">in</span> (<span class="stringliteral">"M"</span>, <span class="stringliteral">"D"</span>, <span class="stringliteral">"R") or</span></div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span> <span class="stringliteral"> (status[0] == "A"</span> <span class="keywordflow">and</span> status[3] == <span class="stringliteral">"+"</span>) <span class="keywordflow">or</span> <span class="comment"># Copied file.</span></div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  (status[0] == <span class="stringliteral">" "</span> <span class="keywordflow">and</span> status[1] == <span class="stringliteral">"M"</span>)): <span class="comment"># Property change.</span></div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  args = []</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>)</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  <span class="comment"># Don't change filename, it's needed later.</span></div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  url = filename</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  args += [<span class="stringliteral">"-r"</span>, <span class="stringliteral">"BASE"</span>]</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  cmd = [<span class="stringliteral">"svn"</span>] + args + [<span class="stringliteral">"propget"</span>, <span class="stringliteral">"svn:mime-type"</span>, url]</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  mimetype, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  <span class="comment"># File does not exist in the requested revision.</span></div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>  <span class="comment"># Reset mimetype, it contains an error message.</span></div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  mimetype = <span class="stringliteral">""</span></div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  get_base = <span class="keyword">False</span></div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">"text/"</span>)</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  <span class="keywordflow">if</span> status[0] == <span class="stringliteral">" "</span>:</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  <span class="comment"># Empty base content just to force an upload.</span></div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  base_content = <span class="stringliteral">""</span></div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  <span class="keywordflow">elif</span> is_binary:</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">IsImage</a>(filename):</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  get_base = <span class="keyword">True</span></div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  <span class="keywordflow">if</span> status[0] == <span class="stringliteral">"M"</span>:</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>:</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  new_content = self.<a class="code" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a>(filename)</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>)</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>  new_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"cat"</span>, url],</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  universal_newlines=<span class="keyword">True</span>, silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>  base_content = <span class="stringliteral">""</span></div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>  get_base = <span class="keyword">True</span></div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span> </div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  <span class="keywordflow">if</span> get_base:</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  <span class="keywordflow">if</span> is_binary:</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  universal_newlines = <span class="keyword">False</span></div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  universal_newlines = <span class="keyword">True</span></div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>:</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  <span class="comment"># "svn cat -r REV delete_file.txt" doesn't work. cat requires</span></div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  <span class="comment"># the full URL with "@REV" appended instead of using "-r" option.</span></div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>)</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"cat"</span>, url],</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  universal_newlines=universal_newlines,</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"cat"</span>, filename],</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  universal_newlines=universal_newlines,</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> is_binary:</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  args = []</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>:</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>)</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  url = filename</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>  args += [<span class="stringliteral">"-r"</span>, <span class="stringliteral">"BASE"</span>]</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>  cmd = [<span class="stringliteral">"svn"</span>] + args + [<span class="stringliteral">"propget"</span>, <span class="stringliteral">"svn:keywords"</span>, url]</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>  keywords, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  <span class="keywordflow">if</span> keywords <span class="keywordflow">and</span> <span class="keywordflow">not</span> returncode:</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>  base_content = self.<a class="code" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">_CollapseKeywords</a>(base_content, keywords)</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>  <a class="code" href="namespaceupload.html#a79ce84c196c018f3b0c7ff7a9b626b58">StatusUpdate</a>(<span class="stringliteral">"svn status returned unexpected output: %s"</span> % status)</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  sys.exit(1)</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  <span class="keywordflow">return</span> base_content, new_content, is_binary, status[0:5]</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span> </div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a340d269b74386ac863636f6b0683d9f4"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">upload.SubversionVCS.ReadFile</a></div><div class="ttdeci">def ReadFile(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.py:844</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ad1553a69f4a790309273dbdeb9077732"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">upload.SubversionVCS.rev_start</a></div><div class="ttdeci">rev_start</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.py:730</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a29dec4941de0824734d6842a2f33ffc3"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3">upload.SubversionVCS.GetBaseFile</a></div><div class="ttdeci">def GetBaseFile(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00898">upload.py:898</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac0bb07a099c722b7f8622de4b225904f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">upload.SubversionVCS.rev_end</a></div><div class="ttdeci">rev_end</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.py:731</a></div></div> <div class="ttc" id="namespaceupload_html_a79ce84c196c018f3b0c7ff7a9b626b58"><div class="ttname"><a href="namespaceupload.html#a79ce84c196c018f3b0c7ff7a9b626b58">upload.StatusUpdate</a></div><div class="ttdeci">def StatusUpdate(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00097">upload.py:97</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac3785eb1fa561088206d01570f9fe982"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">upload.SubversionVCS.GetStatus</a></div><div class="ttdeci">def GetStatus(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.py:854</a></div></div> <div class="ttc" id="classupload_1_1VersionControlSystem_html_a846889ecd2ef40870b456ddb5b349e02"><div class="ttname"><a href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">upload.VersionControlSystem.IsImage</a></div><div class="ttdeci">def IsImage(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00713">upload.py:713</a></div></div> <div class="ttc" id="namespaceupload_html_afa542d3a5a4f4fce174a1c23644a9204"><div class="ttname"><a href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">upload.RunShellWithReturnCode</a></div><div class="ttdeci">def RunShellWithReturnCode(command, print_output=False, universal_newlines=True)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.py:542</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ab484ddd61e217927fb61639bacdbb68d"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">upload.SubversionVCS._CollapseKeywords</a></div><div class="ttdeci">def _CollapseKeywords(self, content, keyword_str)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.py:805</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a60645c40d2fea4cd52881576bd13341f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">upload.SubversionVCS.svn_base</a></div><div class="ttdeci">svn_base</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.py:740</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a29dec4941de0824734d6842a2f33ffc3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GetBaseFile </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>filename</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00898">898</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.SubversionVCS._CollapseKeywords()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.SubversionVCS.GetStatus()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00713">upload.VersionControlSystem.IsImage()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.SubversionVCS.ReadFile()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.SubversionVCS.rev_end</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.SubversionVCS.rev_start</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.RunShellWithReturnCode()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00097">upload.StatusUpdate()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.SubversionVCS.svn_base</a>.</p> <p>Referenced by <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00898">upload.SubversionVCS.GetBaseFile()</a>.</p> <div class="fragment"><div class="line"><a name="l00898"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3"> 898</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3">GetBaseFile</a>(self, filename):</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  status = self.<a class="code" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">GetStatus</a>(filename)</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  base_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  new_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span> </div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  <span class="comment"># If a file is copied its status will be "A +", which signifies</span></div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  <span class="comment"># "addition-with-history". See "svn st" for more information. We need to</span></div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  <span class="comment"># upload the original file or else diff parsing will fail if the file was</span></div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  <span class="comment"># edited.</span></div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  <span class="keywordflow">if</span> status[0] == <span class="stringliteral">"A"</span> <span class="keywordflow">and</span> status[3] != <span class="stringliteral">"+"</span>:</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  <span class="comment"># We'll need to upload the new content if we're adding a binary file</span></div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  <span class="comment"># since diff's output won't contain it.</span></div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  mimetype = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"propget"</span>, <span class="stringliteral">"svn:mime-type"</span>, filename],</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>  base_content = <span class="stringliteral">""</span></div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">"text/"</span>)</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  <span class="keywordflow">if</span> is_binary <span class="keywordflow">and</span> self.<a class="code" href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">IsImage</a>(filename):</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  new_content = self.<a class="code" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a>(filename)</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  <span class="keywordflow">elif</span> (status[0] <span class="keywordflow">in</span> (<span class="stringliteral">"M"</span>, <span class="stringliteral">"D"</span>, <span class="stringliteral">"R") or</span></div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span> <span class="stringliteral"> (status[0] == "A"</span> <span class="keywordflow">and</span> status[3] == <span class="stringliteral">"+"</span>) <span class="keywordflow">or</span> <span class="comment"># Copied file.</span></div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  (status[0] == <span class="stringliteral">" "</span> <span class="keywordflow">and</span> status[1] == <span class="stringliteral">"M"</span>)): <span class="comment"># Property change.</span></div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  args = []</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>)</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  <span class="comment"># Don't change filename, it's needed later.</span></div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  url = filename</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  args += [<span class="stringliteral">"-r"</span>, <span class="stringliteral">"BASE"</span>]</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  cmd = [<span class="stringliteral">"svn"</span>] + args + [<span class="stringliteral">"propget"</span>, <span class="stringliteral">"svn:mime-type"</span>, url]</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  mimetype, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  <span class="comment"># File does not exist in the requested revision.</span></div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>  <span class="comment"># Reset mimetype, it contains an error message.</span></div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  mimetype = <span class="stringliteral">""</span></div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  get_base = <span class="keyword">False</span></div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">"text/"</span>)</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  <span class="keywordflow">if</span> status[0] == <span class="stringliteral">" "</span>:</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  <span class="comment"># Empty base content just to force an upload.</span></div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  base_content = <span class="stringliteral">""</span></div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  <span class="keywordflow">elif</span> is_binary:</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">IsImage</a>(filename):</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  get_base = <span class="keyword">True</span></div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  <span class="keywordflow">if</span> status[0] == <span class="stringliteral">"M"</span>:</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>:</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  new_content = self.<a class="code" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a>(filename)</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>)</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>  new_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"cat"</span>, url],</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  universal_newlines=<span class="keyword">True</span>, silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>  base_content = <span class="stringliteral">""</span></div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>  get_base = <span class="keyword">True</span></div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span> </div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  <span class="keywordflow">if</span> get_base:</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  <span class="keywordflow">if</span> is_binary:</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  universal_newlines = <span class="keyword">False</span></div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  universal_newlines = <span class="keyword">True</span></div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>:</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  <span class="comment"># "svn cat -r REV delete_file.txt" doesn't work. cat requires</span></div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  <span class="comment"># the full URL with "@REV" appended instead of using "-r" option.</span></div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>)</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"cat"</span>, url],</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  universal_newlines=universal_newlines,</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"cat"</span>, filename],</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  universal_newlines=universal_newlines,</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> is_binary:</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  args = []</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>:</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>)</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  url = filename</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>  args += [<span class="stringliteral">"-r"</span>, <span class="stringliteral">"BASE"</span>]</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>  cmd = [<span class="stringliteral">"svn"</span>] + args + [<span class="stringliteral">"propget"</span>, <span class="stringliteral">"svn:keywords"</span>, url]</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>  keywords, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  <span class="keywordflow">if</span> keywords <span class="keywordflow">and</span> <span class="keywordflow">not</span> returncode:</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>  base_content = self.<a class="code" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">_CollapseKeywords</a>(base_content, keywords)</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>  <a class="code" href="namespaceupload.html#a79ce84c196c018f3b0c7ff7a9b626b58">StatusUpdate</a>(<span class="stringliteral">"svn status returned unexpected output: %s"</span> % status)</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  sys.exit(1)</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  <span class="keywordflow">return</span> base_content, new_content, is_binary, status[0:5]</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span> </div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a340d269b74386ac863636f6b0683d9f4"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">upload.SubversionVCS.ReadFile</a></div><div class="ttdeci">def ReadFile(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.py:844</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ad1553a69f4a790309273dbdeb9077732"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">upload.SubversionVCS.rev_start</a></div><div class="ttdeci">rev_start</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.py:730</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a29dec4941de0824734d6842a2f33ffc3"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3">upload.SubversionVCS.GetBaseFile</a></div><div class="ttdeci">def GetBaseFile(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00898">upload.py:898</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac0bb07a099c722b7f8622de4b225904f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">upload.SubversionVCS.rev_end</a></div><div class="ttdeci">rev_end</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.py:731</a></div></div> <div class="ttc" id="namespaceupload_html_a79ce84c196c018f3b0c7ff7a9b626b58"><div class="ttname"><a href="namespaceupload.html#a79ce84c196c018f3b0c7ff7a9b626b58">upload.StatusUpdate</a></div><div class="ttdeci">def StatusUpdate(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00097">upload.py:97</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac3785eb1fa561088206d01570f9fe982"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">upload.SubversionVCS.GetStatus</a></div><div class="ttdeci">def GetStatus(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.py:854</a></div></div> <div class="ttc" id="classupload_1_1VersionControlSystem_html_a846889ecd2ef40870b456ddb5b349e02"><div class="ttname"><a href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">upload.VersionControlSystem.IsImage</a></div><div class="ttdeci">def IsImage(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00713">upload.py:713</a></div></div> <div class="ttc" id="namespaceupload_html_afa542d3a5a4f4fce174a1c23644a9204"><div class="ttname"><a href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">upload.RunShellWithReturnCode</a></div><div class="ttdeci">def RunShellWithReturnCode(command, print_output=False, universal_newlines=True)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.py:542</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ab484ddd61e217927fb61639bacdbb68d"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">upload.SubversionVCS._CollapseKeywords</a></div><div class="ttdeci">def _CollapseKeywords(self, content, keyword_str)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.py:805</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a60645c40d2fea4cd52881576bd13341f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">upload.SubversionVCS.svn_base</a></div><div class="ttdeci">svn_base</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.py:740</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a29dec4941de0824734d6842a2f33ffc3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GetBaseFile </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>filename</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00898">898</a> of file <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.SubversionVCS._CollapseKeywords()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00898">upload.SubversionVCS.GetBaseFile()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.SubversionVCS.GetStatus()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00713">upload.VersionControlSystem.IsImage()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.SubversionVCS.ReadFile()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.SubversionVCS.rev_end</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.SubversionVCS.rev_start</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.RunShellWithReturnCode()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00097">upload.StatusUpdate()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.SubversionVCS.svn_base</a>.</p> <div class="fragment"><div class="line"><a name="l00898"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3"> 898</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3">GetBaseFile</a>(self, filename):</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  status = self.<a class="code" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">GetStatus</a>(filename)</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  base_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  new_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span> </div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  <span class="comment"># If a file is copied its status will be "A +", which signifies</span></div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  <span class="comment"># "addition-with-history". See "svn st" for more information. We need to</span></div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  <span class="comment"># upload the original file or else diff parsing will fail if the file was</span></div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  <span class="comment"># edited.</span></div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  <span class="keywordflow">if</span> status[0] == <span class="stringliteral">"A"</span> <span class="keywordflow">and</span> status[3] != <span class="stringliteral">"+"</span>:</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  <span class="comment"># We'll need to upload the new content if we're adding a binary file</span></div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  <span class="comment"># since diff's output won't contain it.</span></div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  mimetype = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"propget"</span>, <span class="stringliteral">"svn:mime-type"</span>, filename],</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>  base_content = <span class="stringliteral">""</span></div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">"text/"</span>)</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  <span class="keywordflow">if</span> is_binary <span class="keywordflow">and</span> self.<a class="code" href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">IsImage</a>(filename):</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  new_content = self.<a class="code" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a>(filename)</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  <span class="keywordflow">elif</span> (status[0] <span class="keywordflow">in</span> (<span class="stringliteral">"M"</span>, <span class="stringliteral">"D"</span>, <span class="stringliteral">"R") or</span></div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span> <span class="stringliteral"> (status[0] == "A"</span> <span class="keywordflow">and</span> status[3] == <span class="stringliteral">"+"</span>) <span class="keywordflow">or</span> <span class="comment"># Copied file.</span></div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  (status[0] == <span class="stringliteral">" "</span> <span class="keywordflow">and</span> status[1] == <span class="stringliteral">"M"</span>)): <span class="comment"># Property change.</span></div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  args = []</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>)</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  <span class="comment"># Don't change filename, it's needed later.</span></div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  url = filename</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  args += [<span class="stringliteral">"-r"</span>, <span class="stringliteral">"BASE"</span>]</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  cmd = [<span class="stringliteral">"svn"</span>] + args + [<span class="stringliteral">"propget"</span>, <span class="stringliteral">"svn:mime-type"</span>, url]</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  mimetype, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  <span class="comment"># File does not exist in the requested revision.</span></div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>  <span class="comment"># Reset mimetype, it contains an error message.</span></div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  mimetype = <span class="stringliteral">""</span></div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  get_base = <span class="keyword">False</span></div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">"text/"</span>)</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  <span class="keywordflow">if</span> status[0] == <span class="stringliteral">" "</span>:</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  <span class="comment"># Empty base content just to force an upload.</span></div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  base_content = <span class="stringliteral">""</span></div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  <span class="keywordflow">elif</span> is_binary:</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">IsImage</a>(filename):</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  get_base = <span class="keyword">True</span></div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  <span class="keywordflow">if</span> status[0] == <span class="stringliteral">"M"</span>:</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>:</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  new_content = self.<a class="code" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a>(filename)</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>)</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>  new_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"cat"</span>, url],</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  universal_newlines=<span class="keyword">True</span>, silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>  base_content = <span class="stringliteral">""</span></div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>  get_base = <span class="keyword">True</span></div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span> </div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  <span class="keywordflow">if</span> get_base:</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  <span class="keywordflow">if</span> is_binary:</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  universal_newlines = <span class="keyword">False</span></div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  universal_newlines = <span class="keyword">True</span></div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>:</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  <span class="comment"># "svn cat -r REV delete_file.txt" doesn't work. cat requires</span></div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  <span class="comment"># the full URL with "@REV" appended instead of using "-r" option.</span></div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>)</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"cat"</span>, url],</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  universal_newlines=universal_newlines,</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"cat"</span>, filename],</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  universal_newlines=universal_newlines,</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> is_binary:</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  args = []</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>:</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>)</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  url = filename</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>  args += [<span class="stringliteral">"-r"</span>, <span class="stringliteral">"BASE"</span>]</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>  cmd = [<span class="stringliteral">"svn"</span>] + args + [<span class="stringliteral">"propget"</span>, <span class="stringliteral">"svn:keywords"</span>, url]</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>  keywords, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  <span class="keywordflow">if</span> keywords <span class="keywordflow">and</span> <span class="keywordflow">not</span> returncode:</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>  base_content = self.<a class="code" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">_CollapseKeywords</a>(base_content, keywords)</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>  <a class="code" href="namespaceupload.html#a79ce84c196c018f3b0c7ff7a9b626b58">StatusUpdate</a>(<span class="stringliteral">"svn status returned unexpected output: %s"</span> % status)</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  sys.exit(1)</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  <span class="keywordflow">return</span> base_content, new_content, is_binary, status[0:5]</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span> </div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a340d269b74386ac863636f6b0683d9f4"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">upload.SubversionVCS.ReadFile</a></div><div class="ttdeci">def ReadFile(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.py:844</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ad1553a69f4a790309273dbdeb9077732"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">upload.SubversionVCS.rev_start</a></div><div class="ttdeci">rev_start</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.py:730</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a29dec4941de0824734d6842a2f33ffc3"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3">upload.SubversionVCS.GetBaseFile</a></div><div class="ttdeci">def GetBaseFile(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00898">upload.py:898</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac0bb07a099c722b7f8622de4b225904f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">upload.SubversionVCS.rev_end</a></div><div class="ttdeci">rev_end</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.py:731</a></div></div> <div class="ttc" id="namespaceupload_html_a79ce84c196c018f3b0c7ff7a9b626b58"><div class="ttname"><a href="namespaceupload.html#a79ce84c196c018f3b0c7ff7a9b626b58">upload.StatusUpdate</a></div><div class="ttdeci">def StatusUpdate(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00097">upload.py:97</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac3785eb1fa561088206d01570f9fe982"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">upload.SubversionVCS.GetStatus</a></div><div class="ttdeci">def GetStatus(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.py:854</a></div></div> <div class="ttc" id="classupload_1_1VersionControlSystem_html_a846889ecd2ef40870b456ddb5b349e02"><div class="ttname"><a href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">upload.VersionControlSystem.IsImage</a></div><div class="ttdeci">def IsImage(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00713">upload.py:713</a></div></div> <div class="ttc" id="namespaceupload_html_afa542d3a5a4f4fce174a1c23644a9204"><div class="ttname"><a href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">upload.RunShellWithReturnCode</a></div><div class="ttdeci">def RunShellWithReturnCode(command, print_output=False, universal_newlines=True)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.py:542</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ab484ddd61e217927fb61639bacdbb68d"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">upload.SubversionVCS._CollapseKeywords</a></div><div class="ttdeci">def _CollapseKeywords(self, content, keyword_str)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.py:805</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a60645c40d2fea4cd52881576bd13341f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">upload.SubversionVCS.svn_base</a></div><div class="ttdeci">svn_base</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.py:740</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a29dec4941de0824734d6842a2f33ffc3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GetBaseFile </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>filename</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="lib_2test_2googletest-release-1_88_80_2googlemock_2scripts_2upload_8py_source.html#l00898">898</a> of file <a class="el" href="lib_2test_2googletest-release-1_88_80_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.SubversionVCS._CollapseKeywords()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00898">upload.SubversionVCS.GetBaseFile()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.SubversionVCS.GetStatus()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00713">upload.VersionControlSystem.IsImage()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.SubversionVCS.ReadFile()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.SubversionVCS.rev_end</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.SubversionVCS.rev_start</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.RunShellWithReturnCode()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00097">upload.StatusUpdate()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.SubversionVCS.svn_base</a>.</p> <div class="fragment"><div class="line"><a name="l00898"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3"> 898</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3">GetBaseFile</a>(self, filename):</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  status = self.<a class="code" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">GetStatus</a>(filename)</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  base_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  new_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span> </div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  <span class="comment"># If a file is copied its status will be "A +", which signifies</span></div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  <span class="comment"># "addition-with-history". See "svn st" for more information. We need to</span></div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  <span class="comment"># upload the original file or else diff parsing will fail if the file was</span></div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  <span class="comment"># edited.</span></div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  <span class="keywordflow">if</span> status[0] == <span class="stringliteral">"A"</span> <span class="keywordflow">and</span> status[3] != <span class="stringliteral">"+"</span>:</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  <span class="comment"># We'll need to upload the new content if we're adding a binary file</span></div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  <span class="comment"># since diff's output won't contain it.</span></div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  mimetype = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"propget"</span>, <span class="stringliteral">"svn:mime-type"</span>, filename],</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>  base_content = <span class="stringliteral">""</span></div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">"text/"</span>)</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  <span class="keywordflow">if</span> is_binary <span class="keywordflow">and</span> self.<a class="code" href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">IsImage</a>(filename):</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  new_content = self.<a class="code" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a>(filename)</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  <span class="keywordflow">elif</span> (status[0] <span class="keywordflow">in</span> (<span class="stringliteral">"M"</span>, <span class="stringliteral">"D"</span>, <span class="stringliteral">"R") or</span></div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span> <span class="stringliteral"> (status[0] == "A"</span> <span class="keywordflow">and</span> status[3] == <span class="stringliteral">"+"</span>) <span class="keywordflow">or</span> <span class="comment"># Copied file.</span></div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  (status[0] == <span class="stringliteral">" "</span> <span class="keywordflow">and</span> status[1] == <span class="stringliteral">"M"</span>)): <span class="comment"># Property change.</span></div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  args = []</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>)</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  <span class="comment"># Don't change filename, it's needed later.</span></div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  url = filename</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  args += [<span class="stringliteral">"-r"</span>, <span class="stringliteral">"BASE"</span>]</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  cmd = [<span class="stringliteral">"svn"</span>] + args + [<span class="stringliteral">"propget"</span>, <span class="stringliteral">"svn:mime-type"</span>, url]</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  mimetype, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  <span class="comment"># File does not exist in the requested revision.</span></div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>  <span class="comment"># Reset mimetype, it contains an error message.</span></div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  mimetype = <span class="stringliteral">""</span></div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  get_base = <span class="keyword">False</span></div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">"text/"</span>)</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  <span class="keywordflow">if</span> status[0] == <span class="stringliteral">" "</span>:</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  <span class="comment"># Empty base content just to force an upload.</span></div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  base_content = <span class="stringliteral">""</span></div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  <span class="keywordflow">elif</span> is_binary:</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">IsImage</a>(filename):</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  get_base = <span class="keyword">True</span></div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  <span class="keywordflow">if</span> status[0] == <span class="stringliteral">"M"</span>:</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>:</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  new_content = self.<a class="code" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a>(filename)</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>)</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>  new_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"cat"</span>, url],</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  universal_newlines=<span class="keyword">True</span>, silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>  base_content = <span class="stringliteral">""</span></div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>  get_base = <span class="keyword">True</span></div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span> </div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  <span class="keywordflow">if</span> get_base:</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  <span class="keywordflow">if</span> is_binary:</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  universal_newlines = <span class="keyword">False</span></div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  universal_newlines = <span class="keyword">True</span></div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>:</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  <span class="comment"># "svn cat -r REV delete_file.txt" doesn't work. cat requires</span></div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  <span class="comment"># the full URL with "@REV" appended instead of using "-r" option.</span></div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>)</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"cat"</span>, url],</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  universal_newlines=universal_newlines,</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"cat"</span>, filename],</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  universal_newlines=universal_newlines,</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> is_binary:</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  args = []</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>:</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>)</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  url = filename</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>  args += [<span class="stringliteral">"-r"</span>, <span class="stringliteral">"BASE"</span>]</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>  cmd = [<span class="stringliteral">"svn"</span>] + args + [<span class="stringliteral">"propget"</span>, <span class="stringliteral">"svn:keywords"</span>, url]</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>  keywords, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  <span class="keywordflow">if</span> keywords <span class="keywordflow">and</span> <span class="keywordflow">not</span> returncode:</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>  base_content = self.<a class="code" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">_CollapseKeywords</a>(base_content, keywords)</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>  <a class="code" href="namespaceupload.html#a79ce84c196c018f3b0c7ff7a9b626b58">StatusUpdate</a>(<span class="stringliteral">"svn status returned unexpected output: %s"</span> % status)</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  sys.exit(1)</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  <span class="keywordflow">return</span> base_content, new_content, is_binary, status[0:5]</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span> </div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a340d269b74386ac863636f6b0683d9f4"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">upload.SubversionVCS.ReadFile</a></div><div class="ttdeci">def ReadFile(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.py:844</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ad1553a69f4a790309273dbdeb9077732"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">upload.SubversionVCS.rev_start</a></div><div class="ttdeci">rev_start</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.py:730</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a29dec4941de0824734d6842a2f33ffc3"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3">upload.SubversionVCS.GetBaseFile</a></div><div class="ttdeci">def GetBaseFile(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00898">upload.py:898</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac0bb07a099c722b7f8622de4b225904f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">upload.SubversionVCS.rev_end</a></div><div class="ttdeci">rev_end</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.py:731</a></div></div> <div class="ttc" id="namespaceupload_html_a79ce84c196c018f3b0c7ff7a9b626b58"><div class="ttname"><a href="namespaceupload.html#a79ce84c196c018f3b0c7ff7a9b626b58">upload.StatusUpdate</a></div><div class="ttdeci">def StatusUpdate(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00097">upload.py:97</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac3785eb1fa561088206d01570f9fe982"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">upload.SubversionVCS.GetStatus</a></div><div class="ttdeci">def GetStatus(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.py:854</a></div></div> <div class="ttc" id="classupload_1_1VersionControlSystem_html_a846889ecd2ef40870b456ddb5b349e02"><div class="ttname"><a href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">upload.VersionControlSystem.IsImage</a></div><div class="ttdeci">def IsImage(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00713">upload.py:713</a></div></div> <div class="ttc" id="namespaceupload_html_afa542d3a5a4f4fce174a1c23644a9204"><div class="ttname"><a href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">upload.RunShellWithReturnCode</a></div><div class="ttdeci">def RunShellWithReturnCode(command, print_output=False, universal_newlines=True)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.py:542</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ab484ddd61e217927fb61639bacdbb68d"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">upload.SubversionVCS._CollapseKeywords</a></div><div class="ttdeci">def _CollapseKeywords(self, content, keyword_str)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.py:805</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a60645c40d2fea4cd52881576bd13341f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">upload.SubversionVCS.svn_base</a></div><div class="ttdeci">svn_base</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.py:740</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a29dec4941de0824734d6842a2f33ffc3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GetBaseFile </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>filename</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00898">898</a> of file <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.SubversionVCS._CollapseKeywords()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00898">upload.SubversionVCS.GetBaseFile()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.SubversionVCS.GetStatus()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00713">upload.VersionControlSystem.IsImage()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.SubversionVCS.ReadFile()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.SubversionVCS.rev_end</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.SubversionVCS.rev_start</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.RunShellWithReturnCode()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00097">upload.StatusUpdate()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.SubversionVCS.svn_base</a>.</p> <div class="fragment"><div class="line"><a name="l00898"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3"> 898</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3">GetBaseFile</a>(self, filename):</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  status = self.<a class="code" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">GetStatus</a>(filename)</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  base_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  new_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span> </div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  <span class="comment"># If a file is copied its status will be "A +", which signifies</span></div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  <span class="comment"># "addition-with-history". See "svn st" for more information. We need to</span></div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  <span class="comment"># upload the original file or else diff parsing will fail if the file was</span></div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  <span class="comment"># edited.</span></div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  <span class="keywordflow">if</span> status[0] == <span class="stringliteral">"A"</span> <span class="keywordflow">and</span> status[3] != <span class="stringliteral">"+"</span>:</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  <span class="comment"># We'll need to upload the new content if we're adding a binary file</span></div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  <span class="comment"># since diff's output won't contain it.</span></div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  mimetype = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"propget"</span>, <span class="stringliteral">"svn:mime-type"</span>, filename],</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>  base_content = <span class="stringliteral">""</span></div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">"text/"</span>)</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  <span class="keywordflow">if</span> is_binary <span class="keywordflow">and</span> self.<a class="code" href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">IsImage</a>(filename):</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  new_content = self.<a class="code" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a>(filename)</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  <span class="keywordflow">elif</span> (status[0] <span class="keywordflow">in</span> (<span class="stringliteral">"M"</span>, <span class="stringliteral">"D"</span>, <span class="stringliteral">"R") or</span></div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span> <span class="stringliteral"> (status[0] == "A"</span> <span class="keywordflow">and</span> status[3] == <span class="stringliteral">"+"</span>) <span class="keywordflow">or</span> <span class="comment"># Copied file.</span></div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  (status[0] == <span class="stringliteral">" "</span> <span class="keywordflow">and</span> status[1] == <span class="stringliteral">"M"</span>)): <span class="comment"># Property change.</span></div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  args = []</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>)</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  <span class="comment"># Don't change filename, it's needed later.</span></div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  url = filename</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  args += [<span class="stringliteral">"-r"</span>, <span class="stringliteral">"BASE"</span>]</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  cmd = [<span class="stringliteral">"svn"</span>] + args + [<span class="stringliteral">"propget"</span>, <span class="stringliteral">"svn:mime-type"</span>, url]</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  mimetype, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  <span class="comment"># File does not exist in the requested revision.</span></div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>  <span class="comment"># Reset mimetype, it contains an error message.</span></div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  mimetype = <span class="stringliteral">""</span></div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  get_base = <span class="keyword">False</span></div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">"text/"</span>)</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  <span class="keywordflow">if</span> status[0] == <span class="stringliteral">" "</span>:</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  <span class="comment"># Empty base content just to force an upload.</span></div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  base_content = <span class="stringliteral">""</span></div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  <span class="keywordflow">elif</span> is_binary:</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">IsImage</a>(filename):</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  get_base = <span class="keyword">True</span></div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  <span class="keywordflow">if</span> status[0] == <span class="stringliteral">"M"</span>:</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>:</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  new_content = self.<a class="code" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a>(filename)</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>)</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>  new_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"cat"</span>, url],</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  universal_newlines=<span class="keyword">True</span>, silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>  base_content = <span class="stringliteral">""</span></div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>  get_base = <span class="keyword">True</span></div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span> </div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  <span class="keywordflow">if</span> get_base:</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  <span class="keywordflow">if</span> is_binary:</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  universal_newlines = <span class="keyword">False</span></div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  universal_newlines = <span class="keyword">True</span></div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>:</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  <span class="comment"># "svn cat -r REV delete_file.txt" doesn't work. cat requires</span></div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  <span class="comment"># the full URL with "@REV" appended instead of using "-r" option.</span></div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>)</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"cat"</span>, url],</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  universal_newlines=universal_newlines,</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"cat"</span>, filename],</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  universal_newlines=universal_newlines,</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> is_binary:</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  args = []</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>:</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>  url = <span class="stringliteral">"%s/%s@%s"</span> % (self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a>, filename, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>)</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  url = filename</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>  args += [<span class="stringliteral">"-r"</span>, <span class="stringliteral">"BASE"</span>]</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>  cmd = [<span class="stringliteral">"svn"</span>] + args + [<span class="stringliteral">"propget"</span>, <span class="stringliteral">"svn:keywords"</span>, url]</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>  keywords, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  <span class="keywordflow">if</span> keywords <span class="keywordflow">and</span> <span class="keywordflow">not</span> returncode:</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>  base_content = self.<a class="code" href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">_CollapseKeywords</a>(base_content, keywords)</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>  <a class="code" href="namespaceupload.html#a79ce84c196c018f3b0c7ff7a9b626b58">StatusUpdate</a>(<span class="stringliteral">"svn status returned unexpected output: %s"</span> % status)</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  sys.exit(1)</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  <span class="keywordflow">return</span> base_content, new_content, is_binary, status[0:5]</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span> </div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a340d269b74386ac863636f6b0683d9f4"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">upload.SubversionVCS.ReadFile</a></div><div class="ttdeci">def ReadFile(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.py:844</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ad1553a69f4a790309273dbdeb9077732"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">upload.SubversionVCS.rev_start</a></div><div class="ttdeci">rev_start</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.py:730</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a29dec4941de0824734d6842a2f33ffc3"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a29dec4941de0824734d6842a2f33ffc3">upload.SubversionVCS.GetBaseFile</a></div><div class="ttdeci">def GetBaseFile(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00898">upload.py:898</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac0bb07a099c722b7f8622de4b225904f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">upload.SubversionVCS.rev_end</a></div><div class="ttdeci">rev_end</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.py:731</a></div></div> <div class="ttc" id="namespaceupload_html_a79ce84c196c018f3b0c7ff7a9b626b58"><div class="ttname"><a href="namespaceupload.html#a79ce84c196c018f3b0c7ff7a9b626b58">upload.StatusUpdate</a></div><div class="ttdeci">def StatusUpdate(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00097">upload.py:97</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac3785eb1fa561088206d01570f9fe982"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">upload.SubversionVCS.GetStatus</a></div><div class="ttdeci">def GetStatus(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.py:854</a></div></div> <div class="ttc" id="classupload_1_1VersionControlSystem_html_a846889ecd2ef40870b456ddb5b349e02"><div class="ttname"><a href="classupload_1_1VersionControlSystem.html#a846889ecd2ef40870b456ddb5b349e02">upload.VersionControlSystem.IsImage</a></div><div class="ttdeci">def IsImage(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00713">upload.py:713</a></div></div> <div class="ttc" id="namespaceupload_html_afa542d3a5a4f4fce174a1c23644a9204"><div class="ttname"><a href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">upload.RunShellWithReturnCode</a></div><div class="ttdeci">def RunShellWithReturnCode(command, print_output=False, universal_newlines=True)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.py:542</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ab484ddd61e217927fb61639bacdbb68d"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ab484ddd61e217927fb61639bacdbb68d">upload.SubversionVCS._CollapseKeywords</a></div><div class="ttdeci">def _CollapseKeywords(self, content, keyword_str)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00805">upload.py:805</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a60645c40d2fea4cd52881576bd13341f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">upload.SubversionVCS.svn_base</a></div><div class="ttdeci">svn_base</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.py:740</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="ac3785eb1fa561088206d01570f9fe982"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GetStatus </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>filename</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Returns the status of a file.</pre> <p>Definition at line <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00854">854</a> of file <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.SubversionVCS.GetStatus()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.SubversionVCS.rev_end</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.SubversionVCS.rev_start</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.RunShellWithReturnCode()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.SubversionVCS.svnls_cache</a>.</p> <div class="fragment"><div class="line"><a name="l00854"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982"> 854</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">GetStatus</a>(self, filename):</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  <span class="stringliteral">"""Returns the status of a file."""</span></div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> self.options.revision:</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"status"</span>, <span class="stringliteral">"--ignore-externals"</span>, filename])</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> status:</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"svn status returned no output for %s"</span> % filename)</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  status_lines = status.splitlines()</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  <span class="comment"># If file is in a cl, the output will begin with</span></div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  <span class="comment"># "\n--- Changelist 'cl_name':\n". See</span></div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  <span class="comment"># http://svn.collab.net/repos/svn/trunk/notes/changelist-design.txt</span></div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  <span class="keywordflow">if</span> (len(status_lines) == 3 <span class="keywordflow">and</span></div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <span class="keywordflow">not</span> status_lines[0] <span class="keywordflow">and</span></div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  status_lines[1].startswith(<span class="stringliteral">"--- Changelist"</span>)):</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  status = status_lines[2]</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  status = status_lines[0]</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  <span class="comment"># If we have a revision to diff against we need to run "svn list"</span></div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  <span class="comment"># for the old and the new revision and compare the results to get</span></div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  <span class="comment"># the correct status for a file.</span></div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  dirname, relfilename = os.path.split(filename)</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  <span class="keywordflow">if</span> dirname <span class="keywordflow">not</span> <span class="keywordflow">in</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a>:</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  cmd = [<span class="stringliteral">"svn"</span>, <span class="stringliteral">"list"</span>, <span class="stringliteral">"-r"</span>, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>, dirname <span class="keywordflow">or</span> <span class="stringliteral">"."</span>]</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  out, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Failed to get status for %s."</span> % filename)</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  old_files = out.splitlines()</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  args = [<span class="stringliteral">"svn"</span>, <span class="stringliteral">"list"</span>]</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>:</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  args += [<span class="stringliteral">"-r"</span>, self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>]</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  cmd = args + [dirname <span class="keywordflow">or</span> <span class="stringliteral">"."</span>]</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  out, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Failed to run command %s"</span> % cmd)</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a>[dirname] = (old_files, out.splitlines())</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  old_files, new_files = self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a>[dirname]</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  <span class="keywordflow">if</span> relfilename <span class="keywordflow">in</span> old_files <span class="keywordflow">and</span> relfilename <span class="keywordflow">not</span> <span class="keywordflow">in</span> new_files:</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  status = <span class="stringliteral">"D "</span></div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  <span class="keywordflow">elif</span> relfilename <span class="keywordflow">in</span> old_files <span class="keywordflow">and</span> relfilename <span class="keywordflow">in</span> new_files:</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  status = <span class="stringliteral">"M "</span></div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  status = <span class="stringliteral">"A "</span></div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  <span class="keywordflow">return</span> status</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ad1553a69f4a790309273dbdeb9077732"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">upload.SubversionVCS.rev_start</a></div><div class="ttdeci">rev_start</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.py:730</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac0bb07a099c722b7f8622de4b225904f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">upload.SubversionVCS.rev_end</a></div><div class="ttdeci">rev_end</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.py:731</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac3785eb1fa561088206d01570f9fe982"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">upload.SubversionVCS.GetStatus</a></div><div class="ttdeci">def GetStatus(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.py:854</a></div></div> <div class="ttc" id="namespaceupload_html_afa542d3a5a4f4fce174a1c23644a9204"><div class="ttname"><a href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">upload.RunShellWithReturnCode</a></div><div class="ttdeci">def RunShellWithReturnCode(command, print_output=False, universal_newlines=True)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.py:542</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_aa801782f807674b06f491df5d7ca9942"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">upload.SubversionVCS.svnls_cache</a></div><div class="ttdeci">svnls_cache</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.py:736</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="ac3785eb1fa561088206d01570f9fe982"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GetStatus </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>filename</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Returns the status of a file.</pre> <p>Definition at line <a class="el" href="lib_2test_2googletest-release-1_88_80_2googletest_2scripts_2upload_8py_source.html#l00854">854</a> of file <a class="el" href="lib_2test_2googletest-release-1_88_80_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.SubversionVCS.GetStatus()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.SubversionVCS.rev_end</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.SubversionVCS.rev_start</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.RunShellWithReturnCode()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.SubversionVCS.svnls_cache</a>.</p> <div class="fragment"><div class="line"><a name="l00854"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982"> 854</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">GetStatus</a>(self, filename):</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  <span class="stringliteral">"""Returns the status of a file."""</span></div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> self.options.revision:</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"status"</span>, <span class="stringliteral">"--ignore-externals"</span>, filename])</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> status:</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"svn status returned no output for %s"</span> % filename)</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  status_lines = status.splitlines()</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  <span class="comment"># If file is in a cl, the output will begin with</span></div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  <span class="comment"># "\n--- Changelist 'cl_name':\n". See</span></div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  <span class="comment"># http://svn.collab.net/repos/svn/trunk/notes/changelist-design.txt</span></div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  <span class="keywordflow">if</span> (len(status_lines) == 3 <span class="keywordflow">and</span></div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <span class="keywordflow">not</span> status_lines[0] <span class="keywordflow">and</span></div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  status_lines[1].startswith(<span class="stringliteral">"--- Changelist"</span>)):</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  status = status_lines[2]</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  status = status_lines[0]</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  <span class="comment"># If we have a revision to diff against we need to run "svn list"</span></div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  <span class="comment"># for the old and the new revision and compare the results to get</span></div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  <span class="comment"># the correct status for a file.</span></div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  dirname, relfilename = os.path.split(filename)</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  <span class="keywordflow">if</span> dirname <span class="keywordflow">not</span> <span class="keywordflow">in</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a>:</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  cmd = [<span class="stringliteral">"svn"</span>, <span class="stringliteral">"list"</span>, <span class="stringliteral">"-r"</span>, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>, dirname <span class="keywordflow">or</span> <span class="stringliteral">"."</span>]</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  out, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Failed to get status for %s."</span> % filename)</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  old_files = out.splitlines()</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  args = [<span class="stringliteral">"svn"</span>, <span class="stringliteral">"list"</span>]</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>:</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  args += [<span class="stringliteral">"-r"</span>, self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>]</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  cmd = args + [dirname <span class="keywordflow">or</span> <span class="stringliteral">"."</span>]</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  out, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Failed to run command %s"</span> % cmd)</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a>[dirname] = (old_files, out.splitlines())</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  old_files, new_files = self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a>[dirname]</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  <span class="keywordflow">if</span> relfilename <span class="keywordflow">in</span> old_files <span class="keywordflow">and</span> relfilename <span class="keywordflow">not</span> <span class="keywordflow">in</span> new_files:</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  status = <span class="stringliteral">"D "</span></div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  <span class="keywordflow">elif</span> relfilename <span class="keywordflow">in</span> old_files <span class="keywordflow">and</span> relfilename <span class="keywordflow">in</span> new_files:</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  status = <span class="stringliteral">"M "</span></div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  status = <span class="stringliteral">"A "</span></div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  <span class="keywordflow">return</span> status</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ad1553a69f4a790309273dbdeb9077732"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">upload.SubversionVCS.rev_start</a></div><div class="ttdeci">rev_start</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.py:730</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac0bb07a099c722b7f8622de4b225904f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">upload.SubversionVCS.rev_end</a></div><div class="ttdeci">rev_end</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.py:731</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac3785eb1fa561088206d01570f9fe982"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">upload.SubversionVCS.GetStatus</a></div><div class="ttdeci">def GetStatus(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.py:854</a></div></div> <div class="ttc" id="namespaceupload_html_afa542d3a5a4f4fce174a1c23644a9204"><div class="ttname"><a href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">upload.RunShellWithReturnCode</a></div><div class="ttdeci">def RunShellWithReturnCode(command, print_output=False, universal_newlines=True)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.py:542</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_aa801782f807674b06f491df5d7ca9942"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">upload.SubversionVCS.svnls_cache</a></div><div class="ttdeci">svnls_cache</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.py:736</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="ac3785eb1fa561088206d01570f9fe982"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GetStatus </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>filename</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Returns the status of a file.</pre> <p>Definition at line <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">854</a> of file <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.SubversionVCS.GetStatus()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.SubversionVCS.rev_end</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.SubversionVCS.rev_start</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.RunShellWithReturnCode()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.SubversionVCS.svnls_cache</a>.</p> <div class="fragment"><div class="line"><a name="l00854"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982"> 854</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">GetStatus</a>(self, filename):</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  <span class="stringliteral">"""Returns the status of a file."""</span></div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> self.options.revision:</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"status"</span>, <span class="stringliteral">"--ignore-externals"</span>, filename])</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> status:</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"svn status returned no output for %s"</span> % filename)</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  status_lines = status.splitlines()</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  <span class="comment"># If file is in a cl, the output will begin with</span></div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  <span class="comment"># "\n--- Changelist 'cl_name':\n". See</span></div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  <span class="comment"># http://svn.collab.net/repos/svn/trunk/notes/changelist-design.txt</span></div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  <span class="keywordflow">if</span> (len(status_lines) == 3 <span class="keywordflow">and</span></div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <span class="keywordflow">not</span> status_lines[0] <span class="keywordflow">and</span></div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  status_lines[1].startswith(<span class="stringliteral">"--- Changelist"</span>)):</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  status = status_lines[2]</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  status = status_lines[0]</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  <span class="comment"># If we have a revision to diff against we need to run "svn list"</span></div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  <span class="comment"># for the old and the new revision and compare the results to get</span></div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  <span class="comment"># the correct status for a file.</span></div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  dirname, relfilename = os.path.split(filename)</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  <span class="keywordflow">if</span> dirname <span class="keywordflow">not</span> <span class="keywordflow">in</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a>:</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  cmd = [<span class="stringliteral">"svn"</span>, <span class="stringliteral">"list"</span>, <span class="stringliteral">"-r"</span>, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>, dirname <span class="keywordflow">or</span> <span class="stringliteral">"."</span>]</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  out, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Failed to get status for %s."</span> % filename)</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  old_files = out.splitlines()</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  args = [<span class="stringliteral">"svn"</span>, <span class="stringliteral">"list"</span>]</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>:</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  args += [<span class="stringliteral">"-r"</span>, self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>]</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  cmd = args + [dirname <span class="keywordflow">or</span> <span class="stringliteral">"."</span>]</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  out, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Failed to run command %s"</span> % cmd)</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a>[dirname] = (old_files, out.splitlines())</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  old_files, new_files = self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a>[dirname]</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  <span class="keywordflow">if</span> relfilename <span class="keywordflow">in</span> old_files <span class="keywordflow">and</span> relfilename <span class="keywordflow">not</span> <span class="keywordflow">in</span> new_files:</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  status = <span class="stringliteral">"D "</span></div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  <span class="keywordflow">elif</span> relfilename <span class="keywordflow">in</span> old_files <span class="keywordflow">and</span> relfilename <span class="keywordflow">in</span> new_files:</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  status = <span class="stringliteral">"M "</span></div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  status = <span class="stringliteral">"A "</span></div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  <span class="keywordflow">return</span> status</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ad1553a69f4a790309273dbdeb9077732"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">upload.SubversionVCS.rev_start</a></div><div class="ttdeci">rev_start</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.py:730</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac0bb07a099c722b7f8622de4b225904f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">upload.SubversionVCS.rev_end</a></div><div class="ttdeci">rev_end</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.py:731</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac3785eb1fa561088206d01570f9fe982"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">upload.SubversionVCS.GetStatus</a></div><div class="ttdeci">def GetStatus(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.py:854</a></div></div> <div class="ttc" id="namespaceupload_html_afa542d3a5a4f4fce174a1c23644a9204"><div class="ttname"><a href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">upload.RunShellWithReturnCode</a></div><div class="ttdeci">def RunShellWithReturnCode(command, print_output=False, universal_newlines=True)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.py:542</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_aa801782f807674b06f491df5d7ca9942"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">upload.SubversionVCS.svnls_cache</a></div><div class="ttdeci">svnls_cache</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.py:736</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="ac3785eb1fa561088206d01570f9fe982"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GetStatus </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>filename</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Returns the status of a file.</pre> <p>Definition at line <a class="el" href="lib_2test_2googletest-release-1_88_80_2googlemock_2scripts_2upload_8py_source.html#l00854">854</a> of file <a class="el" href="lib_2test_2googletest-release-1_88_80_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.SubversionVCS.GetStatus()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.SubversionVCS.rev_end</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.SubversionVCS.rev_start</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.RunShellWithReturnCode()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.SubversionVCS.svnls_cache</a>.</p> <div class="fragment"><div class="line"><a name="l00854"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982"> 854</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">GetStatus</a>(self, filename):</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  <span class="stringliteral">"""Returns the status of a file."""</span></div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> self.options.revision:</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"status"</span>, <span class="stringliteral">"--ignore-externals"</span>, filename])</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> status:</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"svn status returned no output for %s"</span> % filename)</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  status_lines = status.splitlines()</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  <span class="comment"># If file is in a cl, the output will begin with</span></div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  <span class="comment"># "\n--- Changelist 'cl_name':\n". See</span></div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  <span class="comment"># http://svn.collab.net/repos/svn/trunk/notes/changelist-design.txt</span></div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  <span class="keywordflow">if</span> (len(status_lines) == 3 <span class="keywordflow">and</span></div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <span class="keywordflow">not</span> status_lines[0] <span class="keywordflow">and</span></div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  status_lines[1].startswith(<span class="stringliteral">"--- Changelist"</span>)):</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  status = status_lines[2]</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  status = status_lines[0]</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  <span class="comment"># If we have a revision to diff against we need to run "svn list"</span></div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  <span class="comment"># for the old and the new revision and compare the results to get</span></div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  <span class="comment"># the correct status for a file.</span></div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  dirname, relfilename = os.path.split(filename)</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  <span class="keywordflow">if</span> dirname <span class="keywordflow">not</span> <span class="keywordflow">in</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a>:</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  cmd = [<span class="stringliteral">"svn"</span>, <span class="stringliteral">"list"</span>, <span class="stringliteral">"-r"</span>, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>, dirname <span class="keywordflow">or</span> <span class="stringliteral">"."</span>]</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  out, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Failed to get status for %s."</span> % filename)</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  old_files = out.splitlines()</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  args = [<span class="stringliteral">"svn"</span>, <span class="stringliteral">"list"</span>]</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>:</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  args += [<span class="stringliteral">"-r"</span>, self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>]</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  cmd = args + [dirname <span class="keywordflow">or</span> <span class="stringliteral">"."</span>]</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  out, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Failed to run command %s"</span> % cmd)</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a>[dirname] = (old_files, out.splitlines())</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  old_files, new_files = self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a>[dirname]</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  <span class="keywordflow">if</span> relfilename <span class="keywordflow">in</span> old_files <span class="keywordflow">and</span> relfilename <span class="keywordflow">not</span> <span class="keywordflow">in</span> new_files:</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  status = <span class="stringliteral">"D "</span></div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  <span class="keywordflow">elif</span> relfilename <span class="keywordflow">in</span> old_files <span class="keywordflow">and</span> relfilename <span class="keywordflow">in</span> new_files:</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  status = <span class="stringliteral">"M "</span></div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  status = <span class="stringliteral">"A "</span></div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  <span class="keywordflow">return</span> status</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ad1553a69f4a790309273dbdeb9077732"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">upload.SubversionVCS.rev_start</a></div><div class="ttdeci">rev_start</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.py:730</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac0bb07a099c722b7f8622de4b225904f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">upload.SubversionVCS.rev_end</a></div><div class="ttdeci">rev_end</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.py:731</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac3785eb1fa561088206d01570f9fe982"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">upload.SubversionVCS.GetStatus</a></div><div class="ttdeci">def GetStatus(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.py:854</a></div></div> <div class="ttc" id="namespaceupload_html_afa542d3a5a4f4fce174a1c23644a9204"><div class="ttname"><a href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">upload.RunShellWithReturnCode</a></div><div class="ttdeci">def RunShellWithReturnCode(command, print_output=False, universal_newlines=True)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.py:542</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_aa801782f807674b06f491df5d7ca9942"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">upload.SubversionVCS.svnls_cache</a></div><div class="ttdeci">svnls_cache</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.py:736</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="ac3785eb1fa561088206d01570f9fe982"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GetStatus </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>filename</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Returns the status of a file.</pre> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">854</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.SubversionVCS.rev_end</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.SubversionVCS.rev_start</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.RunShellWithReturnCode()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.SubversionVCS.svnls_cache</a>.</p> <p>Referenced by <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00898">upload.SubversionVCS.GetBaseFile()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00854">upload.SubversionVCS.GetStatus()</a>.</p> <div class="fragment"><div class="line"><a name="l00854"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982"> 854</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">GetStatus</a>(self, filename):</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  <span class="stringliteral">"""Returns the status of a file."""</span></div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> self.options.revision:</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"status"</span>, <span class="stringliteral">"--ignore-externals"</span>, filename])</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> status:</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"svn status returned no output for %s"</span> % filename)</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  status_lines = status.splitlines()</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  <span class="comment"># If file is in a cl, the output will begin with</span></div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  <span class="comment"># "\n--- Changelist 'cl_name':\n". See</span></div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  <span class="comment"># http://svn.collab.net/repos/svn/trunk/notes/changelist-design.txt</span></div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  <span class="keywordflow">if</span> (len(status_lines) == 3 <span class="keywordflow">and</span></div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <span class="keywordflow">not</span> status_lines[0] <span class="keywordflow">and</span></div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  status_lines[1].startswith(<span class="stringliteral">"--- Changelist"</span>)):</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  status = status_lines[2]</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  status = status_lines[0]</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  <span class="comment"># If we have a revision to diff against we need to run "svn list"</span></div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  <span class="comment"># for the old and the new revision and compare the results to get</span></div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  <span class="comment"># the correct status for a file.</span></div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  dirname, relfilename = os.path.split(filename)</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  <span class="keywordflow">if</span> dirname <span class="keywordflow">not</span> <span class="keywordflow">in</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a>:</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  cmd = [<span class="stringliteral">"svn"</span>, <span class="stringliteral">"list"</span>, <span class="stringliteral">"-r"</span>, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>, dirname <span class="keywordflow">or</span> <span class="stringliteral">"."</span>]</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  out, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Failed to get status for %s."</span> % filename)</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  old_files = out.splitlines()</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  args = [<span class="stringliteral">"svn"</span>, <span class="stringliteral">"list"</span>]</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>:</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  args += [<span class="stringliteral">"-r"</span>, self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>]</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  cmd = args + [dirname <span class="keywordflow">or</span> <span class="stringliteral">"."</span>]</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  out, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Failed to run command %s"</span> % cmd)</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a>[dirname] = (old_files, out.splitlines())</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  old_files, new_files = self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a>[dirname]</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  <span class="keywordflow">if</span> relfilename <span class="keywordflow">in</span> old_files <span class="keywordflow">and</span> relfilename <span class="keywordflow">not</span> <span class="keywordflow">in</span> new_files:</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  status = <span class="stringliteral">"D "</span></div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  <span class="keywordflow">elif</span> relfilename <span class="keywordflow">in</span> old_files <span class="keywordflow">and</span> relfilename <span class="keywordflow">in</span> new_files:</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  status = <span class="stringliteral">"M "</span></div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  status = <span class="stringliteral">"A "</span></div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  <span class="keywordflow">return</span> status</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ad1553a69f4a790309273dbdeb9077732"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">upload.SubversionVCS.rev_start</a></div><div class="ttdeci">rev_start</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.py:730</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac0bb07a099c722b7f8622de4b225904f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">upload.SubversionVCS.rev_end</a></div><div class="ttdeci">rev_end</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.py:731</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac3785eb1fa561088206d01570f9fe982"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">upload.SubversionVCS.GetStatus</a></div><div class="ttdeci">def GetStatus(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.py:854</a></div></div> <div class="ttc" id="namespaceupload_html_afa542d3a5a4f4fce174a1c23644a9204"><div class="ttname"><a href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">upload.RunShellWithReturnCode</a></div><div class="ttdeci">def RunShellWithReturnCode(command, print_output=False, universal_newlines=True)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.py:542</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_aa801782f807674b06f491df5d7ca9942"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">upload.SubversionVCS.svnls_cache</a></div><div class="ttdeci">svnls_cache</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.py:736</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="ac3785eb1fa561088206d01570f9fe982"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GetStatus </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>filename</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Returns the status of a file.</pre> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00854">854</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.ErrorExit()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.SubversionVCS.GetStatus()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.SubversionVCS.rev_end</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.SubversionVCS.rev_start</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.RunShellWithReturnCode()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.SubversionVCS.svnls_cache</a>.</p> <div class="fragment"><div class="line"><a name="l00854"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982"> 854</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">GetStatus</a>(self, filename):</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  <span class="stringliteral">"""Returns the status of a file."""</span></div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> self.options.revision:</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"status"</span>, <span class="stringliteral">"--ignore-externals"</span>, filename])</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> status:</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"svn status returned no output for %s"</span> % filename)</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  status_lines = status.splitlines()</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  <span class="comment"># If file is in a cl, the output will begin with</span></div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  <span class="comment"># "\n--- Changelist 'cl_name':\n". See</span></div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  <span class="comment"># http://svn.collab.net/repos/svn/trunk/notes/changelist-design.txt</span></div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  <span class="keywordflow">if</span> (len(status_lines) == 3 <span class="keywordflow">and</span></div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <span class="keywordflow">not</span> status_lines[0] <span class="keywordflow">and</span></div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  status_lines[1].startswith(<span class="stringliteral">"--- Changelist"</span>)):</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  status = status_lines[2]</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  status = status_lines[0]</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  <span class="comment"># If we have a revision to diff against we need to run "svn list"</span></div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  <span class="comment"># for the old and the new revision and compare the results to get</span></div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  <span class="comment"># the correct status for a file.</span></div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  dirname, relfilename = os.path.split(filename)</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  <span class="keywordflow">if</span> dirname <span class="keywordflow">not</span> <span class="keywordflow">in</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a>:</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  cmd = [<span class="stringliteral">"svn"</span>, <span class="stringliteral">"list"</span>, <span class="stringliteral">"-r"</span>, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>, dirname <span class="keywordflow">or</span> <span class="stringliteral">"."</span>]</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  out, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Failed to get status for %s."</span> % filename)</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  old_files = out.splitlines()</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  args = [<span class="stringliteral">"svn"</span>, <span class="stringliteral">"list"</span>]</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  <span class="keywordflow">if</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>:</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  args += [<span class="stringliteral">"-r"</span>, self.<a class="code" href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">rev_end</a>]</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  cmd = args + [dirname <span class="keywordflow">or</span> <span class="stringliteral">"."</span>]</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  out, returncode = <a class="code" href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">RunShellWithReturnCode</a>(cmd)</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">"Failed to run command %s"</span> % cmd)</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a>[dirname] = (old_files, out.splitlines())</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  old_files, new_files = self.<a class="code" href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">svnls_cache</a>[dirname]</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  <span class="keywordflow">if</span> relfilename <span class="keywordflow">in</span> old_files <span class="keywordflow">and</span> relfilename <span class="keywordflow">not</span> <span class="keywordflow">in</span> new_files:</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  status = <span class="stringliteral">"D "</span></div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  <span class="keywordflow">elif</span> relfilename <span class="keywordflow">in</span> old_files <span class="keywordflow">and</span> relfilename <span class="keywordflow">in</span> new_files:</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  status = <span class="stringliteral">"M "</span></div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  status = <span class="stringliteral">"A "</span></div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  <span class="keywordflow">return</span> status</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="namespaceupload_html_adea53186a1d73e92cc839b7c35c2c044"><div class="ttname"><a href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">upload.ErrorExit</a></div><div class="ttdeci">def ErrorExit(msg)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00109">upload.py:109</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ad1553a69f4a790309273dbdeb9077732"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">upload.SubversionVCS.rev_start</a></div><div class="ttdeci">rev_start</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">upload.py:730</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac0bb07a099c722b7f8622de4b225904f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac0bb07a099c722b7f8622de4b225904f">upload.SubversionVCS.rev_end</a></div><div class="ttdeci">rev_end</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">upload.py:731</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_ac3785eb1fa561088206d01570f9fe982"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#ac3785eb1fa561088206d01570f9fe982">upload.SubversionVCS.GetStatus</a></div><div class="ttdeci">def GetStatus(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.py:854</a></div></div> <div class="ttc" id="namespaceupload_html_afa542d3a5a4f4fce174a1c23644a9204"><div class="ttname"><a href="namespaceupload.html#afa542d3a5a4f4fce174a1c23644a9204">upload.RunShellWithReturnCode</a></div><div class="ttdeci">def RunShellWithReturnCode(command, print_output=False, universal_newlines=True)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00542">upload.py:542</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_aa801782f807674b06f491df5d7ca9942"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#aa801782f807674b06f491df5d7ca9942">upload.SubversionVCS.svnls_cache</a></div><div class="ttdeci">svnls_cache</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">upload.py:736</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a494ba1010992d83cac015bc396ab693a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GetUnknownFiles </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00836">836</a> of file <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00836">upload.SubversionVCS.GetUnknownFiles()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>.</p> <div class="fragment"><div class="line"><a name="l00836"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a"> 836</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a">GetUnknownFiles</a>(self):</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"status"</span>, <span class="stringliteral">"--ignore-externals"</span>], silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  unknown_files = []</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  <span class="keywordflow">for</span> line <span class="keywordflow">in</span> status.split(<span class="stringliteral">"\n"</span>):</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  <span class="keywordflow">if</span> line <span class="keywordflow">and</span> line[0] == <span class="stringliteral">"?"</span>:</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  unknown_files.append(line)</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  <span class="keywordflow">return</span> unknown_files</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a494ba1010992d83cac015bc396ab693a"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a">upload.SubversionVCS.GetUnknownFiles</a></div><div class="ttdeci">def GetUnknownFiles(self)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00836">upload.py:836</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a494ba1010992d83cac015bc396ab693a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GetUnknownFiles </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00836">836</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>.</p> <p>Referenced by <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00836">upload.SubversionVCS.GetUnknownFiles()</a>.</p> <div class="fragment"><div class="line"><a name="l00836"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a"> 836</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a">GetUnknownFiles</a>(self):</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"status"</span>, <span class="stringliteral">"--ignore-externals"</span>], silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  unknown_files = []</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  <span class="keywordflow">for</span> line <span class="keywordflow">in</span> status.split(<span class="stringliteral">"\n"</span>):</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  <span class="keywordflow">if</span> line <span class="keywordflow">and</span> line[0] == <span class="stringliteral">"?"</span>:</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  unknown_files.append(line)</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  <span class="keywordflow">return</span> unknown_files</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a494ba1010992d83cac015bc396ab693a"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a">upload.SubversionVCS.GetUnknownFiles</a></div><div class="ttdeci">def GetUnknownFiles(self)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00836">upload.py:836</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a494ba1010992d83cac015bc396ab693a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GetUnknownFiles </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="lib_2test_2googletest-release-1_88_80_2googlemock_2scripts_2upload_8py_source.html#l00836">836</a> of file <a class="el" href="lib_2test_2googletest-release-1_88_80_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00836">upload.SubversionVCS.GetUnknownFiles()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>.</p> <div class="fragment"><div class="line"><a name="l00836"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a"> 836</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a">GetUnknownFiles</a>(self):</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"status"</span>, <span class="stringliteral">"--ignore-externals"</span>], silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  unknown_files = []</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  <span class="keywordflow">for</span> line <span class="keywordflow">in</span> status.split(<span class="stringliteral">"\n"</span>):</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  <span class="keywordflow">if</span> line <span class="keywordflow">and</span> line[0] == <span class="stringliteral">"?"</span>:</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  unknown_files.append(line)</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  <span class="keywordflow">return</span> unknown_files</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a494ba1010992d83cac015bc396ab693a"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a">upload.SubversionVCS.GetUnknownFiles</a></div><div class="ttdeci">def GetUnknownFiles(self)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00836">upload.py:836</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a494ba1010992d83cac015bc396ab693a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GetUnknownFiles </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="lib_2test_2googletest-release-1_88_80_2googletest_2scripts_2upload_8py_source.html#l00836">836</a> of file <a class="el" href="lib_2test_2googletest-release-1_88_80_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00836">upload.SubversionVCS.GetUnknownFiles()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>.</p> <div class="fragment"><div class="line"><a name="l00836"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a"> 836</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a">GetUnknownFiles</a>(self):</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"status"</span>, <span class="stringliteral">"--ignore-externals"</span>], silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  unknown_files = []</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  <span class="keywordflow">for</span> line <span class="keywordflow">in</span> status.split(<span class="stringliteral">"\n"</span>):</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  <span class="keywordflow">if</span> line <span class="keywordflow">and</span> line[0] == <span class="stringliteral">"?"</span>:</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  unknown_files.append(line)</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  <span class="keywordflow">return</span> unknown_files</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a494ba1010992d83cac015bc396ab693a"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a">upload.SubversionVCS.GetUnknownFiles</a></div><div class="ttdeci">def GetUnknownFiles(self)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00836">upload.py:836</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a494ba1010992d83cac015bc396ab693a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GetUnknownFiles </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00836">836</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00836">upload.SubversionVCS.GetUnknownFiles()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>.</p> <div class="fragment"><div class="line"><a name="l00836"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a"> 836</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a">GetUnknownFiles</a>(self):</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"status"</span>, <span class="stringliteral">"--ignore-externals"</span>], silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  unknown_files = []</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  <span class="keywordflow">for</span> line <span class="keywordflow">in</span> status.split(<span class="stringliteral">"\n"</span>):</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  <span class="keywordflow">if</span> line <span class="keywordflow">and</span> line[0] == <span class="stringliteral">"?"</span>:</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  unknown_files.append(line)</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  <span class="keywordflow">return</span> unknown_files</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a494ba1010992d83cac015bc396ab693a"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a">upload.SubversionVCS.GetUnknownFiles</a></div><div class="ttdeci">def GetUnknownFiles(self)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00836">upload.py:836</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a494ba1010992d83cac015bc396ab693a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GetUnknownFiles </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00836">836</a> of file <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00836">upload.SubversionVCS.GetUnknownFiles()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.RunShell()</a>.</p> <div class="fragment"><div class="line"><a name="l00836"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a"> 836</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a">GetUnknownFiles</a>(self):</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">"svn"</span>, <span class="stringliteral">"status"</span>, <span class="stringliteral">"--ignore-externals"</span>], silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  unknown_files = []</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  <span class="keywordflow">for</span> line <span class="keywordflow">in</span> status.split(<span class="stringliteral">"\n"</span>):</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  <span class="keywordflow">if</span> line <span class="keywordflow">and</span> line[0] == <span class="stringliteral">"?"</span>:</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  unknown_files.append(line)</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  <span class="keywordflow">return</span> unknown_files</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div><div class="ttc" id="namespaceupload_html_adddc423c49132e8879cbb25d6be2cf11"><div class="ttname"><a href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">upload.RunShell</a></div><div class="ttdeci">def RunShell(command, silent_ok=False, universal_newlines=True, print_output=False)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00578">upload.py:578</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a494ba1010992d83cac015bc396ab693a"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a494ba1010992d83cac015bc396ab693a">upload.SubversionVCS.GetUnknownFiles</a></div><div class="ttdeci">def GetUnknownFiles(self)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00836">upload.py:836</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a7d22d459469a757270502ce0dccacbd2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GuessBase </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>required</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Wrapper for _GuessBase.</pre> <p>Definition at line <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00742">742</a> of file <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00742">upload.SubversionVCS.GuessBase()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.SubversionVCS.svn_base</a>.</p> <div class="fragment"><div class="line"><a name="l00742"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2"> 742</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2">GuessBase</a>(self, required):</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="stringliteral">"""Wrapper for _GuessBase."""</span></div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="keywordflow">return</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a></div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_a7d22d459469a757270502ce0dccacbd2"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2">upload.SubversionVCS.GuessBase</a></div><div class="ttdeci">def GuessBase(self, required)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00742">upload.py:742</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a60645c40d2fea4cd52881576bd13341f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">upload.SubversionVCS.svn_base</a></div><div class="ttdeci">svn_base</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.py:740</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a7d22d459469a757270502ce0dccacbd2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GuessBase </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>required</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Wrapper for _GuessBase.</pre> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00742">742</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.SubversionVCS.svn_base</a>.</p> <p>Referenced by <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00742">upload.SubversionVCS.GuessBase()</a>.</p> <div class="fragment"><div class="line"><a name="l00742"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2"> 742</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2">GuessBase</a>(self, required):</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="stringliteral">"""Wrapper for _GuessBase."""</span></div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="keywordflow">return</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a></div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_a7d22d459469a757270502ce0dccacbd2"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2">upload.SubversionVCS.GuessBase</a></div><div class="ttdeci">def GuessBase(self, required)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00742">upload.py:742</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a60645c40d2fea4cd52881576bd13341f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">upload.SubversionVCS.svn_base</a></div><div class="ttdeci">svn_base</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.py:740</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a7d22d459469a757270502ce0dccacbd2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GuessBase </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>required</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Wrapper for _GuessBase.</pre> <p>Definition at line <a class="el" href="lib_2test_2googletest-release-1_88_80_2googletest_2scripts_2upload_8py_source.html#l00742">742</a> of file <a class="el" href="lib_2test_2googletest-release-1_88_80_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00742">upload.SubversionVCS.GuessBase()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.SubversionVCS.svn_base</a>.</p> <div class="fragment"><div class="line"><a name="l00742"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2"> 742</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2">GuessBase</a>(self, required):</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="stringliteral">"""Wrapper for _GuessBase."""</span></div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="keywordflow">return</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a></div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_a7d22d459469a757270502ce0dccacbd2"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2">upload.SubversionVCS.GuessBase</a></div><div class="ttdeci">def GuessBase(self, required)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00742">upload.py:742</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a60645c40d2fea4cd52881576bd13341f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">upload.SubversionVCS.svn_base</a></div><div class="ttdeci">svn_base</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.py:740</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a7d22d459469a757270502ce0dccacbd2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GuessBase </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>required</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Wrapper for _GuessBase.</pre> <p>Definition at line <a class="el" href="lib_2test_2googletest-release-1_88_80_2googlemock_2scripts_2upload_8py_source.html#l00742">742</a> of file <a class="el" href="lib_2test_2googletest-release-1_88_80_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00742">upload.SubversionVCS.GuessBase()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.SubversionVCS.svn_base</a>.</p> <div class="fragment"><div class="line"><a name="l00742"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2"> 742</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2">GuessBase</a>(self, required):</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="stringliteral">"""Wrapper for _GuessBase."""</span></div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="keywordflow">return</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a></div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_a7d22d459469a757270502ce0dccacbd2"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2">upload.SubversionVCS.GuessBase</a></div><div class="ttdeci">def GuessBase(self, required)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00742">upload.py:742</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a60645c40d2fea4cd52881576bd13341f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">upload.SubversionVCS.svn_base</a></div><div class="ttdeci">svn_base</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.py:740</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a7d22d459469a757270502ce0dccacbd2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GuessBase </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>required</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Wrapper for _GuessBase.</pre> <p>Definition at line <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00742">742</a> of file <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00742">upload.SubversionVCS.GuessBase()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.SubversionVCS.svn_base</a>.</p> <div class="fragment"><div class="line"><a name="l00742"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2"> 742</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2">GuessBase</a>(self, required):</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="stringliteral">"""Wrapper for _GuessBase."""</span></div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="keywordflow">return</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a></div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_a7d22d459469a757270502ce0dccacbd2"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2">upload.SubversionVCS.GuessBase</a></div><div class="ttdeci">def GuessBase(self, required)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00742">upload.py:742</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a60645c40d2fea4cd52881576bd13341f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">upload.SubversionVCS.svn_base</a></div><div class="ttdeci">svn_base</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.py:740</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a7d22d459469a757270502ce0dccacbd2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.GuessBase </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>required</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Wrapper for _GuessBase.</pre> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00742">742</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00742">upload.SubversionVCS.GuessBase()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.SubversionVCS.svn_base</a>.</p> <div class="fragment"><div class="line"><a name="l00742"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2"> 742</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2">GuessBase</a>(self, required):</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="stringliteral">"""Wrapper for _GuessBase."""</span></div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="keywordflow">return</span> self.<a class="code" href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">svn_base</a></div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_a7d22d459469a757270502ce0dccacbd2"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a7d22d459469a757270502ce0dccacbd2">upload.SubversionVCS.GuessBase</a></div><div class="ttdeci">def GuessBase(self, required)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00742">upload.py:742</a></div></div> <div class="ttc" id="classupload_1_1SubversionVCS_html_a60645c40d2fea4cd52881576bd13341f"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a60645c40d2fea4cd52881576bd13341f">upload.SubversionVCS.svn_base</a></div><div class="ttdeci">svn_base</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">upload.py:740</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a340d269b74386ac863636f6b0683d9f4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.ReadFile </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>filename</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Returns the contents of a file.</pre> <p>Definition at line <a class="el" href="lib_2test_2googletest-release-1_88_80_2googlemock_2scripts_2upload_8py_source.html#l00844">844</a> of file <a class="el" href="lib_2test_2googletest-release-1_88_80_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.SubversionVCS.ReadFile()</a>.</p> <div class="fragment"><div class="line"><a name="l00844"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4"> 844</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a>(self, filename):</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  <span class="stringliteral">"""Returns the contents of a file."""</span></div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  file = open(filename, <span class="stringliteral">'rb'</span>)</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  result = <span class="stringliteral">""</span></div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  <span class="keywordflow">try</span>:</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  result = file.read()</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  <span class="keywordflow">finally</span>:</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  file.close()</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>  <span class="keywordflow">return</span> result</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_a340d269b74386ac863636f6b0683d9f4"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">upload.SubversionVCS.ReadFile</a></div><div class="ttdeci">def ReadFile(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.py:844</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a340d269b74386ac863636f6b0683d9f4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.ReadFile </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>filename</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Returns the contents of a file.</pre> <p>Definition at line <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">844</a> of file <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.SubversionVCS.ReadFile()</a>.</p> <div class="fragment"><div class="line"><a name="l00844"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4"> 844</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a>(self, filename):</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  <span class="stringliteral">"""Returns the contents of a file."""</span></div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  file = open(filename, <span class="stringliteral">'rb'</span>)</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  result = <span class="stringliteral">""</span></div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  <span class="keywordflow">try</span>:</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  result = file.read()</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  <span class="keywordflow">finally</span>:</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  file.close()</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>  <span class="keywordflow">return</span> result</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_a340d269b74386ac863636f6b0683d9f4"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">upload.SubversionVCS.ReadFile</a></div><div class="ttdeci">def ReadFile(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.py:844</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a340d269b74386ac863636f6b0683d9f4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.ReadFile </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>filename</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Returns the contents of a file.</pre> <p>Definition at line <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00844">844</a> of file <a class="el" href="wangle_2__build_2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.SubversionVCS.ReadFile()</a>.</p> <div class="fragment"><div class="line"><a name="l00844"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4"> 844</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a>(self, filename):</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  <span class="stringliteral">"""Returns the contents of a file."""</span></div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  file = open(filename, <span class="stringliteral">'rb'</span>)</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  result = <span class="stringliteral">""</span></div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  <span class="keywordflow">try</span>:</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  result = file.read()</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  <span class="keywordflow">finally</span>:</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  file.close()</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>  <span class="keywordflow">return</span> result</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_a340d269b74386ac863636f6b0683d9f4"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">upload.SubversionVCS.ReadFile</a></div><div class="ttdeci">def ReadFile(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.py:844</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a340d269b74386ac863636f6b0683d9f4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.ReadFile </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>filename</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Returns the contents of a file.</pre> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">844</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>Referenced by <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00898">upload.SubversionVCS.GetBaseFile()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00844">upload.SubversionVCS.ReadFile()</a>.</p> <div class="fragment"><div class="line"><a name="l00844"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4"> 844</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a>(self, filename):</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  <span class="stringliteral">"""Returns the contents of a file."""</span></div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  file = open(filename, <span class="stringliteral">'rb'</span>)</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  result = <span class="stringliteral">""</span></div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  <span class="keywordflow">try</span>:</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  result = file.read()</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  <span class="keywordflow">finally</span>:</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  file.close()</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>  <span class="keywordflow">return</span> result</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_a340d269b74386ac863636f6b0683d9f4"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">upload.SubversionVCS.ReadFile</a></div><div class="ttdeci">def ReadFile(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.py:844</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a340d269b74386ac863636f6b0683d9f4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.ReadFile </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>filename</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Returns the contents of a file.</pre> <p>Definition at line <a class="el" href="lib_2test_2googletest-release-1_88_80_2googletest_2scripts_2upload_8py_source.html#l00844">844</a> of file <a class="el" href="lib_2test_2googletest-release-1_88_80_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.SubversionVCS.ReadFile()</a>.</p> <div class="fragment"><div class="line"><a name="l00844"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4"> 844</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a>(self, filename):</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  <span class="stringliteral">"""Returns the contents of a file."""</span></div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  file = open(filename, <span class="stringliteral">'rb'</span>)</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  result = <span class="stringliteral">""</span></div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  <span class="keywordflow">try</span>:</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  result = file.read()</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  <span class="keywordflow">finally</span>:</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  file.close()</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>  <span class="keywordflow">return</span> result</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_a340d269b74386ac863636f6b0683d9f4"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">upload.SubversionVCS.ReadFile</a></div><div class="ttdeci">def ReadFile(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.py:844</a></div></div> </div><!-- fragment --> </div> </div> <a class="anchor" id="a340d269b74386ac863636f6b0683d9f4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">def upload.SubversionVCS.ReadFile </td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>filename</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <pre class="fragment">Returns the contents of a file.</pre> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00844">844</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>References <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.SubversionVCS.ReadFile()</a>.</p> <div class="fragment"><div class="line"><a name="l00844"></a><span class="lineno"><a class="line" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4"> 844</a></span>  <span class="keyword">def </span><a class="code" href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">ReadFile</a>(self, filename):</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  <span class="stringliteral">"""Returns the contents of a file."""</span></div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  file = open(filename, <span class="stringliteral">'rb'</span>)</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  result = <span class="stringliteral">""</span></div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  <span class="keywordflow">try</span>:</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  result = file.read()</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  <span class="keywordflow">finally</span>:</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  file.close()</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>  <span class="keywordflow">return</span> result</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span> </div><div class="ttc" id="classupload_1_1SubversionVCS_html_a340d269b74386ac863636f6b0683d9f4"><div class="ttname"><a href="classupload_1_1SubversionVCS.html#a340d269b74386ac863636f6b0683d9f4">upload.SubversionVCS.ReadFile</a></div><div class="ttdeci">def ReadFile(self, filename)</div><div class="ttdef"><b>Definition:</b> <a href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00844">upload.py:844</a></div></div> </div><!-- fragment --> </div> </div> <h2 class="groupheader">Member Data Documentation</h2> <a class="anchor" id="ac0bb07a099c722b7f8622de4b225904f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">upload.SubversionVCS.rev_end</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00731">731</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>Referenced by <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00724">upload.SubversionVCS.__init__()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00898">upload.SubversionVCS.GetBaseFile()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.SubversionVCS.GetStatus()</a>.</p> </div> </div> <a class="anchor" id="ad1553a69f4a790309273dbdeb9077732"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">upload.SubversionVCS.rev_start</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00730">730</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>Referenced by <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00724">upload.SubversionVCS.__init__()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00898">upload.SubversionVCS.GetBaseFile()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.SubversionVCS.GetStatus()</a>.</p> </div> </div> <a class="anchor" id="a60645c40d2fea4cd52881576bd13341f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">upload.SubversionVCS.svn_base</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00740">740</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>Referenced by <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00724">upload.SubversionVCS.__init__()</a>, <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00898">upload.SubversionVCS.GetBaseFile()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00742">upload.SubversionVCS.GuessBase()</a>.</p> </div> </div> <a class="anchor" id="aa801782f807674b06f491df5d7ca9942"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">upload.SubversionVCS.svnls_cache</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00736">736</a> of file <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a>.</p> <p>Referenced by <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googletest_2scripts_2upload_8py_source.html#l00724">upload.SubversionVCS.__init__()</a>, and <a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html#l00854">upload.SubversionVCS.GetStatus()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>proxygen/fizz/build_/gtest/src/gtest/googlemock/scripts/<a class="el" href="fizz_2build___2gtest_2src_2gtest_2googlemock_2scripts_2upload_8py_source.html">upload.py</a></li> </ul> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="namespaceupload.html">upload</a></li><li class="navelem"><a class="el" href="classupload_1_1SubversionVCS.html">SubversionVCS</a></li> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li> </ul> </div> </body> </html>