<!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&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;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&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;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> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<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&#160;</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">&#160;</td></tr>
<tr class="memitem:a7d22d459469a757270502ce0dccacbd2"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a07c2d341f2c7df2772dd7f85e89b0212"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a494ba1010992d83cac015bc396ab693a"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a340d269b74386ac863636f6b0683d9f4"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ac3785eb1fa561088206d01570f9fe982"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a29dec4941de0824734d6842a2f33ffc3"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a8333f94e27335ce83eed0cc3f5a1eeb0"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a7d22d459469a757270502ce0dccacbd2"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a07c2d341f2c7df2772dd7f85e89b0212"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a494ba1010992d83cac015bc396ab693a"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a340d269b74386ac863636f6b0683d9f4"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ac3785eb1fa561088206d01570f9fe982"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a29dec4941de0824734d6842a2f33ffc3"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a8333f94e27335ce83eed0cc3f5a1eeb0"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a7d22d459469a757270502ce0dccacbd2"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a07c2d341f2c7df2772dd7f85e89b0212"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a494ba1010992d83cac015bc396ab693a"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a340d269b74386ac863636f6b0683d9f4"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ac3785eb1fa561088206d01570f9fe982"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a29dec4941de0824734d6842a2f33ffc3"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a8333f94e27335ce83eed0cc3f5a1eeb0"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a7d22d459469a757270502ce0dccacbd2"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a07c2d341f2c7df2772dd7f85e89b0212"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a494ba1010992d83cac015bc396ab693a"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a340d269b74386ac863636f6b0683d9f4"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ac3785eb1fa561088206d01570f9fe982"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a29dec4941de0824734d6842a2f33ffc3"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a8333f94e27335ce83eed0cc3f5a1eeb0"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a7d22d459469a757270502ce0dccacbd2"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a07c2d341f2c7df2772dd7f85e89b0212"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a494ba1010992d83cac015bc396ab693a"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a340d269b74386ac863636f6b0683d9f4"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ac3785eb1fa561088206d01570f9fe982"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a29dec4941de0824734d6842a2f33ffc3"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a8333f94e27335ce83eed0cc3f5a1eeb0"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a7d22d459469a757270502ce0dccacbd2"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a07c2d341f2c7df2772dd7f85e89b0212"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a494ba1010992d83cac015bc396ab693a"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a340d269b74386ac863636f6b0683d9f4"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ac3785eb1fa561088206d01570f9fe982"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a29dec4941de0824734d6842a2f33ffc3"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</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="-"/>&#160;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&#160;</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">&#160;</td></tr>
<tr class="memitem:aa5eb260c96e7016dab36b5fc136c9f49 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a56a60e56aa9aff3df4001d2f84cab884 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ad2923d691a1b1047e9359c5b7c1c103f inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:adfd9d4ecba422102233a2ba13e5bfaf5 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a812c3b3daf90c88b015fa4b26252e291 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a7e334f967301b9e85e5a9c39f5036823 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a846889ecd2ef40870b456ddb5b349e02 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ace97e5785a2b40011404ae6fbb956ecf inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:aa5eb260c96e7016dab36b5fc136c9f49 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a56a60e56aa9aff3df4001d2f84cab884 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ad2923d691a1b1047e9359c5b7c1c103f inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:adfd9d4ecba422102233a2ba13e5bfaf5 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a812c3b3daf90c88b015fa4b26252e291 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a7e334f967301b9e85e5a9c39f5036823 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a846889ecd2ef40870b456ddb5b349e02 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ace97e5785a2b40011404ae6fbb956ecf inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:aa5eb260c96e7016dab36b5fc136c9f49 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a56a60e56aa9aff3df4001d2f84cab884 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ad2923d691a1b1047e9359c5b7c1c103f inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:adfd9d4ecba422102233a2ba13e5bfaf5 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a812c3b3daf90c88b015fa4b26252e291 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a7e334f967301b9e85e5a9c39f5036823 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a846889ecd2ef40870b456ddb5b349e02 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ace97e5785a2b40011404ae6fbb956ecf inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:aa5eb260c96e7016dab36b5fc136c9f49 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a56a60e56aa9aff3df4001d2f84cab884 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ad2923d691a1b1047e9359c5b7c1c103f inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:adfd9d4ecba422102233a2ba13e5bfaf5 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a812c3b3daf90c88b015fa4b26252e291 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a7e334f967301b9e85e5a9c39f5036823 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a846889ecd2ef40870b456ddb5b349e02 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ace97e5785a2b40011404ae6fbb956ecf inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:aa5eb260c96e7016dab36b5fc136c9f49 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a56a60e56aa9aff3df4001d2f84cab884 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ad2923d691a1b1047e9359c5b7c1c103f inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:adfd9d4ecba422102233a2ba13e5bfaf5 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a812c3b3daf90c88b015fa4b26252e291 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a7e334f967301b9e85e5a9c39f5036823 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a846889ecd2ef40870b456ddb5b349e02 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ace97e5785a2b40011404ae6fbb956ecf inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:aa5eb260c96e7016dab36b5fc136c9f49 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a56a60e56aa9aff3df4001d2f84cab884 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ad2923d691a1b1047e9359c5b7c1c103f inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:adfd9d4ecba422102233a2ba13e5bfaf5 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a812c3b3daf90c88b015fa4b26252e291 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a7e334f967301b9e85e5a9c39f5036823 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:a846889ecd2ef40870b456ddb5b349e02 inherit pub_methods_classupload_1_1VersionControlSystem"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:ac0bb07a099c722b7f8622de4b225904f"><td class="memItemLeft" align="right" valign="top">&#160;</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">&#160;</td></tr>
<tr class="memitem:aa801782f807674b06f491df5d7ca9942"><td class="memItemLeft" align="right" valign="top">&#160;</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">&#160;</td></tr>
<tr class="memitem:a60645c40d2fea4cd52881576bd13341f"><td class="memItemLeft" align="right" valign="top">&#160;</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">&#160;</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="-"/>&#160;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">&#160;</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">&#160;</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&#160;</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">&#160;</td></tr>
<tr class="memitem:ab484ddd61e217927fb61639bacdbb68d"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ad257205675d7d9d291145f4aa405964b"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ab484ddd61e217927fb61639bacdbb68d"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ad257205675d7d9d291145f4aa405964b"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ab484ddd61e217927fb61639bacdbb68d"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ad257205675d7d9d291145f4aa405964b"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ab484ddd61e217927fb61639bacdbb68d"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ad257205675d7d9d291145f4aa405964b"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ab484ddd61e217927fb61639bacdbb68d"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ad257205675d7d9d291145f4aa405964b"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</td></tr>
<tr class="memitem:ab484ddd61e217927fb61639bacdbb68d"><td class="memItemLeft" align="right" valign="top">def&#160;</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">&#160;</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 &amp; 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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>options</em>&#160;</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>&#160;  <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>&#160;    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>&#160;    <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;      match = re.match(<span class="stringliteral">r&quot;(\d+)(:(\d+))?&quot;</span>, self.options.revision)</div><div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;      <span class="keywordflow">if</span> <span class="keywordflow">not</span> match:</div><div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;        <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Invalid Subversion revision %s.&quot;</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>&#160;      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>&#160;      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>&#160;    <span class="keywordflow">else</span>:</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;      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>&#160;    <span class="comment"># Cache output from &quot;svn list -r REVNO dirname&quot;.</span></div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;    <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>&#160;    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>&#160;    <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>&#160;    <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>&#160;    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>&#160;    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>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>options</em>&#160;</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>&#160;  <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>&#160;    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>&#160;    <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;      match = re.match(<span class="stringliteral">r&quot;(\d+)(:(\d+))?&quot;</span>, self.options.revision)</div><div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;      <span class="keywordflow">if</span> <span class="keywordflow">not</span> match:</div><div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;        <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Invalid Subversion revision %s.&quot;</span> % self.options.revision)</div><div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;      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>&#160;      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>&#160;    <span class="keywordflow">else</span>:</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;      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>&#160;    <span class="comment"># Cache output from &quot;svn list -r REVNO dirname&quot;.</span></div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;    <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>&#160;    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>&#160;    <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>&#160;    <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>&#160;    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>&#160;    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>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>options</em>&#160;</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>&#160;  <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>&#160;    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>&#160;    <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;      match = re.match(<span class="stringliteral">r&quot;(\d+)(:(\d+))?&quot;</span>, self.options.revision)</div><div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;      <span class="keywordflow">if</span> <span class="keywordflow">not</span> match:</div><div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;        <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Invalid Subversion revision %s.&quot;</span> % self.options.revision)</div><div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;      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>&#160;      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>&#160;    <span class="keywordflow">else</span>:</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;      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>&#160;    <span class="comment"># Cache output from &quot;svn list -r REVNO dirname&quot;.</span></div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;    <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>&#160;    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>&#160;    <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>&#160;    <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>&#160;    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>&#160;    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>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>options</em>&#160;</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>&#160;  <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>&#160;    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>&#160;    <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;      match = re.match(<span class="stringliteral">r&quot;(\d+)(:(\d+))?&quot;</span>, self.options.revision)</div><div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;      <span class="keywordflow">if</span> <span class="keywordflow">not</span> match:</div><div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;        <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Invalid Subversion revision %s.&quot;</span> % self.options.revision)</div><div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;      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>&#160;      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>&#160;    <span class="keywordflow">else</span>:</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;      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>&#160;    <span class="comment"># Cache output from &quot;svn list -r REVNO dirname&quot;.</span></div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;    <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>&#160;    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>&#160;    <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>&#160;    <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>&#160;    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>&#160;    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>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>options</em>&#160;</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>&#160;  <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>&#160;    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>&#160;    <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;      match = re.match(<span class="stringliteral">r&quot;(\d+)(:(\d+))?&quot;</span>, self.options.revision)</div><div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;      <span class="keywordflow">if</span> <span class="keywordflow">not</span> match:</div><div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;        <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Invalid Subversion revision %s.&quot;</span> % self.options.revision)</div><div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;      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>&#160;      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>&#160;    <span class="keywordflow">else</span>:</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;      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>&#160;    <span class="comment"># Cache output from &quot;svn list -r REVNO dirname&quot;.</span></div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;    <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>&#160;    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>&#160;    <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>&#160;    <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>&#160;    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>&#160;    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>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>options</em>&#160;</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>&#160;  <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>&#160;    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>&#160;    <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;      match = re.match(<span class="stringliteral">r&quot;(\d+)(:(\d+))?&quot;</span>, self.options.revision)</div><div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;      <span class="keywordflow">if</span> <span class="keywordflow">not</span> match:</div><div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;        <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Invalid Subversion revision %s.&quot;</span> % self.options.revision)</div><div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;      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>&#160;      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>&#160;    <span class="keywordflow">else</span>:</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;      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>&#160;    <span class="comment"># Cache output from &quot;svn list -r REVNO dirname&quot;.</span></div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;    <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>&#160;    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>&#160;    <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>&#160;    <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>&#160;    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>&#160;    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>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>content</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>keyword_str</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Collapses SVN keywords.&quot;&quot;&quot;</span></div><div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;    <span class="comment"># svn cat translates keywords but svn diff doesn&#39;t. As a result of this</span></div><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;    <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>&#160;    <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>&#160;    <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>&#160;    <span class="comment"># Mapping of keywords to known aliases</span></div><div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;    svn_keywords = {</div><div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;      <span class="comment"># Standard keywords</span></div><div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;      <span class="stringliteral">&#39;Date&#39;</span>:                [<span class="stringliteral">&#39;Date&#39;</span>, <span class="stringliteral">&#39;LastChangedDate&#39;</span>],</div><div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;      <span class="stringliteral">&#39;Revision&#39;</span>:            [<span class="stringliteral">&#39;Revision&#39;</span>, <span class="stringliteral">&#39;LastChangedRevision&#39;</span>, <span class="stringliteral">&#39;Rev&#39;</span>],</div><div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;      <span class="stringliteral">&#39;Author&#39;</span>:              [<span class="stringliteral">&#39;Author&#39;</span>, <span class="stringliteral">&#39;LastChangedBy&#39;</span>],</div><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;      <span class="stringliteral">&#39;HeadURL&#39;</span>:             [<span class="stringliteral">&#39;HeadURL&#39;</span>, <span class="stringliteral">&#39;URL&#39;</span>],</div><div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;      <span class="stringliteral">&#39;Id&#39;</span>:                  [<span class="stringliteral">&#39;Id&#39;</span>],</div><div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;</div><div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;      <span class="comment"># Aliases</span></div><div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;      <span class="stringliteral">&#39;LastChangedDate&#39;</span>:     [<span class="stringliteral">&#39;LastChangedDate&#39;</span>, <span class="stringliteral">&#39;Date&#39;</span>],</div><div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;      <span class="stringliteral">&#39;LastChangedRevision&#39;</span>: [<span class="stringliteral">&#39;LastChangedRevision&#39;</span>, <span class="stringliteral">&#39;Rev&#39;</span>, <span class="stringliteral">&#39;Revision&#39;</span>],</div><div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;      <span class="stringliteral">&#39;LastChangedBy&#39;</span>:       [<span class="stringliteral">&#39;LastChangedBy&#39;</span>, <span class="stringliteral">&#39;Author&#39;</span>],</div><div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;      <span class="stringliteral">&#39;URL&#39;</span>:                 [<span class="stringliteral">&#39;URL&#39;</span>, <span class="stringliteral">&#39;HeadURL&#39;</span>],</div><div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;    }</div><div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;</div><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;    <span class="keyword">def </span>repl(m):</div><div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;       <span class="keywordflow">if</span> m.group(2):</div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;         <span class="keywordflow">return</span> <span class="stringliteral">&quot;$%s::%s$&quot;</span> % (m.group(1), <span class="stringliteral">&quot; &quot;</span> * len(m.group(3)))</div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;       <span class="keywordflow">return</span> <span class="stringliteral">&quot;$%s$&quot;</span> % m.group(1)</div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;    keywords = [keyword</div><div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;                <span class="keywordflow">for</span> name <span class="keywordflow">in</span> keyword_str.split(<span class="stringliteral">&quot; &quot;</span>)</div><div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;                <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>&#160;    <span class="keywordflow">return</span> re.sub(<span class="stringliteral">r&quot;\$(%s):(:?)([^\$]+)\$&quot;</span> % <span class="stringliteral">&#39;|&#39;</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>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>content</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>keyword_str</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Collapses SVN keywords.&quot;&quot;&quot;</span></div><div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;    <span class="comment"># svn cat translates keywords but svn diff doesn&#39;t. As a result of this</span></div><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;    <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>&#160;    <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>&#160;    <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>&#160;    <span class="comment"># Mapping of keywords to known aliases</span></div><div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;    svn_keywords = {</div><div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;      <span class="comment"># Standard keywords</span></div><div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;      <span class="stringliteral">&#39;Date&#39;</span>:                [<span class="stringliteral">&#39;Date&#39;</span>, <span class="stringliteral">&#39;LastChangedDate&#39;</span>],</div><div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;      <span class="stringliteral">&#39;Revision&#39;</span>:            [<span class="stringliteral">&#39;Revision&#39;</span>, <span class="stringliteral">&#39;LastChangedRevision&#39;</span>, <span class="stringliteral">&#39;Rev&#39;</span>],</div><div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;      <span class="stringliteral">&#39;Author&#39;</span>:              [<span class="stringliteral">&#39;Author&#39;</span>, <span class="stringliteral">&#39;LastChangedBy&#39;</span>],</div><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;      <span class="stringliteral">&#39;HeadURL&#39;</span>:             [<span class="stringliteral">&#39;HeadURL&#39;</span>, <span class="stringliteral">&#39;URL&#39;</span>],</div><div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;      <span class="stringliteral">&#39;Id&#39;</span>:                  [<span class="stringliteral">&#39;Id&#39;</span>],</div><div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;</div><div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;      <span class="comment"># Aliases</span></div><div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;      <span class="stringliteral">&#39;LastChangedDate&#39;</span>:     [<span class="stringliteral">&#39;LastChangedDate&#39;</span>, <span class="stringliteral">&#39;Date&#39;</span>],</div><div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;      <span class="stringliteral">&#39;LastChangedRevision&#39;</span>: [<span class="stringliteral">&#39;LastChangedRevision&#39;</span>, <span class="stringliteral">&#39;Rev&#39;</span>, <span class="stringliteral">&#39;Revision&#39;</span>],</div><div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;      <span class="stringliteral">&#39;LastChangedBy&#39;</span>:       [<span class="stringliteral">&#39;LastChangedBy&#39;</span>, <span class="stringliteral">&#39;Author&#39;</span>],</div><div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;      <span class="stringliteral">&#39;URL&#39;</span>:                 [<span class="stringliteral">&#39;URL&#39;</span>, <span class="stringliteral">&#39;HeadURL&#39;</span>],</div><div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;    }</div><div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;</div><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;    <span class="keyword">def </span>repl(m):</div><div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;       <span class="keywordflow">if</span> m.group(2):</div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;         <span class="keywordflow">return</span> <span class="stringliteral">&quot;$%s::%s$&quot;</span> % (m.group(1), <span class="stringliteral">&quot; &quot;</span> * len(m.group(3)))</div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;       <span class="keywordflow">return</span> <span class="stringliteral">&quot;$%s$&quot;</span> % m.group(1)</div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;    keywords = [keyword</div><div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;                <span class="keywordflow">for</span> name <span class="keywordflow">in</span> keyword_str.split(<span class="stringliteral">&quot; &quot;</span>)</div><div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;                <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>&#160;    <span class="keywordflow">return</span> re.sub(<span class="stringliteral">r&quot;\$(%s):(:?)([^\$]+)\$&quot;</span> % <span class="stringliteral">&#39;|&#39;</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>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>content</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>keyword_str</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Collapses SVN keywords.&quot;&quot;&quot;</span></div><div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;    <span class="comment"># svn cat translates keywords but svn diff doesn&#39;t. As a result of this</span></div><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;    <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>&#160;    <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>&#160;    <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>&#160;    <span class="comment"># Mapping of keywords to known aliases</span></div><div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;    svn_keywords = {</div><div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;      <span class="comment"># Standard keywords</span></div><div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;      <span class="stringliteral">&#39;Date&#39;</span>:                [<span class="stringliteral">&#39;Date&#39;</span>, <span class="stringliteral">&#39;LastChangedDate&#39;</span>],</div><div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;      <span class="stringliteral">&#39;Revision&#39;</span>:            [<span class="stringliteral">&#39;Revision&#39;</span>, <span class="stringliteral">&#39;LastChangedRevision&#39;</span>, <span class="stringliteral">&#39;Rev&#39;</span>],</div><div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;      <span class="stringliteral">&#39;Author&#39;</span>:              [<span class="stringliteral">&#39;Author&#39;</span>, <span class="stringliteral">&#39;LastChangedBy&#39;</span>],</div><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;      <span class="stringliteral">&#39;HeadURL&#39;</span>:             [<span class="stringliteral">&#39;HeadURL&#39;</span>, <span class="stringliteral">&#39;URL&#39;</span>],</div><div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;      <span class="stringliteral">&#39;Id&#39;</span>:                  [<span class="stringliteral">&#39;Id&#39;</span>],</div><div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;</div><div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;      <span class="comment"># Aliases</span></div><div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;      <span class="stringliteral">&#39;LastChangedDate&#39;</span>:     [<span class="stringliteral">&#39;LastChangedDate&#39;</span>, <span class="stringliteral">&#39;Date&#39;</span>],</div><div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;      <span class="stringliteral">&#39;LastChangedRevision&#39;</span>: [<span class="stringliteral">&#39;LastChangedRevision&#39;</span>, <span class="stringliteral">&#39;Rev&#39;</span>, <span class="stringliteral">&#39;Revision&#39;</span>],</div><div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;      <span class="stringliteral">&#39;LastChangedBy&#39;</span>:       [<span class="stringliteral">&#39;LastChangedBy&#39;</span>, <span class="stringliteral">&#39;Author&#39;</span>],</div><div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;      <span class="stringliteral">&#39;URL&#39;</span>:                 [<span class="stringliteral">&#39;URL&#39;</span>, <span class="stringliteral">&#39;HeadURL&#39;</span>],</div><div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;    }</div><div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;</div><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;    <span class="keyword">def </span>repl(m):</div><div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;       <span class="keywordflow">if</span> m.group(2):</div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;         <span class="keywordflow">return</span> <span class="stringliteral">&quot;$%s::%s$&quot;</span> % (m.group(1), <span class="stringliteral">&quot; &quot;</span> * len(m.group(3)))</div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;       <span class="keywordflow">return</span> <span class="stringliteral">&quot;$%s$&quot;</span> % m.group(1)</div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;    keywords = [keyword</div><div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;                <span class="keywordflow">for</span> name <span class="keywordflow">in</span> keyword_str.split(<span class="stringliteral">&quot; &quot;</span>)</div><div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;                <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>&#160;    <span class="keywordflow">return</span> re.sub(<span class="stringliteral">r&quot;\$(%s):(:?)([^\$]+)\$&quot;</span> % <span class="stringliteral">&#39;|&#39;</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>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>content</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>keyword_str</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Collapses SVN keywords.&quot;&quot;&quot;</span></div><div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;    <span class="comment"># svn cat translates keywords but svn diff doesn&#39;t. As a result of this</span></div><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;    <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>&#160;    <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>&#160;    <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>&#160;    <span class="comment"># Mapping of keywords to known aliases</span></div><div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;    svn_keywords = {</div><div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;      <span class="comment"># Standard keywords</span></div><div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;      <span class="stringliteral">&#39;Date&#39;</span>:                [<span class="stringliteral">&#39;Date&#39;</span>, <span class="stringliteral">&#39;LastChangedDate&#39;</span>],</div><div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;      <span class="stringliteral">&#39;Revision&#39;</span>:            [<span class="stringliteral">&#39;Revision&#39;</span>, <span class="stringliteral">&#39;LastChangedRevision&#39;</span>, <span class="stringliteral">&#39;Rev&#39;</span>],</div><div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;      <span class="stringliteral">&#39;Author&#39;</span>:              [<span class="stringliteral">&#39;Author&#39;</span>, <span class="stringliteral">&#39;LastChangedBy&#39;</span>],</div><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;      <span class="stringliteral">&#39;HeadURL&#39;</span>:             [<span class="stringliteral">&#39;HeadURL&#39;</span>, <span class="stringliteral">&#39;URL&#39;</span>],</div><div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;      <span class="stringliteral">&#39;Id&#39;</span>:                  [<span class="stringliteral">&#39;Id&#39;</span>],</div><div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;</div><div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;      <span class="comment"># Aliases</span></div><div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;      <span class="stringliteral">&#39;LastChangedDate&#39;</span>:     [<span class="stringliteral">&#39;LastChangedDate&#39;</span>, <span class="stringliteral">&#39;Date&#39;</span>],</div><div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;      <span class="stringliteral">&#39;LastChangedRevision&#39;</span>: [<span class="stringliteral">&#39;LastChangedRevision&#39;</span>, <span class="stringliteral">&#39;Rev&#39;</span>, <span class="stringliteral">&#39;Revision&#39;</span>],</div><div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;      <span class="stringliteral">&#39;LastChangedBy&#39;</span>:       [<span class="stringliteral">&#39;LastChangedBy&#39;</span>, <span class="stringliteral">&#39;Author&#39;</span>],</div><div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;      <span class="stringliteral">&#39;URL&#39;</span>:                 [<span class="stringliteral">&#39;URL&#39;</span>, <span class="stringliteral">&#39;HeadURL&#39;</span>],</div><div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;    }</div><div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;</div><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;    <span class="keyword">def </span>repl(m):</div><div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;       <span class="keywordflow">if</span> m.group(2):</div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;         <span class="keywordflow">return</span> <span class="stringliteral">&quot;$%s::%s$&quot;</span> % (m.group(1), <span class="stringliteral">&quot; &quot;</span> * len(m.group(3)))</div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;       <span class="keywordflow">return</span> <span class="stringliteral">&quot;$%s$&quot;</span> % m.group(1)</div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;    keywords = [keyword</div><div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;                <span class="keywordflow">for</span> name <span class="keywordflow">in</span> keyword_str.split(<span class="stringliteral">&quot; &quot;</span>)</div><div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;                <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>&#160;    <span class="keywordflow">return</span> re.sub(<span class="stringliteral">r&quot;\$(%s):(:?)([^\$]+)\$&quot;</span> % <span class="stringliteral">&#39;|&#39;</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>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>content</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>keyword_str</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Collapses SVN keywords.&quot;&quot;&quot;</span></div><div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;    <span class="comment"># svn cat translates keywords but svn diff doesn&#39;t. As a result of this</span></div><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;    <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>&#160;    <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>&#160;    <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>&#160;    <span class="comment"># Mapping of keywords to known aliases</span></div><div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;    svn_keywords = {</div><div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;      <span class="comment"># Standard keywords</span></div><div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;      <span class="stringliteral">&#39;Date&#39;</span>:                [<span class="stringliteral">&#39;Date&#39;</span>, <span class="stringliteral">&#39;LastChangedDate&#39;</span>],</div><div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;      <span class="stringliteral">&#39;Revision&#39;</span>:            [<span class="stringliteral">&#39;Revision&#39;</span>, <span class="stringliteral">&#39;LastChangedRevision&#39;</span>, <span class="stringliteral">&#39;Rev&#39;</span>],</div><div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;      <span class="stringliteral">&#39;Author&#39;</span>:              [<span class="stringliteral">&#39;Author&#39;</span>, <span class="stringliteral">&#39;LastChangedBy&#39;</span>],</div><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;      <span class="stringliteral">&#39;HeadURL&#39;</span>:             [<span class="stringliteral">&#39;HeadURL&#39;</span>, <span class="stringliteral">&#39;URL&#39;</span>],</div><div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;      <span class="stringliteral">&#39;Id&#39;</span>:                  [<span class="stringliteral">&#39;Id&#39;</span>],</div><div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;</div><div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;      <span class="comment"># Aliases</span></div><div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;      <span class="stringliteral">&#39;LastChangedDate&#39;</span>:     [<span class="stringliteral">&#39;LastChangedDate&#39;</span>, <span class="stringliteral">&#39;Date&#39;</span>],</div><div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;      <span class="stringliteral">&#39;LastChangedRevision&#39;</span>: [<span class="stringliteral">&#39;LastChangedRevision&#39;</span>, <span class="stringliteral">&#39;Rev&#39;</span>, <span class="stringliteral">&#39;Revision&#39;</span>],</div><div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;      <span class="stringliteral">&#39;LastChangedBy&#39;</span>:       [<span class="stringliteral">&#39;LastChangedBy&#39;</span>, <span class="stringliteral">&#39;Author&#39;</span>],</div><div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;      <span class="stringliteral">&#39;URL&#39;</span>:                 [<span class="stringliteral">&#39;URL&#39;</span>, <span class="stringliteral">&#39;HeadURL&#39;</span>],</div><div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;    }</div><div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;</div><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;    <span class="keyword">def </span>repl(m):</div><div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;       <span class="keywordflow">if</span> m.group(2):</div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;         <span class="keywordflow">return</span> <span class="stringliteral">&quot;$%s::%s$&quot;</span> % (m.group(1), <span class="stringliteral">&quot; &quot;</span> * len(m.group(3)))</div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;       <span class="keywordflow">return</span> <span class="stringliteral">&quot;$%s$&quot;</span> % m.group(1)</div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;    keywords = [keyword</div><div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;                <span class="keywordflow">for</span> name <span class="keywordflow">in</span> keyword_str.split(<span class="stringliteral">&quot; &quot;</span>)</div><div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;                <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>&#160;    <span class="keywordflow">return</span> re.sub(<span class="stringliteral">r&quot;\$(%s):(:?)([^\$]+)\$&quot;</span> % <span class="stringliteral">&#39;|&#39;</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>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>content</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>keyword_str</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Collapses SVN keywords.&quot;&quot;&quot;</span></div><div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;    <span class="comment"># svn cat translates keywords but svn diff doesn&#39;t. As a result of this</span></div><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;    <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>&#160;    <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>&#160;    <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>&#160;    <span class="comment"># Mapping of keywords to known aliases</span></div><div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;    svn_keywords = {</div><div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;      <span class="comment"># Standard keywords</span></div><div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;      <span class="stringliteral">&#39;Date&#39;</span>:                [<span class="stringliteral">&#39;Date&#39;</span>, <span class="stringliteral">&#39;LastChangedDate&#39;</span>],</div><div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;      <span class="stringliteral">&#39;Revision&#39;</span>:            [<span class="stringliteral">&#39;Revision&#39;</span>, <span class="stringliteral">&#39;LastChangedRevision&#39;</span>, <span class="stringliteral">&#39;Rev&#39;</span>],</div><div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;      <span class="stringliteral">&#39;Author&#39;</span>:              [<span class="stringliteral">&#39;Author&#39;</span>, <span class="stringliteral">&#39;LastChangedBy&#39;</span>],</div><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;      <span class="stringliteral">&#39;HeadURL&#39;</span>:             [<span class="stringliteral">&#39;HeadURL&#39;</span>, <span class="stringliteral">&#39;URL&#39;</span>],</div><div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;      <span class="stringliteral">&#39;Id&#39;</span>:                  [<span class="stringliteral">&#39;Id&#39;</span>],</div><div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;</div><div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;      <span class="comment"># Aliases</span></div><div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;      <span class="stringliteral">&#39;LastChangedDate&#39;</span>:     [<span class="stringliteral">&#39;LastChangedDate&#39;</span>, <span class="stringliteral">&#39;Date&#39;</span>],</div><div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;      <span class="stringliteral">&#39;LastChangedRevision&#39;</span>: [<span class="stringliteral">&#39;LastChangedRevision&#39;</span>, <span class="stringliteral">&#39;Rev&#39;</span>, <span class="stringliteral">&#39;Revision&#39;</span>],</div><div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;      <span class="stringliteral">&#39;LastChangedBy&#39;</span>:       [<span class="stringliteral">&#39;LastChangedBy&#39;</span>, <span class="stringliteral">&#39;Author&#39;</span>],</div><div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;      <span class="stringliteral">&#39;URL&#39;</span>:                 [<span class="stringliteral">&#39;URL&#39;</span>, <span class="stringliteral">&#39;HeadURL&#39;</span>],</div><div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;    }</div><div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;</div><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;    <span class="keyword">def </span>repl(m):</div><div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;       <span class="keywordflow">if</span> m.group(2):</div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;         <span class="keywordflow">return</span> <span class="stringliteral">&quot;$%s::%s$&quot;</span> % (m.group(1), <span class="stringliteral">&quot; &quot;</span> * len(m.group(3)))</div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;       <span class="keywordflow">return</span> <span class="stringliteral">&quot;$%s$&quot;</span> % m.group(1)</div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;    keywords = [keyword</div><div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;                <span class="keywordflow">for</span> name <span class="keywordflow">in</span> keyword_str.split(<span class="stringliteral">&quot; &quot;</span>)</div><div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;                <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>&#160;    <span class="keywordflow">return</span> re.sub(<span class="stringliteral">r&quot;\$(%s):(:?)([^\$]+)\$&quot;</span> % <span class="stringliteral">&#39;|&#39;</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>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>required</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Returns the SVN base URL.</span></div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;<span class="stringliteral">    Args:</span></div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;<span class="stringliteral">      required: If true, exits if the url can&#39;t be guessed, otherwise None is</span></div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;<span class="stringliteral">        returned.</span></div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;<span class="stringliteral">    &quot;&quot;&quot;</span></div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;    info = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;info&quot;</span>])</div><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;    <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>&#160;      words = line.split()</div><div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;      <span class="keywordflow">if</span> len(words) == 2 <span class="keywordflow">and</span> words[0] == <span class="stringliteral">&quot;URL:&quot;</span>:</div><div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;        url = words[1]</div><div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;        scheme, netloc, path, params, query, fragment = urlparse.urlparse(url)</div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;        username, netloc = urllib.splituser(netloc)</div><div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;        <span class="keywordflow">if</span> username:</div><div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;          logging.info(<span class="stringliteral">&quot;Removed username from base URL&quot;</span>)</div><div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;        <span class="keywordflow">if</span> netloc.endswith(<span class="stringliteral">&quot;svn.python.org&quot;</span>):</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;          <span class="keywordflow">if</span> netloc == <span class="stringliteral">&quot;svn.python.org&quot;</span>:</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;            <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">&quot;/projects/&quot;</span>):</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;              path = path[9:]</div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;          <span class="keywordflow">elif</span> netloc != <span class="stringliteral">&quot;pythondev@svn.python.org&quot;</span>:</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;            <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Unrecognized Python URL: %s&quot;</span> % url)</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;          base = <span class="stringliteral">&quot;http://svn.python.org/view/*checkout*%s/&quot;</span> % path</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed Python base = %s&quot;</span>, base)</div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;        <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">&quot;svn.collab.net&quot;</span>):</div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;          <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">&quot;/repos/&quot;</span>):</div><div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;            path = path[6:]</div><div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;          base = <span class="stringliteral">&quot;http://svn.collab.net/viewvc/*checkout*%s/&quot;</span> % path</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed CollabNet base = %s&quot;</span>, base)</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;        <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">&quot;.googlecode.com&quot;</span>):</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;          path = path + <span class="stringliteral">&quot;/&quot;</span></div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;          base = urlparse.urlunparse((<span class="stringliteral">&quot;http&quot;</span>, netloc, path, params,</div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;                                      query, fragment))</div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed Google Code base = %s&quot;</span>, base)</div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;          path = path + <span class="stringliteral">&quot;/&quot;</span></div><div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;          base = urlparse.urlunparse((scheme, netloc, path, params,</div><div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;                                      query, fragment))</div><div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed base = %s&quot;</span>, base)</div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;        <span class="keywordflow">return</span> base</div><div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;    <span class="keywordflow">if</span> required:</div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;      <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Can&#39;t find URL in output from svn info&quot;</span>)</div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;    <span class="keywordflow">return</span> <span class="keywordtype">None</span></div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>required</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Returns the SVN base URL.</span></div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;<span class="stringliteral">    Args:</span></div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;<span class="stringliteral">      required: If true, exits if the url can&#39;t be guessed, otherwise None is</span></div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;<span class="stringliteral">        returned.</span></div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;<span class="stringliteral">    &quot;&quot;&quot;</span></div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;    info = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;info&quot;</span>])</div><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;    <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>&#160;      words = line.split()</div><div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;      <span class="keywordflow">if</span> len(words) == 2 <span class="keywordflow">and</span> words[0] == <span class="stringliteral">&quot;URL:&quot;</span>:</div><div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;        url = words[1]</div><div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;        scheme, netloc, path, params, query, fragment = urlparse.urlparse(url)</div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;        username, netloc = urllib.splituser(netloc)</div><div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;        <span class="keywordflow">if</span> username:</div><div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;          logging.info(<span class="stringliteral">&quot;Removed username from base URL&quot;</span>)</div><div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;        <span class="keywordflow">if</span> netloc.endswith(<span class="stringliteral">&quot;svn.python.org&quot;</span>):</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;          <span class="keywordflow">if</span> netloc == <span class="stringliteral">&quot;svn.python.org&quot;</span>:</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;            <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">&quot;/projects/&quot;</span>):</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;              path = path[9:]</div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;          <span class="keywordflow">elif</span> netloc != <span class="stringliteral">&quot;pythondev@svn.python.org&quot;</span>:</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;            <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Unrecognized Python URL: %s&quot;</span> % url)</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;          base = <span class="stringliteral">&quot;http://svn.python.org/view/*checkout*%s/&quot;</span> % path</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed Python base = %s&quot;</span>, base)</div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;        <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">&quot;svn.collab.net&quot;</span>):</div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;          <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">&quot;/repos/&quot;</span>):</div><div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;            path = path[6:]</div><div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;          base = <span class="stringliteral">&quot;http://svn.collab.net/viewvc/*checkout*%s/&quot;</span> % path</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed CollabNet base = %s&quot;</span>, base)</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;        <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">&quot;.googlecode.com&quot;</span>):</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;          path = path + <span class="stringliteral">&quot;/&quot;</span></div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;          base = urlparse.urlunparse((<span class="stringliteral">&quot;http&quot;</span>, netloc, path, params,</div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;                                      query, fragment))</div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed Google Code base = %s&quot;</span>, base)</div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;          path = path + <span class="stringliteral">&quot;/&quot;</span></div><div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;          base = urlparse.urlunparse((scheme, netloc, path, params,</div><div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;                                      query, fragment))</div><div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed base = %s&quot;</span>, base)</div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;        <span class="keywordflow">return</span> base</div><div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;    <span class="keywordflow">if</span> required:</div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;      <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Can&#39;t find URL in output from svn info&quot;</span>)</div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;    <span class="keywordflow">return</span> <span class="keywordtype">None</span></div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>required</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Returns the SVN base URL.</span></div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;<span class="stringliteral">    Args:</span></div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;<span class="stringliteral">      required: If true, exits if the url can&#39;t be guessed, otherwise None is</span></div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;<span class="stringliteral">        returned.</span></div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;<span class="stringliteral">    &quot;&quot;&quot;</span></div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;    info = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;info&quot;</span>])</div><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;    <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>&#160;      words = line.split()</div><div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;      <span class="keywordflow">if</span> len(words) == 2 <span class="keywordflow">and</span> words[0] == <span class="stringliteral">&quot;URL:&quot;</span>:</div><div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;        url = words[1]</div><div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;        scheme, netloc, path, params, query, fragment = urlparse.urlparse(url)</div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;        username, netloc = urllib.splituser(netloc)</div><div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;        <span class="keywordflow">if</span> username:</div><div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;          logging.info(<span class="stringliteral">&quot;Removed username from base URL&quot;</span>)</div><div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;        <span class="keywordflow">if</span> netloc.endswith(<span class="stringliteral">&quot;svn.python.org&quot;</span>):</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;          <span class="keywordflow">if</span> netloc == <span class="stringliteral">&quot;svn.python.org&quot;</span>:</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;            <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">&quot;/projects/&quot;</span>):</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;              path = path[9:]</div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;          <span class="keywordflow">elif</span> netloc != <span class="stringliteral">&quot;pythondev@svn.python.org&quot;</span>:</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;            <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Unrecognized Python URL: %s&quot;</span> % url)</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;          base = <span class="stringliteral">&quot;http://svn.python.org/view/*checkout*%s/&quot;</span> % path</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed Python base = %s&quot;</span>, base)</div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;        <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">&quot;svn.collab.net&quot;</span>):</div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;          <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">&quot;/repos/&quot;</span>):</div><div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;            path = path[6:]</div><div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;          base = <span class="stringliteral">&quot;http://svn.collab.net/viewvc/*checkout*%s/&quot;</span> % path</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed CollabNet base = %s&quot;</span>, base)</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;        <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">&quot;.googlecode.com&quot;</span>):</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;          path = path + <span class="stringliteral">&quot;/&quot;</span></div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;          base = urlparse.urlunparse((<span class="stringliteral">&quot;http&quot;</span>, netloc, path, params,</div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;                                      query, fragment))</div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed Google Code base = %s&quot;</span>, base)</div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;          path = path + <span class="stringliteral">&quot;/&quot;</span></div><div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;          base = urlparse.urlunparse((scheme, netloc, path, params,</div><div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;                                      query, fragment))</div><div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed base = %s&quot;</span>, base)</div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;        <span class="keywordflow">return</span> base</div><div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;    <span class="keywordflow">if</span> required:</div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;      <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Can&#39;t find URL in output from svn info&quot;</span>)</div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;    <span class="keywordflow">return</span> <span class="keywordtype">None</span></div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>required</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Returns the SVN base URL.</span></div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;<span class="stringliteral">    Args:</span></div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;<span class="stringliteral">      required: If true, exits if the url can&#39;t be guessed, otherwise None is</span></div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;<span class="stringliteral">        returned.</span></div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;<span class="stringliteral">    &quot;&quot;&quot;</span></div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;    info = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;info&quot;</span>])</div><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;    <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>&#160;      words = line.split()</div><div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;      <span class="keywordflow">if</span> len(words) == 2 <span class="keywordflow">and</span> words[0] == <span class="stringliteral">&quot;URL:&quot;</span>:</div><div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;        url = words[1]</div><div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;        scheme, netloc, path, params, query, fragment = urlparse.urlparse(url)</div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;        username, netloc = urllib.splituser(netloc)</div><div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;        <span class="keywordflow">if</span> username:</div><div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;          logging.info(<span class="stringliteral">&quot;Removed username from base URL&quot;</span>)</div><div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;        <span class="keywordflow">if</span> netloc.endswith(<span class="stringliteral">&quot;svn.python.org&quot;</span>):</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;          <span class="keywordflow">if</span> netloc == <span class="stringliteral">&quot;svn.python.org&quot;</span>:</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;            <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">&quot;/projects/&quot;</span>):</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;              path = path[9:]</div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;          <span class="keywordflow">elif</span> netloc != <span class="stringliteral">&quot;pythondev@svn.python.org&quot;</span>:</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;            <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Unrecognized Python URL: %s&quot;</span> % url)</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;          base = <span class="stringliteral">&quot;http://svn.python.org/view/*checkout*%s/&quot;</span> % path</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed Python base = %s&quot;</span>, base)</div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;        <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">&quot;svn.collab.net&quot;</span>):</div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;          <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">&quot;/repos/&quot;</span>):</div><div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;            path = path[6:]</div><div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;          base = <span class="stringliteral">&quot;http://svn.collab.net/viewvc/*checkout*%s/&quot;</span> % path</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed CollabNet base = %s&quot;</span>, base)</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;        <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">&quot;.googlecode.com&quot;</span>):</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;          path = path + <span class="stringliteral">&quot;/&quot;</span></div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;          base = urlparse.urlunparse((<span class="stringliteral">&quot;http&quot;</span>, netloc, path, params,</div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;                                      query, fragment))</div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed Google Code base = %s&quot;</span>, base)</div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;          path = path + <span class="stringliteral">&quot;/&quot;</span></div><div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;          base = urlparse.urlunparse((scheme, netloc, path, params,</div><div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;                                      query, fragment))</div><div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed base = %s&quot;</span>, base)</div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;        <span class="keywordflow">return</span> base</div><div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;    <span class="keywordflow">if</span> required:</div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;      <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Can&#39;t find URL in output from svn info&quot;</span>)</div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;    <span class="keywordflow">return</span> <span class="keywordtype">None</span></div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>required</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Returns the SVN base URL.</span></div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;<span class="stringliteral">    Args:</span></div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;<span class="stringliteral">      required: If true, exits if the url can&#39;t be guessed, otherwise None is</span></div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;<span class="stringliteral">        returned.</span></div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;<span class="stringliteral">    &quot;&quot;&quot;</span></div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;    info = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;info&quot;</span>])</div><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;    <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>&#160;      words = line.split()</div><div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;      <span class="keywordflow">if</span> len(words) == 2 <span class="keywordflow">and</span> words[0] == <span class="stringliteral">&quot;URL:&quot;</span>:</div><div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;        url = words[1]</div><div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;        scheme, netloc, path, params, query, fragment = urlparse.urlparse(url)</div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;        username, netloc = urllib.splituser(netloc)</div><div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;        <span class="keywordflow">if</span> username:</div><div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;          logging.info(<span class="stringliteral">&quot;Removed username from base URL&quot;</span>)</div><div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;        <span class="keywordflow">if</span> netloc.endswith(<span class="stringliteral">&quot;svn.python.org&quot;</span>):</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;          <span class="keywordflow">if</span> netloc == <span class="stringliteral">&quot;svn.python.org&quot;</span>:</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;            <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">&quot;/projects/&quot;</span>):</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;              path = path[9:]</div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;          <span class="keywordflow">elif</span> netloc != <span class="stringliteral">&quot;pythondev@svn.python.org&quot;</span>:</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;            <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Unrecognized Python URL: %s&quot;</span> % url)</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;          base = <span class="stringliteral">&quot;http://svn.python.org/view/*checkout*%s/&quot;</span> % path</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed Python base = %s&quot;</span>, base)</div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;        <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">&quot;svn.collab.net&quot;</span>):</div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;          <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">&quot;/repos/&quot;</span>):</div><div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;            path = path[6:]</div><div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;          base = <span class="stringliteral">&quot;http://svn.collab.net/viewvc/*checkout*%s/&quot;</span> % path</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed CollabNet base = %s&quot;</span>, base)</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;        <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">&quot;.googlecode.com&quot;</span>):</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;          path = path + <span class="stringliteral">&quot;/&quot;</span></div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;          base = urlparse.urlunparse((<span class="stringliteral">&quot;http&quot;</span>, netloc, path, params,</div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;                                      query, fragment))</div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed Google Code base = %s&quot;</span>, base)</div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;          path = path + <span class="stringliteral">&quot;/&quot;</span></div><div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;          base = urlparse.urlunparse((scheme, netloc, path, params,</div><div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;                                      query, fragment))</div><div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed base = %s&quot;</span>, base)</div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;        <span class="keywordflow">return</span> base</div><div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;    <span class="keywordflow">if</span> required:</div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;      <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Can&#39;t find URL in output from svn info&quot;</span>)</div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;    <span class="keywordflow">return</span> <span class="keywordtype">None</span></div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>required</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Returns the SVN base URL.</span></div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;<span class="stringliteral">    Args:</span></div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;<span class="stringliteral">      required: If true, exits if the url can&#39;t be guessed, otherwise None is</span></div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;<span class="stringliteral">        returned.</span></div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;<span class="stringliteral">    &quot;&quot;&quot;</span></div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;    info = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;info&quot;</span>])</div><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;    <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>&#160;      words = line.split()</div><div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;      <span class="keywordflow">if</span> len(words) == 2 <span class="keywordflow">and</span> words[0] == <span class="stringliteral">&quot;URL:&quot;</span>:</div><div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;        url = words[1]</div><div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;        scheme, netloc, path, params, query, fragment = urlparse.urlparse(url)</div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;        username, netloc = urllib.splituser(netloc)</div><div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;        <span class="keywordflow">if</span> username:</div><div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;          logging.info(<span class="stringliteral">&quot;Removed username from base URL&quot;</span>)</div><div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;        <span class="keywordflow">if</span> netloc.endswith(<span class="stringliteral">&quot;svn.python.org&quot;</span>):</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;          <span class="keywordflow">if</span> netloc == <span class="stringliteral">&quot;svn.python.org&quot;</span>:</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;            <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">&quot;/projects/&quot;</span>):</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;              path = path[9:]</div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;          <span class="keywordflow">elif</span> netloc != <span class="stringliteral">&quot;pythondev@svn.python.org&quot;</span>:</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;            <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Unrecognized Python URL: %s&quot;</span> % url)</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;          base = <span class="stringliteral">&quot;http://svn.python.org/view/*checkout*%s/&quot;</span> % path</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed Python base = %s&quot;</span>, base)</div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;        <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">&quot;svn.collab.net&quot;</span>):</div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;          <span class="keywordflow">if</span> path.startswith(<span class="stringliteral">&quot;/repos/&quot;</span>):</div><div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;            path = path[6:]</div><div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;          base = <span class="stringliteral">&quot;http://svn.collab.net/viewvc/*checkout*%s/&quot;</span> % path</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed CollabNet base = %s&quot;</span>, base)</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;        <span class="keywordflow">elif</span> netloc.endswith(<span class="stringliteral">&quot;.googlecode.com&quot;</span>):</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;          path = path + <span class="stringliteral">&quot;/&quot;</span></div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;          base = urlparse.urlunparse((<span class="stringliteral">&quot;http&quot;</span>, netloc, path, params,</div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;                                      query, fragment))</div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed Google Code base = %s&quot;</span>, base)</div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;          path = path + <span class="stringliteral">&quot;/&quot;</span></div><div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;          base = urlparse.urlunparse((scheme, netloc, path, params,</div><div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;                                      query, fragment))</div><div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;          logging.info(<span class="stringliteral">&quot;Guessed base = %s&quot;</span>, base)</div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;        <span class="keywordflow">return</span> base</div><div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;    <span class="keywordflow">if</span> required:</div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;      <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Can&#39;t find URL in output from svn info&quot;</span>)</div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;    <span class="keywordflow">return</span> <span class="keywordtype">None</span></div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>args</em>&#160;</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>&#160;  <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>&#160;    cmd = [<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;diff&quot;</span>]</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;    <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;      cmd += [<span class="stringliteral">&quot;-r&quot;</span>, self.options.revision]</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;    cmd.extend(args)</div><div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;    data = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>(cmd)</div><div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;    count = 0</div><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;    <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>&#160;      <span class="keywordflow">if</span> line.startswith(<span class="stringliteral">&quot;Index:&quot;</span>) <span class="keywordflow">or</span> line.startswith(<span class="stringliteral">&quot;Property changes on:&quot;</span>):</div><div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;        count += 1</div><div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;        logging.info(line)</div><div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;    <span class="keywordflow">if</span> <span class="keywordflow">not</span> count:</div><div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;      <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;No valid patches found in output from svn diff&quot;</span>)</div><div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;    <span class="keywordflow">return</span> data</div><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>args</em>&#160;</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>&#160;  <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>&#160;    cmd = [<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;diff&quot;</span>]</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;    <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;      cmd += [<span class="stringliteral">&quot;-r&quot;</span>, self.options.revision]</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;    cmd.extend(args)</div><div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;    data = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>(cmd)</div><div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;    count = 0</div><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;    <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>&#160;      <span class="keywordflow">if</span> line.startswith(<span class="stringliteral">&quot;Index:&quot;</span>) <span class="keywordflow">or</span> line.startswith(<span class="stringliteral">&quot;Property changes on:&quot;</span>):</div><div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;        count += 1</div><div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;        logging.info(line)</div><div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;    <span class="keywordflow">if</span> <span class="keywordflow">not</span> count:</div><div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;      <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;No valid patches found in output from svn diff&quot;</span>)</div><div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;    <span class="keywordflow">return</span> data</div><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>args</em>&#160;</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>&#160;  <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>&#160;    cmd = [<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;diff&quot;</span>]</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;    <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;      cmd += [<span class="stringliteral">&quot;-r&quot;</span>, self.options.revision]</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;    cmd.extend(args)</div><div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;    data = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>(cmd)</div><div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;    count = 0</div><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;    <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>&#160;      <span class="keywordflow">if</span> line.startswith(<span class="stringliteral">&quot;Index:&quot;</span>) <span class="keywordflow">or</span> line.startswith(<span class="stringliteral">&quot;Property changes on:&quot;</span>):</div><div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;        count += 1</div><div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;        logging.info(line)</div><div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;    <span class="keywordflow">if</span> <span class="keywordflow">not</span> count:</div><div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;      <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;No valid patches found in output from svn diff&quot;</span>)</div><div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;    <span class="keywordflow">return</span> data</div><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>args</em>&#160;</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>&#160;  <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>&#160;    cmd = [<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;diff&quot;</span>]</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;    <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;      cmd += [<span class="stringliteral">&quot;-r&quot;</span>, self.options.revision]</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;    cmd.extend(args)</div><div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;    data = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>(cmd)</div><div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;    count = 0</div><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;    <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>&#160;      <span class="keywordflow">if</span> line.startswith(<span class="stringliteral">&quot;Index:&quot;</span>) <span class="keywordflow">or</span> line.startswith(<span class="stringliteral">&quot;Property changes on:&quot;</span>):</div><div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;        count += 1</div><div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;        logging.info(line)</div><div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;    <span class="keywordflow">if</span> <span class="keywordflow">not</span> count:</div><div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;      <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;No valid patches found in output from svn diff&quot;</span>)</div><div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;    <span class="keywordflow">return</span> data</div><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>args</em>&#160;</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>&#160;  <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>&#160;    cmd = [<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;diff&quot;</span>]</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;    <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;      cmd += [<span class="stringliteral">&quot;-r&quot;</span>, self.options.revision]</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;    cmd.extend(args)</div><div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;    data = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>(cmd)</div><div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;    count = 0</div><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;    <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>&#160;      <span class="keywordflow">if</span> line.startswith(<span class="stringliteral">&quot;Index:&quot;</span>) <span class="keywordflow">or</span> line.startswith(<span class="stringliteral">&quot;Property changes on:&quot;</span>):</div><div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;        count += 1</div><div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;        logging.info(line)</div><div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;    <span class="keywordflow">if</span> <span class="keywordflow">not</span> count:</div><div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;      <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;No valid patches found in output from svn diff&quot;</span>)</div><div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;    <span class="keywordflow">return</span> data</div><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>args</em>&#160;</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>&#160;  <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>&#160;    cmd = [<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;diff&quot;</span>]</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;    <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;      cmd += [<span class="stringliteral">&quot;-r&quot;</span>, self.options.revision]</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;    cmd.extend(args)</div><div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;    data = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>(cmd)</div><div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;    count = 0</div><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;    <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>&#160;      <span class="keywordflow">if</span> line.startswith(<span class="stringliteral">&quot;Index:&quot;</span>) <span class="keywordflow">or</span> line.startswith(<span class="stringliteral">&quot;Property changes on:&quot;</span>):</div><div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;        count += 1</div><div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;        logging.info(line)</div><div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;    <span class="keywordflow">if</span> <span class="keywordflow">not</span> count:</div><div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;      <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;No valid patches found in output from svn diff&quot;</span>)</div><div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;    <span class="keywordflow">return</span> data</div><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</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>&#160;  <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>&#160;    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>&#160;    base_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;    new_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;</div><div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;    <span class="comment"># If a file is copied its status will be &quot;A  +&quot;, which signifies</span></div><div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;    <span class="comment"># &quot;addition-with-history&quot;.  See &quot;svn st&quot; for more information.  We need to</span></div><div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;    <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>&#160;    <span class="comment"># edited.</span></div><div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;    <span class="keywordflow">if</span> status[0] == <span class="stringliteral">&quot;A&quot;</span> <span class="keywordflow">and</span> status[3] != <span class="stringliteral">&quot;+&quot;</span>:</div><div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;      <span class="comment"># We&#39;ll need to upload the new content if we&#39;re adding a binary file</span></div><div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;      <span class="comment"># since diff&#39;s output won&#39;t contain it.</span></div><div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;      mimetype = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;propget&quot;</span>, <span class="stringliteral">&quot;svn:mime-type&quot;</span>, filename],</div><div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;                          silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;      base_content = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;      is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">&quot;text/&quot;</span>)</div><div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;      <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>&#160;        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>&#160;    <span class="keywordflow">elif</span> (status[0] <span class="keywordflow">in</span> (<span class="stringliteral">&quot;M&quot;</span>, <span class="stringliteral">&quot;D&quot;</span>, <span class="stringliteral">&quot;R&quot;) or</span></div><div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;<span class="stringliteral">          (status[0] == &quot;A&quot;</span> <span class="keywordflow">and</span> status[3] == <span class="stringliteral">&quot;+&quot;</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>&#160;          (status[0] == <span class="stringliteral">&quot; &quot;</span> <span class="keywordflow">and</span> status[1] == <span class="stringliteral">&quot;M&quot;</span>)):  <span class="comment"># Property change.</span></div><div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;      args = []</div><div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;      <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;        url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;        <span class="comment"># Don&#39;t change filename, it&#39;s needed later.</span></div><div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;        url = filename</div><div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;        args += [<span class="stringliteral">&quot;-r&quot;</span>, <span class="stringliteral">&quot;BASE&quot;</span>]</div><div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;      cmd = [<span class="stringliteral">&quot;svn&quot;</span>] + args + [<span class="stringliteral">&quot;propget&quot;</span>, <span class="stringliteral">&quot;svn:mime-type&quot;</span>, url]</div><div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;      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>&#160;      <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;        <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>&#160;        <span class="comment"># Reset mimetype, it contains an error message.</span></div><div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;        mimetype = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;      get_base = <span class="keyword">False</span></div><div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;      is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">&quot;text/&quot;</span>)</div><div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;      <span class="keywordflow">if</span> status[0] == <span class="stringliteral">&quot; &quot;</span>:</div><div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;        <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>&#160;        base_content = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;      <span class="keywordflow">elif</span> is_binary:</div><div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;        <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>&#160;          get_base = <span class="keyword">True</span></div><div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;          <span class="keywordflow">if</span> status[0] == <span class="stringliteral">&quot;M&quot;</span>:</div><div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;            <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>&#160;              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>&#160;            <span class="keywordflow">else</span>:</div><div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;              url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;              new_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;cat&quot;</span>, url],</div><div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;                                     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>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;          base_content = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;        get_base = <span class="keyword">True</span></div><div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;</div><div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;      <span class="keywordflow">if</span> get_base:</div><div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;        <span class="keywordflow">if</span> is_binary:</div><div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;          universal_newlines = <span class="keyword">False</span></div><div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;          universal_newlines = <span class="keyword">True</span></div><div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;        <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>&#160;          <span class="comment"># &quot;svn cat -r REV delete_file.txt&quot; doesn&#39;t work. cat requires</span></div><div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;          <span class="comment"># the full URL with &quot;@REV&quot; appended instead of using &quot;-r&quot; option.</span></div><div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;          url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;          base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;cat&quot;</span>, url],</div><div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;                                  universal_newlines=universal_newlines,</div><div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;                                  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;          base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;cat&quot;</span>, filename],</div><div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;                                  universal_newlines=universal_newlines,</div><div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;                                  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;        <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>&#160;          args = []</div><div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;          <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>&#160;            url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;          <span class="keywordflow">else</span>:</div><div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;            url = filename</div><div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;            args += [<span class="stringliteral">&quot;-r&quot;</span>, <span class="stringliteral">&quot;BASE&quot;</span>]</div><div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;          cmd = [<span class="stringliteral">&quot;svn&quot;</span>] + args + [<span class="stringliteral">&quot;propget&quot;</span>, <span class="stringliteral">&quot;svn:keywords&quot;</span>, url]</div><div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;          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>&#160;          <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>&#160;            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>&#160;    <span class="keywordflow">else</span>:</div><div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;      <a class="code" href="namespaceupload.html#a79ce84c196c018f3b0c7ff7a9b626b58">StatusUpdate</a>(<span class="stringliteral">&quot;svn status returned unexpected output: %s&quot;</span> % status)</div><div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;      sys.exit(1)</div><div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;    <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>&#160;</div><div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</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>&#160;  <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>&#160;    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>&#160;    base_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;    new_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;</div><div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;    <span class="comment"># If a file is copied its status will be &quot;A  +&quot;, which signifies</span></div><div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;    <span class="comment"># &quot;addition-with-history&quot;.  See &quot;svn st&quot; for more information.  We need to</span></div><div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;    <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>&#160;    <span class="comment"># edited.</span></div><div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;    <span class="keywordflow">if</span> status[0] == <span class="stringliteral">&quot;A&quot;</span> <span class="keywordflow">and</span> status[3] != <span class="stringliteral">&quot;+&quot;</span>:</div><div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;      <span class="comment"># We&#39;ll need to upload the new content if we&#39;re adding a binary file</span></div><div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;      <span class="comment"># since diff&#39;s output won&#39;t contain it.</span></div><div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;      mimetype = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;propget&quot;</span>, <span class="stringliteral">&quot;svn:mime-type&quot;</span>, filename],</div><div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;                          silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;      base_content = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;      is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">&quot;text/&quot;</span>)</div><div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;      <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>&#160;        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>&#160;    <span class="keywordflow">elif</span> (status[0] <span class="keywordflow">in</span> (<span class="stringliteral">&quot;M&quot;</span>, <span class="stringliteral">&quot;D&quot;</span>, <span class="stringliteral">&quot;R&quot;) or</span></div><div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;<span class="stringliteral">          (status[0] == &quot;A&quot;</span> <span class="keywordflow">and</span> status[3] == <span class="stringliteral">&quot;+&quot;</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>&#160;          (status[0] == <span class="stringliteral">&quot; &quot;</span> <span class="keywordflow">and</span> status[1] == <span class="stringliteral">&quot;M&quot;</span>)):  <span class="comment"># Property change.</span></div><div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;      args = []</div><div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;      <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;        url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;        <span class="comment"># Don&#39;t change filename, it&#39;s needed later.</span></div><div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;        url = filename</div><div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;        args += [<span class="stringliteral">&quot;-r&quot;</span>, <span class="stringliteral">&quot;BASE&quot;</span>]</div><div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;      cmd = [<span class="stringliteral">&quot;svn&quot;</span>] + args + [<span class="stringliteral">&quot;propget&quot;</span>, <span class="stringliteral">&quot;svn:mime-type&quot;</span>, url]</div><div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;      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>&#160;      <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;        <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>&#160;        <span class="comment"># Reset mimetype, it contains an error message.</span></div><div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;        mimetype = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;      get_base = <span class="keyword">False</span></div><div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;      is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">&quot;text/&quot;</span>)</div><div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;      <span class="keywordflow">if</span> status[0] == <span class="stringliteral">&quot; &quot;</span>:</div><div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;        <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>&#160;        base_content = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;      <span class="keywordflow">elif</span> is_binary:</div><div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;        <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>&#160;          get_base = <span class="keyword">True</span></div><div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;          <span class="keywordflow">if</span> status[0] == <span class="stringliteral">&quot;M&quot;</span>:</div><div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;            <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>&#160;              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>&#160;            <span class="keywordflow">else</span>:</div><div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;              url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;              new_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;cat&quot;</span>, url],</div><div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;                                     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>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;          base_content = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;        get_base = <span class="keyword">True</span></div><div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;</div><div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;      <span class="keywordflow">if</span> get_base:</div><div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;        <span class="keywordflow">if</span> is_binary:</div><div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;          universal_newlines = <span class="keyword">False</span></div><div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;          universal_newlines = <span class="keyword">True</span></div><div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;        <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>&#160;          <span class="comment"># &quot;svn cat -r REV delete_file.txt&quot; doesn&#39;t work. cat requires</span></div><div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;          <span class="comment"># the full URL with &quot;@REV&quot; appended instead of using &quot;-r&quot; option.</span></div><div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;          url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;          base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;cat&quot;</span>, url],</div><div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;                                  universal_newlines=universal_newlines,</div><div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;                                  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;          base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;cat&quot;</span>, filename],</div><div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;                                  universal_newlines=universal_newlines,</div><div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;                                  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;        <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>&#160;          args = []</div><div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;          <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>&#160;            url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;          <span class="keywordflow">else</span>:</div><div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;            url = filename</div><div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;            args += [<span class="stringliteral">&quot;-r&quot;</span>, <span class="stringliteral">&quot;BASE&quot;</span>]</div><div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;          cmd = [<span class="stringliteral">&quot;svn&quot;</span>] + args + [<span class="stringliteral">&quot;propget&quot;</span>, <span class="stringliteral">&quot;svn:keywords&quot;</span>, url]</div><div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;          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>&#160;          <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>&#160;            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>&#160;    <span class="keywordflow">else</span>:</div><div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;      <a class="code" href="namespaceupload.html#a79ce84c196c018f3b0c7ff7a9b626b58">StatusUpdate</a>(<span class="stringliteral">&quot;svn status returned unexpected output: %s&quot;</span> % status)</div><div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;      sys.exit(1)</div><div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;    <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>&#160;</div><div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</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>&#160;  <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>&#160;    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>&#160;    base_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;    new_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;</div><div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;    <span class="comment"># If a file is copied its status will be &quot;A  +&quot;, which signifies</span></div><div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;    <span class="comment"># &quot;addition-with-history&quot;.  See &quot;svn st&quot; for more information.  We need to</span></div><div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;    <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>&#160;    <span class="comment"># edited.</span></div><div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;    <span class="keywordflow">if</span> status[0] == <span class="stringliteral">&quot;A&quot;</span> <span class="keywordflow">and</span> status[3] != <span class="stringliteral">&quot;+&quot;</span>:</div><div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;      <span class="comment"># We&#39;ll need to upload the new content if we&#39;re adding a binary file</span></div><div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;      <span class="comment"># since diff&#39;s output won&#39;t contain it.</span></div><div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;      mimetype = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;propget&quot;</span>, <span class="stringliteral">&quot;svn:mime-type&quot;</span>, filename],</div><div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;                          silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;      base_content = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;      is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">&quot;text/&quot;</span>)</div><div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;      <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>&#160;        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>&#160;    <span class="keywordflow">elif</span> (status[0] <span class="keywordflow">in</span> (<span class="stringliteral">&quot;M&quot;</span>, <span class="stringliteral">&quot;D&quot;</span>, <span class="stringliteral">&quot;R&quot;) or</span></div><div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;<span class="stringliteral">          (status[0] == &quot;A&quot;</span> <span class="keywordflow">and</span> status[3] == <span class="stringliteral">&quot;+&quot;</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>&#160;          (status[0] == <span class="stringliteral">&quot; &quot;</span> <span class="keywordflow">and</span> status[1] == <span class="stringliteral">&quot;M&quot;</span>)):  <span class="comment"># Property change.</span></div><div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;      args = []</div><div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;      <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;        url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;        <span class="comment"># Don&#39;t change filename, it&#39;s needed later.</span></div><div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;        url = filename</div><div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;        args += [<span class="stringliteral">&quot;-r&quot;</span>, <span class="stringliteral">&quot;BASE&quot;</span>]</div><div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;      cmd = [<span class="stringliteral">&quot;svn&quot;</span>] + args + [<span class="stringliteral">&quot;propget&quot;</span>, <span class="stringliteral">&quot;svn:mime-type&quot;</span>, url]</div><div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;      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>&#160;      <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;        <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>&#160;        <span class="comment"># Reset mimetype, it contains an error message.</span></div><div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;        mimetype = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;      get_base = <span class="keyword">False</span></div><div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;      is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">&quot;text/&quot;</span>)</div><div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;      <span class="keywordflow">if</span> status[0] == <span class="stringliteral">&quot; &quot;</span>:</div><div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;        <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>&#160;        base_content = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;      <span class="keywordflow">elif</span> is_binary:</div><div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;        <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>&#160;          get_base = <span class="keyword">True</span></div><div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;          <span class="keywordflow">if</span> status[0] == <span class="stringliteral">&quot;M&quot;</span>:</div><div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;            <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>&#160;              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>&#160;            <span class="keywordflow">else</span>:</div><div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;              url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;              new_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;cat&quot;</span>, url],</div><div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;                                     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>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;          base_content = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;        get_base = <span class="keyword">True</span></div><div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;</div><div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;      <span class="keywordflow">if</span> get_base:</div><div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;        <span class="keywordflow">if</span> is_binary:</div><div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;          universal_newlines = <span class="keyword">False</span></div><div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;          universal_newlines = <span class="keyword">True</span></div><div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;        <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>&#160;          <span class="comment"># &quot;svn cat -r REV delete_file.txt&quot; doesn&#39;t work. cat requires</span></div><div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;          <span class="comment"># the full URL with &quot;@REV&quot; appended instead of using &quot;-r&quot; option.</span></div><div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;          url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;          base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;cat&quot;</span>, url],</div><div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;                                  universal_newlines=universal_newlines,</div><div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;                                  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;          base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;cat&quot;</span>, filename],</div><div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;                                  universal_newlines=universal_newlines,</div><div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;                                  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;        <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>&#160;          args = []</div><div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;          <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>&#160;            url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;          <span class="keywordflow">else</span>:</div><div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;            url = filename</div><div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;            args += [<span class="stringliteral">&quot;-r&quot;</span>, <span class="stringliteral">&quot;BASE&quot;</span>]</div><div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;          cmd = [<span class="stringliteral">&quot;svn&quot;</span>] + args + [<span class="stringliteral">&quot;propget&quot;</span>, <span class="stringliteral">&quot;svn:keywords&quot;</span>, url]</div><div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;          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>&#160;          <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>&#160;            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>&#160;    <span class="keywordflow">else</span>:</div><div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;      <a class="code" href="namespaceupload.html#a79ce84c196c018f3b0c7ff7a9b626b58">StatusUpdate</a>(<span class="stringliteral">&quot;svn status returned unexpected output: %s&quot;</span> % status)</div><div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;      sys.exit(1)</div><div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;    <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>&#160;</div><div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</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>&#160;  <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>&#160;    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>&#160;    base_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;    new_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;</div><div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;    <span class="comment"># If a file is copied its status will be &quot;A  +&quot;, which signifies</span></div><div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;    <span class="comment"># &quot;addition-with-history&quot;.  See &quot;svn st&quot; for more information.  We need to</span></div><div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;    <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>&#160;    <span class="comment"># edited.</span></div><div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;    <span class="keywordflow">if</span> status[0] == <span class="stringliteral">&quot;A&quot;</span> <span class="keywordflow">and</span> status[3] != <span class="stringliteral">&quot;+&quot;</span>:</div><div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;      <span class="comment"># We&#39;ll need to upload the new content if we&#39;re adding a binary file</span></div><div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;      <span class="comment"># since diff&#39;s output won&#39;t contain it.</span></div><div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;      mimetype = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;propget&quot;</span>, <span class="stringliteral">&quot;svn:mime-type&quot;</span>, filename],</div><div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;                          silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;      base_content = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;      is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">&quot;text/&quot;</span>)</div><div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;      <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>&#160;        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>&#160;    <span class="keywordflow">elif</span> (status[0] <span class="keywordflow">in</span> (<span class="stringliteral">&quot;M&quot;</span>, <span class="stringliteral">&quot;D&quot;</span>, <span class="stringliteral">&quot;R&quot;) or</span></div><div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;<span class="stringliteral">          (status[0] == &quot;A&quot;</span> <span class="keywordflow">and</span> status[3] == <span class="stringliteral">&quot;+&quot;</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>&#160;          (status[0] == <span class="stringliteral">&quot; &quot;</span> <span class="keywordflow">and</span> status[1] == <span class="stringliteral">&quot;M&quot;</span>)):  <span class="comment"># Property change.</span></div><div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;      args = []</div><div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;      <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;        url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;        <span class="comment"># Don&#39;t change filename, it&#39;s needed later.</span></div><div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;        url = filename</div><div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;        args += [<span class="stringliteral">&quot;-r&quot;</span>, <span class="stringliteral">&quot;BASE&quot;</span>]</div><div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;      cmd = [<span class="stringliteral">&quot;svn&quot;</span>] + args + [<span class="stringliteral">&quot;propget&quot;</span>, <span class="stringliteral">&quot;svn:mime-type&quot;</span>, url]</div><div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;      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>&#160;      <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;        <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>&#160;        <span class="comment"># Reset mimetype, it contains an error message.</span></div><div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;        mimetype = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;      get_base = <span class="keyword">False</span></div><div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;      is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">&quot;text/&quot;</span>)</div><div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;      <span class="keywordflow">if</span> status[0] == <span class="stringliteral">&quot; &quot;</span>:</div><div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;        <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>&#160;        base_content = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;      <span class="keywordflow">elif</span> is_binary:</div><div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;        <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>&#160;          get_base = <span class="keyword">True</span></div><div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;          <span class="keywordflow">if</span> status[0] == <span class="stringliteral">&quot;M&quot;</span>:</div><div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;            <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>&#160;              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>&#160;            <span class="keywordflow">else</span>:</div><div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;              url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;              new_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;cat&quot;</span>, url],</div><div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;                                     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>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;          base_content = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;        get_base = <span class="keyword">True</span></div><div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;</div><div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;      <span class="keywordflow">if</span> get_base:</div><div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;        <span class="keywordflow">if</span> is_binary:</div><div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;          universal_newlines = <span class="keyword">False</span></div><div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;          universal_newlines = <span class="keyword">True</span></div><div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;        <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>&#160;          <span class="comment"># &quot;svn cat -r REV delete_file.txt&quot; doesn&#39;t work. cat requires</span></div><div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;          <span class="comment"># the full URL with &quot;@REV&quot; appended instead of using &quot;-r&quot; option.</span></div><div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;          url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;          base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;cat&quot;</span>, url],</div><div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;                                  universal_newlines=universal_newlines,</div><div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;                                  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;          base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;cat&quot;</span>, filename],</div><div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;                                  universal_newlines=universal_newlines,</div><div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;                                  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;        <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>&#160;          args = []</div><div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;          <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>&#160;            url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;          <span class="keywordflow">else</span>:</div><div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;            url = filename</div><div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;            args += [<span class="stringliteral">&quot;-r&quot;</span>, <span class="stringliteral">&quot;BASE&quot;</span>]</div><div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;          cmd = [<span class="stringliteral">&quot;svn&quot;</span>] + args + [<span class="stringliteral">&quot;propget&quot;</span>, <span class="stringliteral">&quot;svn:keywords&quot;</span>, url]</div><div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;          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>&#160;          <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>&#160;            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>&#160;    <span class="keywordflow">else</span>:</div><div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;      <a class="code" href="namespaceupload.html#a79ce84c196c018f3b0c7ff7a9b626b58">StatusUpdate</a>(<span class="stringliteral">&quot;svn status returned unexpected output: %s&quot;</span> % status)</div><div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;      sys.exit(1)</div><div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;    <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>&#160;</div><div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</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>&#160;  <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>&#160;    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>&#160;    base_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;    new_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;</div><div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;    <span class="comment"># If a file is copied its status will be &quot;A  +&quot;, which signifies</span></div><div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;    <span class="comment"># &quot;addition-with-history&quot;.  See &quot;svn st&quot; for more information.  We need to</span></div><div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;    <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>&#160;    <span class="comment"># edited.</span></div><div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;    <span class="keywordflow">if</span> status[0] == <span class="stringliteral">&quot;A&quot;</span> <span class="keywordflow">and</span> status[3] != <span class="stringliteral">&quot;+&quot;</span>:</div><div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;      <span class="comment"># We&#39;ll need to upload the new content if we&#39;re adding a binary file</span></div><div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;      <span class="comment"># since diff&#39;s output won&#39;t contain it.</span></div><div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;      mimetype = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;propget&quot;</span>, <span class="stringliteral">&quot;svn:mime-type&quot;</span>, filename],</div><div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;                          silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;      base_content = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;      is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">&quot;text/&quot;</span>)</div><div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;      <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>&#160;        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>&#160;    <span class="keywordflow">elif</span> (status[0] <span class="keywordflow">in</span> (<span class="stringliteral">&quot;M&quot;</span>, <span class="stringliteral">&quot;D&quot;</span>, <span class="stringliteral">&quot;R&quot;) or</span></div><div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;<span class="stringliteral">          (status[0] == &quot;A&quot;</span> <span class="keywordflow">and</span> status[3] == <span class="stringliteral">&quot;+&quot;</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>&#160;          (status[0] == <span class="stringliteral">&quot; &quot;</span> <span class="keywordflow">and</span> status[1] == <span class="stringliteral">&quot;M&quot;</span>)):  <span class="comment"># Property change.</span></div><div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;      args = []</div><div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;      <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;        url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;        <span class="comment"># Don&#39;t change filename, it&#39;s needed later.</span></div><div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;        url = filename</div><div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;        args += [<span class="stringliteral">&quot;-r&quot;</span>, <span class="stringliteral">&quot;BASE&quot;</span>]</div><div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;      cmd = [<span class="stringliteral">&quot;svn&quot;</span>] + args + [<span class="stringliteral">&quot;propget&quot;</span>, <span class="stringliteral">&quot;svn:mime-type&quot;</span>, url]</div><div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;      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>&#160;      <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;        <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>&#160;        <span class="comment"># Reset mimetype, it contains an error message.</span></div><div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;        mimetype = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;      get_base = <span class="keyword">False</span></div><div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;      is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">&quot;text/&quot;</span>)</div><div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;      <span class="keywordflow">if</span> status[0] == <span class="stringliteral">&quot; &quot;</span>:</div><div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;        <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>&#160;        base_content = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;      <span class="keywordflow">elif</span> is_binary:</div><div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;        <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>&#160;          get_base = <span class="keyword">True</span></div><div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;          <span class="keywordflow">if</span> status[0] == <span class="stringliteral">&quot;M&quot;</span>:</div><div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;            <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>&#160;              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>&#160;            <span class="keywordflow">else</span>:</div><div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;              url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;              new_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;cat&quot;</span>, url],</div><div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;                                     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>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;          base_content = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;        get_base = <span class="keyword">True</span></div><div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;</div><div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;      <span class="keywordflow">if</span> get_base:</div><div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;        <span class="keywordflow">if</span> is_binary:</div><div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;          universal_newlines = <span class="keyword">False</span></div><div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;          universal_newlines = <span class="keyword">True</span></div><div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;        <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>&#160;          <span class="comment"># &quot;svn cat -r REV delete_file.txt&quot; doesn&#39;t work. cat requires</span></div><div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;          <span class="comment"># the full URL with &quot;@REV&quot; appended instead of using &quot;-r&quot; option.</span></div><div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;          url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;          base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;cat&quot;</span>, url],</div><div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;                                  universal_newlines=universal_newlines,</div><div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;                                  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;          base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;cat&quot;</span>, filename],</div><div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;                                  universal_newlines=universal_newlines,</div><div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;                                  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;        <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>&#160;          args = []</div><div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;          <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>&#160;            url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;          <span class="keywordflow">else</span>:</div><div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;            url = filename</div><div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;            args += [<span class="stringliteral">&quot;-r&quot;</span>, <span class="stringliteral">&quot;BASE&quot;</span>]</div><div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;          cmd = [<span class="stringliteral">&quot;svn&quot;</span>] + args + [<span class="stringliteral">&quot;propget&quot;</span>, <span class="stringliteral">&quot;svn:keywords&quot;</span>, url]</div><div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;          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>&#160;          <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>&#160;            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>&#160;    <span class="keywordflow">else</span>:</div><div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;      <a class="code" href="namespaceupload.html#a79ce84c196c018f3b0c7ff7a9b626b58">StatusUpdate</a>(<span class="stringliteral">&quot;svn status returned unexpected output: %s&quot;</span> % status)</div><div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;      sys.exit(1)</div><div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;    <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>&#160;</div><div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</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>&#160;  <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>&#160;    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>&#160;    base_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;    new_content = <span class="keywordtype">None</span></div><div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;</div><div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;    <span class="comment"># If a file is copied its status will be &quot;A  +&quot;, which signifies</span></div><div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;    <span class="comment"># &quot;addition-with-history&quot;.  See &quot;svn st&quot; for more information.  We need to</span></div><div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;    <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>&#160;    <span class="comment"># edited.</span></div><div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;    <span class="keywordflow">if</span> status[0] == <span class="stringliteral">&quot;A&quot;</span> <span class="keywordflow">and</span> status[3] != <span class="stringliteral">&quot;+&quot;</span>:</div><div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;      <span class="comment"># We&#39;ll need to upload the new content if we&#39;re adding a binary file</span></div><div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;      <span class="comment"># since diff&#39;s output won&#39;t contain it.</span></div><div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;      mimetype = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;propget&quot;</span>, <span class="stringliteral">&quot;svn:mime-type&quot;</span>, filename],</div><div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;                          silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;      base_content = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;      is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">&quot;text/&quot;</span>)</div><div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;      <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>&#160;        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>&#160;    <span class="keywordflow">elif</span> (status[0] <span class="keywordflow">in</span> (<span class="stringliteral">&quot;M&quot;</span>, <span class="stringliteral">&quot;D&quot;</span>, <span class="stringliteral">&quot;R&quot;) or</span></div><div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;<span class="stringliteral">          (status[0] == &quot;A&quot;</span> <span class="keywordflow">and</span> status[3] == <span class="stringliteral">&quot;+&quot;</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>&#160;          (status[0] == <span class="stringliteral">&quot; &quot;</span> <span class="keywordflow">and</span> status[1] == <span class="stringliteral">&quot;M&quot;</span>)):  <span class="comment"># Property change.</span></div><div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;      args = []</div><div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;      <span class="keywordflow">if</span> self.options.revision:</div><div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;        url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;        <span class="comment"># Don&#39;t change filename, it&#39;s needed later.</span></div><div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;        url = filename</div><div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;        args += [<span class="stringliteral">&quot;-r&quot;</span>, <span class="stringliteral">&quot;BASE&quot;</span>]</div><div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;      cmd = [<span class="stringliteral">&quot;svn&quot;</span>] + args + [<span class="stringliteral">&quot;propget&quot;</span>, <span class="stringliteral">&quot;svn:mime-type&quot;</span>, url]</div><div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;      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>&#160;      <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;        <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>&#160;        <span class="comment"># Reset mimetype, it contains an error message.</span></div><div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;        mimetype = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;      get_base = <span class="keyword">False</span></div><div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;      is_binary = mimetype <span class="keywordflow">and</span> <span class="keywordflow">not</span> mimetype.startswith(<span class="stringliteral">&quot;text/&quot;</span>)</div><div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;      <span class="keywordflow">if</span> status[0] == <span class="stringliteral">&quot; &quot;</span>:</div><div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;        <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>&#160;        base_content = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;      <span class="keywordflow">elif</span> is_binary:</div><div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;        <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>&#160;          get_base = <span class="keyword">True</span></div><div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;          <span class="keywordflow">if</span> status[0] == <span class="stringliteral">&quot;M&quot;</span>:</div><div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;            <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>&#160;              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>&#160;            <span class="keywordflow">else</span>:</div><div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;              url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;              new_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;cat&quot;</span>, url],</div><div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;                                     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>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;          base_content = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;        get_base = <span class="keyword">True</span></div><div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;</div><div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;      <span class="keywordflow">if</span> get_base:</div><div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;        <span class="keywordflow">if</span> is_binary:</div><div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;          universal_newlines = <span class="keyword">False</span></div><div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;          universal_newlines = <span class="keyword">True</span></div><div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;        <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>&#160;          <span class="comment"># &quot;svn cat -r REV delete_file.txt&quot; doesn&#39;t work. cat requires</span></div><div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;          <span class="comment"># the full URL with &quot;@REV&quot; appended instead of using &quot;-r&quot; option.</span></div><div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;          url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;          base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;cat&quot;</span>, url],</div><div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;                                  universal_newlines=universal_newlines,</div><div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;                                  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;        <span class="keywordflow">else</span>:</div><div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;          base_content = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;cat&quot;</span>, filename],</div><div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;                                  universal_newlines=universal_newlines,</div><div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;                                  silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;        <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>&#160;          args = []</div><div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;          <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>&#160;            url = <span class="stringliteral">&quot;%s/%s@%s&quot;</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>&#160;          <span class="keywordflow">else</span>:</div><div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;            url = filename</div><div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;            args += [<span class="stringliteral">&quot;-r&quot;</span>, <span class="stringliteral">&quot;BASE&quot;</span>]</div><div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;          cmd = [<span class="stringliteral">&quot;svn&quot;</span>] + args + [<span class="stringliteral">&quot;propget&quot;</span>, <span class="stringliteral">&quot;svn:keywords&quot;</span>, url]</div><div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;          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>&#160;          <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>&#160;            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>&#160;    <span class="keywordflow">else</span>:</div><div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;      <a class="code" href="namespaceupload.html#a79ce84c196c018f3b0c7ff7a9b626b58">StatusUpdate</a>(<span class="stringliteral">&quot;svn status returned unexpected output: %s&quot;</span> % status)</div><div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;      sys.exit(1)</div><div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;    <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>&#160;</div><div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Returns the status of a file.&quot;&quot;&quot;</span></div><div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;    <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>&#160;      status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;status&quot;</span>, <span class="stringliteral">&quot;--ignore-externals&quot;</span>, filename])</div><div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;      <span class="keywordflow">if</span> <span class="keywordflow">not</span> status:</div><div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;        <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;svn status returned no output for %s&quot;</span> % filename)</div><div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;      status_lines = status.splitlines()</div><div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;      <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>&#160;      <span class="comment"># &quot;\n--- Changelist &#39;cl_name&#39;:\n&quot;.  See</span></div><div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;      <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>&#160;      <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>&#160;          <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>&#160;          status_lines[1].startswith(<span class="stringliteral">&quot;--- Changelist&quot;</span>)):</div><div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;        status = status_lines[2]</div><div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;        status = status_lines[0]</div><div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;    <span class="comment"># If we have a revision to diff against we need to run &quot;svn list&quot;</span></div><div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;    <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>&#160;    <span class="comment"># the correct status for a file.</span></div><div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;    <span class="keywordflow">else</span>:</div><div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;      dirname, relfilename = os.path.split(filename)</div><div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;      <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>&#160;        cmd = [<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;list&quot;</span>, <span class="stringliteral">&quot;-r&quot;</span>, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>, dirname <span class="keywordflow">or</span> <span class="stringliteral">&quot;.&quot;</span>]</div><div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;        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>&#160;        <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;          <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Failed to get status for %s.&quot;</span> % filename)</div><div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;        old_files = out.splitlines()</div><div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;        args = [<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;list&quot;</span>]</div><div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;        <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>&#160;          args += [<span class="stringliteral">&quot;-r&quot;</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>&#160;        cmd = args + [dirname <span class="keywordflow">or</span> <span class="stringliteral">&quot;.&quot;</span>]</div><div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;        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>&#160;        <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;          <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Failed to run command %s&quot;</span> % cmd)</div><div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;        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>&#160;      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>&#160;      <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>&#160;        status = <span class="stringliteral">&quot;D   &quot;</span></div><div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;      <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>&#160;        status = <span class="stringliteral">&quot;M   &quot;</span></div><div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;        status = <span class="stringliteral">&quot;A   &quot;</span></div><div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;    <span class="keywordflow">return</span> status</div><div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Returns the status of a file.&quot;&quot;&quot;</span></div><div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;    <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>&#160;      status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;status&quot;</span>, <span class="stringliteral">&quot;--ignore-externals&quot;</span>, filename])</div><div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;      <span class="keywordflow">if</span> <span class="keywordflow">not</span> status:</div><div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;        <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;svn status returned no output for %s&quot;</span> % filename)</div><div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;      status_lines = status.splitlines()</div><div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;      <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>&#160;      <span class="comment"># &quot;\n--- Changelist &#39;cl_name&#39;:\n&quot;.  See</span></div><div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;      <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>&#160;      <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>&#160;          <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>&#160;          status_lines[1].startswith(<span class="stringliteral">&quot;--- Changelist&quot;</span>)):</div><div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;        status = status_lines[2]</div><div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;        status = status_lines[0]</div><div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;    <span class="comment"># If we have a revision to diff against we need to run &quot;svn list&quot;</span></div><div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;    <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>&#160;    <span class="comment"># the correct status for a file.</span></div><div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;    <span class="keywordflow">else</span>:</div><div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;      dirname, relfilename = os.path.split(filename)</div><div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;      <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>&#160;        cmd = [<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;list&quot;</span>, <span class="stringliteral">&quot;-r&quot;</span>, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>, dirname <span class="keywordflow">or</span> <span class="stringliteral">&quot;.&quot;</span>]</div><div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;        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>&#160;        <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;          <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Failed to get status for %s.&quot;</span> % filename)</div><div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;        old_files = out.splitlines()</div><div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;        args = [<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;list&quot;</span>]</div><div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;        <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>&#160;          args += [<span class="stringliteral">&quot;-r&quot;</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>&#160;        cmd = args + [dirname <span class="keywordflow">or</span> <span class="stringliteral">&quot;.&quot;</span>]</div><div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;        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>&#160;        <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;          <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Failed to run command %s&quot;</span> % cmd)</div><div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;        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>&#160;      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>&#160;      <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>&#160;        status = <span class="stringliteral">&quot;D   &quot;</span></div><div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;      <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>&#160;        status = <span class="stringliteral">&quot;M   &quot;</span></div><div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;        status = <span class="stringliteral">&quot;A   &quot;</span></div><div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;    <span class="keywordflow">return</span> status</div><div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Returns the status of a file.&quot;&quot;&quot;</span></div><div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;    <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>&#160;      status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;status&quot;</span>, <span class="stringliteral">&quot;--ignore-externals&quot;</span>, filename])</div><div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;      <span class="keywordflow">if</span> <span class="keywordflow">not</span> status:</div><div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;        <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;svn status returned no output for %s&quot;</span> % filename)</div><div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;      status_lines = status.splitlines()</div><div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;      <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>&#160;      <span class="comment"># &quot;\n--- Changelist &#39;cl_name&#39;:\n&quot;.  See</span></div><div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;      <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>&#160;      <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>&#160;          <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>&#160;          status_lines[1].startswith(<span class="stringliteral">&quot;--- Changelist&quot;</span>)):</div><div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;        status = status_lines[2]</div><div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;        status = status_lines[0]</div><div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;    <span class="comment"># If we have a revision to diff against we need to run &quot;svn list&quot;</span></div><div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;    <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>&#160;    <span class="comment"># the correct status for a file.</span></div><div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;    <span class="keywordflow">else</span>:</div><div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;      dirname, relfilename = os.path.split(filename)</div><div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;      <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>&#160;        cmd = [<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;list&quot;</span>, <span class="stringliteral">&quot;-r&quot;</span>, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>, dirname <span class="keywordflow">or</span> <span class="stringliteral">&quot;.&quot;</span>]</div><div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;        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>&#160;        <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;          <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Failed to get status for %s.&quot;</span> % filename)</div><div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;        old_files = out.splitlines()</div><div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;        args = [<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;list&quot;</span>]</div><div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;        <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>&#160;          args += [<span class="stringliteral">&quot;-r&quot;</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>&#160;        cmd = args + [dirname <span class="keywordflow">or</span> <span class="stringliteral">&quot;.&quot;</span>]</div><div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;        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>&#160;        <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;          <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Failed to run command %s&quot;</span> % cmd)</div><div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;        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>&#160;      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>&#160;      <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>&#160;        status = <span class="stringliteral">&quot;D   &quot;</span></div><div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;      <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>&#160;        status = <span class="stringliteral">&quot;M   &quot;</span></div><div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;        status = <span class="stringliteral">&quot;A   &quot;</span></div><div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;    <span class="keywordflow">return</span> status</div><div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Returns the status of a file.&quot;&quot;&quot;</span></div><div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;    <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>&#160;      status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;status&quot;</span>, <span class="stringliteral">&quot;--ignore-externals&quot;</span>, filename])</div><div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;      <span class="keywordflow">if</span> <span class="keywordflow">not</span> status:</div><div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;        <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;svn status returned no output for %s&quot;</span> % filename)</div><div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;      status_lines = status.splitlines()</div><div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;      <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>&#160;      <span class="comment"># &quot;\n--- Changelist &#39;cl_name&#39;:\n&quot;.  See</span></div><div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;      <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>&#160;      <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>&#160;          <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>&#160;          status_lines[1].startswith(<span class="stringliteral">&quot;--- Changelist&quot;</span>)):</div><div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;        status = status_lines[2]</div><div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;        status = status_lines[0]</div><div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;    <span class="comment"># If we have a revision to diff against we need to run &quot;svn list&quot;</span></div><div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;    <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>&#160;    <span class="comment"># the correct status for a file.</span></div><div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;    <span class="keywordflow">else</span>:</div><div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;      dirname, relfilename = os.path.split(filename)</div><div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;      <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>&#160;        cmd = [<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;list&quot;</span>, <span class="stringliteral">&quot;-r&quot;</span>, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>, dirname <span class="keywordflow">or</span> <span class="stringliteral">&quot;.&quot;</span>]</div><div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;        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>&#160;        <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;          <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Failed to get status for %s.&quot;</span> % filename)</div><div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;        old_files = out.splitlines()</div><div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;        args = [<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;list&quot;</span>]</div><div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;        <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>&#160;          args += [<span class="stringliteral">&quot;-r&quot;</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>&#160;        cmd = args + [dirname <span class="keywordflow">or</span> <span class="stringliteral">&quot;.&quot;</span>]</div><div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;        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>&#160;        <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;          <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Failed to run command %s&quot;</span> % cmd)</div><div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;        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>&#160;      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>&#160;      <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>&#160;        status = <span class="stringliteral">&quot;D   &quot;</span></div><div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;      <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>&#160;        status = <span class="stringliteral">&quot;M   &quot;</span></div><div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;        status = <span class="stringliteral">&quot;A   &quot;</span></div><div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;    <span class="keywordflow">return</span> status</div><div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Returns the status of a file.&quot;&quot;&quot;</span></div><div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;    <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>&#160;      status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;status&quot;</span>, <span class="stringliteral">&quot;--ignore-externals&quot;</span>, filename])</div><div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;      <span class="keywordflow">if</span> <span class="keywordflow">not</span> status:</div><div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;        <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;svn status returned no output for %s&quot;</span> % filename)</div><div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;      status_lines = status.splitlines()</div><div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;      <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>&#160;      <span class="comment"># &quot;\n--- Changelist &#39;cl_name&#39;:\n&quot;.  See</span></div><div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;      <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>&#160;      <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>&#160;          <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>&#160;          status_lines[1].startswith(<span class="stringliteral">&quot;--- Changelist&quot;</span>)):</div><div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;        status = status_lines[2]</div><div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;        status = status_lines[0]</div><div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;    <span class="comment"># If we have a revision to diff against we need to run &quot;svn list&quot;</span></div><div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;    <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>&#160;    <span class="comment"># the correct status for a file.</span></div><div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;    <span class="keywordflow">else</span>:</div><div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;      dirname, relfilename = os.path.split(filename)</div><div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;      <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>&#160;        cmd = [<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;list&quot;</span>, <span class="stringliteral">&quot;-r&quot;</span>, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>, dirname <span class="keywordflow">or</span> <span class="stringliteral">&quot;.&quot;</span>]</div><div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;        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>&#160;        <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;          <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Failed to get status for %s.&quot;</span> % filename)</div><div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;        old_files = out.splitlines()</div><div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;        args = [<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;list&quot;</span>]</div><div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;        <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>&#160;          args += [<span class="stringliteral">&quot;-r&quot;</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>&#160;        cmd = args + [dirname <span class="keywordflow">or</span> <span class="stringliteral">&quot;.&quot;</span>]</div><div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;        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>&#160;        <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;          <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Failed to run command %s&quot;</span> % cmd)</div><div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;        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>&#160;      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>&#160;      <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>&#160;        status = <span class="stringliteral">&quot;D   &quot;</span></div><div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;      <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>&#160;        status = <span class="stringliteral">&quot;M   &quot;</span></div><div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;        status = <span class="stringliteral">&quot;A   &quot;</span></div><div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;    <span class="keywordflow">return</span> status</div><div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Returns the status of a file.&quot;&quot;&quot;</span></div><div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;    <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>&#160;      status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;status&quot;</span>, <span class="stringliteral">&quot;--ignore-externals&quot;</span>, filename])</div><div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;      <span class="keywordflow">if</span> <span class="keywordflow">not</span> status:</div><div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;        <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;svn status returned no output for %s&quot;</span> % filename)</div><div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;      status_lines = status.splitlines()</div><div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;      <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>&#160;      <span class="comment"># &quot;\n--- Changelist &#39;cl_name&#39;:\n&quot;.  See</span></div><div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;      <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>&#160;      <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>&#160;          <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>&#160;          status_lines[1].startswith(<span class="stringliteral">&quot;--- Changelist&quot;</span>)):</div><div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;        status = status_lines[2]</div><div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;        status = status_lines[0]</div><div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;    <span class="comment"># If we have a revision to diff against we need to run &quot;svn list&quot;</span></div><div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;    <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>&#160;    <span class="comment"># the correct status for a file.</span></div><div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;    <span class="keywordflow">else</span>:</div><div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;      dirname, relfilename = os.path.split(filename)</div><div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;      <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>&#160;        cmd = [<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;list&quot;</span>, <span class="stringliteral">&quot;-r&quot;</span>, self.<a class="code" href="classupload_1_1SubversionVCS.html#ad1553a69f4a790309273dbdeb9077732">rev_start</a>, dirname <span class="keywordflow">or</span> <span class="stringliteral">&quot;.&quot;</span>]</div><div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;        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>&#160;        <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;          <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Failed to get status for %s.&quot;</span> % filename)</div><div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;        old_files = out.splitlines()</div><div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;        args = [<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;list&quot;</span>]</div><div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;        <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>&#160;          args += [<span class="stringliteral">&quot;-r&quot;</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>&#160;        cmd = args + [dirname <span class="keywordflow">or</span> <span class="stringliteral">&quot;.&quot;</span>]</div><div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;        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>&#160;        <span class="keywordflow">if</span> returncode:</div><div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;          <a class="code" href="namespaceupload.html#adea53186a1d73e92cc839b7c35c2c044">ErrorExit</a>(<span class="stringliteral">&quot;Failed to run command %s&quot;</span> % cmd)</div><div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;        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>&#160;      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>&#160;      <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>&#160;        status = <span class="stringliteral">&quot;D   &quot;</span></div><div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;      <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>&#160;        status = <span class="stringliteral">&quot;M   &quot;</span></div><div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;      <span class="keywordflow">else</span>:</div><div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;        status = <span class="stringliteral">&quot;A   &quot;</span></div><div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;    <span class="keywordflow">return</span> status</div><div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;</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">&#160;</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>&#160;  <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>&#160;    status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;status&quot;</span>, <span class="stringliteral">&quot;--ignore-externals&quot;</span>], silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;    unknown_files = []</div><div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;    <span class="keywordflow">for</span> line <span class="keywordflow">in</span> status.split(<span class="stringliteral">&quot;\n&quot;</span>):</div><div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;      <span class="keywordflow">if</span> line <span class="keywordflow">and</span> line[0] == <span class="stringliteral">&quot;?&quot;</span>:</div><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;        unknown_files.append(line)</div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;    <span class="keywordflow">return</span> unknown_files</div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;</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">&#160;</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>&#160;  <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>&#160;    status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;status&quot;</span>, <span class="stringliteral">&quot;--ignore-externals&quot;</span>], silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;    unknown_files = []</div><div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;    <span class="keywordflow">for</span> line <span class="keywordflow">in</span> status.split(<span class="stringliteral">&quot;\n&quot;</span>):</div><div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;      <span class="keywordflow">if</span> line <span class="keywordflow">and</span> line[0] == <span class="stringliteral">&quot;?&quot;</span>:</div><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;        unknown_files.append(line)</div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;    <span class="keywordflow">return</span> unknown_files</div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;</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">&#160;</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>&#160;  <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>&#160;    status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;status&quot;</span>, <span class="stringliteral">&quot;--ignore-externals&quot;</span>], silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;    unknown_files = []</div><div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;    <span class="keywordflow">for</span> line <span class="keywordflow">in</span> status.split(<span class="stringliteral">&quot;\n&quot;</span>):</div><div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;      <span class="keywordflow">if</span> line <span class="keywordflow">and</span> line[0] == <span class="stringliteral">&quot;?&quot;</span>:</div><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;        unknown_files.append(line)</div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;    <span class="keywordflow">return</span> unknown_files</div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;</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">&#160;</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>&#160;  <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>&#160;    status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;status&quot;</span>, <span class="stringliteral">&quot;--ignore-externals&quot;</span>], silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;    unknown_files = []</div><div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;    <span class="keywordflow">for</span> line <span class="keywordflow">in</span> status.split(<span class="stringliteral">&quot;\n&quot;</span>):</div><div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;      <span class="keywordflow">if</span> line <span class="keywordflow">and</span> line[0] == <span class="stringliteral">&quot;?&quot;</span>:</div><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;        unknown_files.append(line)</div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;    <span class="keywordflow">return</span> unknown_files</div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;</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">&#160;</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>&#160;  <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>&#160;    status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;status&quot;</span>, <span class="stringliteral">&quot;--ignore-externals&quot;</span>], silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;    unknown_files = []</div><div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;    <span class="keywordflow">for</span> line <span class="keywordflow">in</span> status.split(<span class="stringliteral">&quot;\n&quot;</span>):</div><div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;      <span class="keywordflow">if</span> line <span class="keywordflow">and</span> line[0] == <span class="stringliteral">&quot;?&quot;</span>:</div><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;        unknown_files.append(line)</div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;    <span class="keywordflow">return</span> unknown_files</div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;</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">&#160;</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>&#160;  <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>&#160;    status = <a class="code" href="namespaceupload.html#adddc423c49132e8879cbb25d6be2cf11">RunShell</a>([<span class="stringliteral">&quot;svn&quot;</span>, <span class="stringliteral">&quot;status&quot;</span>, <span class="stringliteral">&quot;--ignore-externals&quot;</span>], silent_ok=<span class="keyword">True</span>)</div><div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;    unknown_files = []</div><div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;    <span class="keywordflow">for</span> line <span class="keywordflow">in</span> status.split(<span class="stringliteral">&quot;\n&quot;</span>):</div><div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;      <span class="keywordflow">if</span> line <span class="keywordflow">and</span> line[0] == <span class="stringliteral">&quot;?&quot;</span>:</div><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;        unknown_files.append(line)</div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;    <span class="keywordflow">return</span> unknown_files</div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>required</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Wrapper for _GuessBase.&quot;&quot;&quot;</span></div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;    <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>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>required</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Wrapper for _GuessBase.&quot;&quot;&quot;</span></div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;    <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>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>required</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Wrapper for _GuessBase.&quot;&quot;&quot;</span></div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;    <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>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>required</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Wrapper for _GuessBase.&quot;&quot;&quot;</span></div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;    <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>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>required</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Wrapper for _GuessBase.&quot;&quot;&quot;</span></div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;    <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>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>required</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Wrapper for _GuessBase.&quot;&quot;&quot;</span></div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;    <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>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Returns the contents of a file.&quot;&quot;&quot;</span></div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;    file = open(filename, <span class="stringliteral">&#39;rb&#39;</span>)</div><div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;    result = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;    <span class="keywordflow">try</span>:</div><div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;      result = file.read()</div><div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;    <span class="keywordflow">finally</span>:</div><div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;      file.close()</div><div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;    <span class="keywordflow">return</span> result</div><div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Returns the contents of a file.&quot;&quot;&quot;</span></div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;    file = open(filename, <span class="stringliteral">&#39;rb&#39;</span>)</div><div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;    result = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;    <span class="keywordflow">try</span>:</div><div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;      result = file.read()</div><div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;    <span class="keywordflow">finally</span>:</div><div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;      file.close()</div><div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;    <span class="keywordflow">return</span> result</div><div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Returns the contents of a file.&quot;&quot;&quot;</span></div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;    file = open(filename, <span class="stringliteral">&#39;rb&#39;</span>)</div><div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;    result = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;    <span class="keywordflow">try</span>:</div><div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;      result = file.read()</div><div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;    <span class="keywordflow">finally</span>:</div><div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;      file.close()</div><div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;    <span class="keywordflow">return</span> result</div><div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Returns the contents of a file.&quot;&quot;&quot;</span></div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;    file = open(filename, <span class="stringliteral">&#39;rb&#39;</span>)</div><div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;    result = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;    <span class="keywordflow">try</span>:</div><div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;      result = file.read()</div><div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;    <span class="keywordflow">finally</span>:</div><div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;      file.close()</div><div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;    <span class="keywordflow">return</span> result</div><div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Returns the contents of a file.&quot;&quot;&quot;</span></div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;    file = open(filename, <span class="stringliteral">&#39;rb&#39;</span>)</div><div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;    result = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;    <span class="keywordflow">try</span>:</div><div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;      result = file.read()</div><div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;    <span class="keywordflow">finally</span>:</div><div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;      file.close()</div><div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;    <span class="keywordflow">return</span> result</div><div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;</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">&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</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>&#160;  <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>&#160;    <span class="stringliteral">&quot;&quot;&quot;Returns the contents of a file.&quot;&quot;&quot;</span></div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;    file = open(filename, <span class="stringliteral">&#39;rb&#39;</span>)</div><div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;    result = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;    <span class="keywordflow">try</span>:</div><div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;      result = file.read()</div><div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;    <span class="keywordflow">finally</span>:</div><div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;      file.close()</div><div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;    <span class="keywordflow">return</span> result</div><div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;</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>