gitlabhq/doc/code/classes/Gitlab/Satellite/Satellite.html

506 lines
17 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?xml version="1.0" encoding="utf-8"?>
<!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" xml:lang="en" lang="en">
<head>
<title>Gitlab::Satellite::Satellite</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="../../../css/reset.css" type="text/css" media="screen" />
<link rel="stylesheet" href="../../../css/main.css" type="text/css" media="screen" />
<link rel="stylesheet" href="../../../css/github.css" type="text/css" media="screen" />
<script src="../../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script>
<script src="../../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script>
<script src="../../../js/main.js" type="text/javascript" charset="utf-8"></script>
<script src="../../../js/highlight.pack.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div class="banner">
<h1>
<span class="type">Class</span>
Gitlab::Satellite::Satellite
<span class="parent">&lt;
Object
</span>
</h1>
<ul class="files">
<li><a href="../../../files/lib/gitlab/satellite/satellite_rb.html">lib/gitlab/satellite/satellite.rb</a></li>
</ul>
</div>
<div id="bodyContent">
<div id="content">
<!-- Method ref -->
<div class="sectiontitle">Methods</div>
<dl class="methods">
<dt>C</dt>
<dd>
<ul>
<li>
<a href="#method-i-clear_and_update-21">clear_and_update!</a>,
</li>
<li>
<a href="#method-i-create">create</a>
</li>
</ul>
</dd>
<dt>E</dt>
<dd>
<ul>
<li>
<a href="#method-i-exists-3F">exists?</a>
</li>
</ul>
</dd>
<dt>L</dt>
<dd>
<ul>
<li>
<a href="#method-i-lock">lock</a>,
</li>
<li>
<a href="#method-i-lock_file">lock_file</a>
</li>
</ul>
</dd>
<dt>N</dt>
<dd>
<ul>
<li>
<a href="#method-c-new">new</a>
</li>
</ul>
</dd>
<dt>P</dt>
<dd>
<ul>
<li>
<a href="#method-i-path">path</a>
</li>
</ul>
</dd>
<dt>R</dt>
<dd>
<ul>
<li>
<a href="#method-i-repo">repo</a>
</li>
</ul>
</dd>
</dl>
<!-- Section constants -->
<div class="sectiontitle">Constants</div>
<table border='0' cellpadding='5'>
<tr valign='top'>
<td class="attr-name">PARKING_BRANCH</td>
<td>=</td>
<td class="attr-value">&quot;__parking_branch&quot;</td>
</tr>
<tr valign='top'>
<td>&nbsp;</td>
<td colspan="2" class="attr-desc"></td>
</tr>
</table>
<!-- Section attributes -->
<div class="sectiontitle">Attributes</div>
<table border='0' cellpadding='5'>
<tr valign='top'>
<td class='attr-rw'>
[RW]
</td>
<td class='attr-name'>project</td>
<td class='attr-desc'></td>
</tr>
</table>
<!-- Methods -->
<div class="sectiontitle">Class Public methods</div>
<div class="method">
<div class="title method-title" id="method-c-new">
<b>new</b>(project)
<a href="../../../classes/Gitlab/Satellite/Satellite.html#method-c-new" name="method-c-new" class="permalink">Link</a>
</div>
<div class="description">
</div>
<div class="sourcecode">
<p class="source-link">
Source:
<a href="javascript:toggleSource('method-c-new_source')" id="l_method-c-new_source">show</a>
</p>
<div id="method-c-new_source" class="dyn-source">
<pre><span class="ruby-comment"># File lib/gitlab/satellite/satellite.rb, line 8</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">initialize</span>(<span class="ruby-identifier">project</span>)
<span class="ruby-ivar">@project</span> = <span class="ruby-identifier">project</span>
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
<div class="sectiontitle">Instance Public methods</div>
<div class="method">
<div class="title method-title" id="method-i-clear_and_update-21">
<b>clear_and_update!</b>()
<a href="../../../classes/Gitlab/Satellite/Satellite.html#method-i-clear_and_update-21" name="method-i-clear_and_update-21" class="permalink">Link</a>
</div>
<div class="description">
</div>
<div class="sourcecode">
<p class="source-link">
Source:
<a href="javascript:toggleSource('method-i-clear_and_update-21_source')" id="l_method-i-clear_and_update-21_source">show</a>
</p>
<div id="method-i-clear_and_update-21_source" class="dyn-source">
<pre><span class="ruby-comment"># File lib/gitlab/satellite/satellite.rb, line 12</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">clear_and_update!</span>
<span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;Satellite doesn't exist&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">exists?</span>
<span class="ruby-identifier">delete_heads!</span>
<span class="ruby-identifier">clear_working_dir!</span>
<span class="ruby-identifier">update_from_source!</span>
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
<div class="method">
<div class="title method-title" id="method-i-create">
<b>create</b>()
<a href="../../../classes/Gitlab/Satellite/Satellite.html#method-i-create" name="method-i-create" class="permalink">Link</a>
</div>
<div class="description">
</div>
<div class="sourcecode">
<p class="source-link">
Source:
<a href="javascript:toggleSource('method-i-create_source')" id="l_method-i-create_source">show</a>
</p>
<div id="method-i-create_source" class="dyn-source">
<pre><span class="ruby-comment"># File lib/gitlab/satellite/satellite.rb, line 20</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">create</span>
<span class="ruby-identifier">create_cmd</span> = <span class="ruby-node">&quot;git clone #{project.url_to_repo} #{path}&quot;</span>
<span class="ruby-keyword">if</span> <span class="ruby-identifier">system</span>(<span class="ruby-identifier">create_cmd</span>)
<span class="ruby-keyword">true</span>
<span class="ruby-keyword">else</span>
<span class="ruby-constant">Gitlab</span><span class="ruby-operator">::</span><span class="ruby-constant">GitLogger</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Failed to create satellite for #{project.name_with_namespace}&quot;</span>)
<span class="ruby-keyword">false</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
<div class="method">
<div class="title method-title" id="method-i-exists-3F">
<b>exists?</b>()
<a href="../../../classes/Gitlab/Satellite/Satellite.html#method-i-exists-3F" name="method-i-exists-3F" class="permalink">Link</a>
</div>
<div class="description">
</div>
<div class="sourcecode">
<p class="source-link">
Source:
<a href="javascript:toggleSource('method-i-exists-3F_source')" id="l_method-i-exists-3F_source">show</a>
</p>
<div id="method-i-exists-3F_source" class="dyn-source">
<pre><span class="ruby-comment"># File lib/gitlab/satellite/satellite.rb, line 30</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">exists?</span>
<span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span> <span class="ruby-identifier">path</span>
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
<div class="method">
<div class="title method-title" id="method-i-lock">
<b>lock</b>()
<a href="../../../classes/Gitlab/Satellite/Satellite.html#method-i-lock" name="method-i-lock" class="permalink">Link</a>
</div>
<div class="description">
<ul><li>
<p>Locks the satellite</p>
</li><li>
<p>Changes the current directory to the satellites working dir</p>
</li><li>
<p>Yields</p>
</li></ul>
</div>
<div class="sourcecode">
<p class="source-link">
Source:
<a href="javascript:toggleSource('method-i-lock_source')" id="l_method-i-lock_source">show</a>
</p>
<div id="method-i-lock_source" class="dyn-source">
<pre><span class="ruby-comment"># File lib/gitlab/satellite/satellite.rb, line 37</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">lock</span>
<span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;Satellite doesn't exist&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">exists?</span>
<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">lock_file</span>, <span class="ruby-string">&quot;w+&quot;</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
<span class="ruby-identifier">f</span>.<span class="ruby-identifier">flock</span>(<span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-constant">LOCK_EX</span>)
<span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">path</span>) <span class="ruby-keyword">do</span>
<span class="ruby-keyword">return</span> <span class="ruby-keyword">yield</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
<div class="method">
<div class="title method-title" id="method-i-lock_file">
<b>lock_file</b>()
<a href="../../../classes/Gitlab/Satellite/Satellite.html#method-i-lock_file" name="method-i-lock_file" class="permalink">Link</a>
</div>
<div class="description">
</div>
<div class="sourcecode">
<p class="source-link">
Source:
<a href="javascript:toggleSource('method-i-lock_file_source')" id="l_method-i-lock_file_source">show</a>
</p>
<div id="method-i-lock_file_source" class="dyn-source">
<pre><span class="ruby-comment"># File lib/gitlab/satellite/satellite.rb, line 49</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">lock_file</span>
<span class="ruby-constant">Rails</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&quot;tmp&quot;</span>, <span class="ruby-node">&quot;satellite_#{project.id}.lock&quot;</span>)
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
<div class="method">
<div class="title method-title" id="method-i-path">
<b>path</b>()
<a href="../../../classes/Gitlab/Satellite/Satellite.html#method-i-path" name="method-i-path" class="permalink">Link</a>
</div>
<div class="description">
</div>
<div class="sourcecode">
<p class="source-link">
Source:
<a href="javascript:toggleSource('method-i-path_source')" id="l_method-i-path_source">show</a>
</p>
<div id="method-i-path_source" class="dyn-source">
<pre><span class="ruby-comment"># File lib/gitlab/satellite/satellite.rb, line 53</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">path</span>
<span class="ruby-constant">Rails</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&quot;tmp&quot;</span>, <span class="ruby-string">&quot;repo_satellites&quot;</span>, <span class="ruby-identifier">project</span>.<span class="ruby-identifier">path_with_namespace</span>)
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
<div class="method">
<div class="title method-title" id="method-i-repo">
<b>repo</b>()
<a href="../../../classes/Gitlab/Satellite/Satellite.html#method-i-repo" name="method-i-repo" class="permalink">Link</a>
</div>
<div class="description">
</div>
<div class="sourcecode">
<p class="source-link">
Source:
<a href="javascript:toggleSource('method-i-repo_source')" id="l_method-i-repo_source">show</a>
</p>
<div id="method-i-repo_source" class="dyn-source">
<pre><span class="ruby-comment"># File lib/gitlab/satellite/satellite.rb, line 57</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">repo</span>
<span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;Satellite doesn't exist&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">exists?</span>
<span class="ruby-ivar">@repo</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Grit</span><span class="ruby-operator">::</span><span class="ruby-constant">Repo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">path</span>)
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
</div>
</div>
</body>
</html>