added push, changed some docs, merged README and EXAMPLES, fixed the Rake tasks to...
[rubygit.git] / doc / classes / Git / Lib.html
blobbb507b4275241f02a1a65dba494a49fd374983ed
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!DOCTYPE html
3 PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7 <head>
8 <title>Class: Git::Lib</title>
9 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10 <meta http-equiv="Content-Script-Type" content="text/javascript" />
11 <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12 <script type="text/javascript">
13 // <![CDATA[
15 function popupCode( url ) {
16 window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
19 function toggleCode( id ) {
20 if ( document.getElementById )
21 elem = document.getElementById( id );
22 else if ( document.all )
23 elem = eval( "document.all." + id );
24 else
25 return false;
27 elemStyle = elem.style;
29 if ( elemStyle.display != "block" ) {
30 elemStyle.display = "block"
31 } else {
32 elemStyle.display = "none"
35 return true;
38 // Make codeblocks hidden by default
39 document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
41 // ]]>
42 </script>
44 </head>
45 <body>
49 <div id="classHeader">
50 <table class="header-table">
51 <tr class="top-aligned-row">
52 <td><strong>Class</strong></td>
53 <td class="class-name-in-header">Git::Lib</td>
54 </tr>
55 <tr class="top-aligned-row">
56 <td><strong>In:</strong></td>
57 <td>
58 <a href="../../files/lib/git/lib_rb.html">
59 lib/git/lib.rb
60 </a>
61 <br />
62 </td>
63 </tr>
65 <tr class="top-aligned-row">
66 <td><strong>Parent:</strong></td>
67 <td>
68 <a href="Object.html">
69 Object
70 </a>
71 </td>
72 </tr>
73 </table>
74 </div>
75 <!-- banner header -->
77 <div id="bodyContent">
81 <div id="contextContent">
85 </div>
87 <div id="method-list">
88 <h3 class="section-bar">Methods</h3>
90 <div class="name-list">
91 <a href="#M000044">add</a>&nbsp;&nbsp;
92 <a href="#M000033">branch_current</a>&nbsp;&nbsp;
93 <a href="#M000049">branch_delete</a>&nbsp;&nbsp;
94 <a href="#M000048">branch_new</a>&nbsp;&nbsp;
95 <a href="#M000032">branches_all</a>&nbsp;&nbsp;
96 <a href="#M000050">checkout</a>&nbsp;&nbsp;
97 <a href="#M000026">clone</a>&nbsp;&nbsp;
98 <a href="#M000046">commit</a>&nbsp;&nbsp;
99 <a href="#M000041">config_get</a>&nbsp;&nbsp;
100 <a href="#M000042">config_list</a>&nbsp;&nbsp;
101 <a href="#M000040">config_remote</a>&nbsp;&nbsp;
102 <a href="#M000043">config_set</a>&nbsp;&nbsp;
103 <a href="#M000037">diff_files</a>&nbsp;&nbsp;
104 <a href="#M000035">diff_full</a>&nbsp;&nbsp;
105 <a href="#M000038">diff_index</a>&nbsp;&nbsp;
106 <a href="#M000036">diff_stats</a>&nbsp;&nbsp;
107 <a href="#M000057">fetch</a>&nbsp;&nbsp;
108 <a href="#M000034">grep</a>&nbsp;&nbsp;
109 <a href="#M000025">init</a>&nbsp;&nbsp;
110 <a href="#M000027">log_commits</a>&nbsp;&nbsp;
111 <a href="#M000039">ls_files</a>&nbsp;&nbsp;
112 <a href="#M000051">merge</a>&nbsp;&nbsp;
113 <a href="#M000024">new</a>&nbsp;&nbsp;
114 <a href="#M000031">object_contents</a>&nbsp;&nbsp;
115 <a href="#M000030">object_size</a>&nbsp;&nbsp;
116 <a href="#M000029">object_type</a>&nbsp;&nbsp;
117 <a href="#M000058">push</a>&nbsp;&nbsp;
118 <a href="#M000052">remote_add</a>&nbsp;&nbsp;
119 <a href="#M000053">remote_remove</a>&nbsp;&nbsp;
120 <a href="#M000054">remotes</a>&nbsp;&nbsp;
121 <a href="#M000045">remove</a>&nbsp;&nbsp;
122 <a href="#M000060">repack</a>&nbsp;&nbsp;
123 <a href="#M000047">reset</a>&nbsp;&nbsp;
124 <a href="#M000028">revparse</a>&nbsp;&nbsp;
125 <a href="#M000056">tag</a>&nbsp;&nbsp;
126 <a href="#M000059">tag_sha</a>&nbsp;&nbsp;
127 <a href="#M000055">tags</a>&nbsp;&nbsp;
128 </div>
129 </div>
131 </div>
134 <!-- if includes -->
136 <div id="section">
145 <!-- if method_list -->
146 <div id="methods">
147 <h3 class="section-bar">Public Class methods</h3>
149 <div id="method-M000024" class="method-detail">
150 <a name="M000024"></a>
152 <div class="method-heading">
153 <a href="#M000024" class="method-signature">
154 <span class="method-name">new</span><span class="method-args">(base = nil)</span>
155 </a>
156 </div>
158 <div class="method-description">
159 <p><a class="source-toggle" href="#"
160 onclick="toggleCode('M000024-source');return false;">[Source]</a></p>
161 <div class="method-source-code" id="M000024-source">
162 <pre>
163 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 13</span>
164 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">base</span> = <span class="ruby-keyword kw">nil</span>)
165 <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">base</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Git</span><span class="ruby-operator">::</span><span class="ruby-constant">Base</span>)
166 <span class="ruby-ivar">@git_dir</span> = <span class="ruby-identifier">base</span>.<span class="ruby-identifier">repo</span>.<span class="ruby-identifier">path</span>
167 <span class="ruby-ivar">@git_index_file</span> = <span class="ruby-identifier">base</span>.<span class="ruby-identifier">index</span>.<span class="ruby-identifier">path</span>
168 <span class="ruby-ivar">@git_work_dir</span> = <span class="ruby-identifier">base</span>.<span class="ruby-identifier">dir</span>.<span class="ruby-identifier">path</span>
169 <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">base</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Hash</span>)
170 <span class="ruby-ivar">@git_dir</span> = <span class="ruby-identifier">base</span>[<span class="ruby-identifier">:repository</span>]
171 <span class="ruby-ivar">@git_index_file</span> = <span class="ruby-identifier">base</span>[<span class="ruby-identifier">:index</span>]
172 <span class="ruby-ivar">@git_work_dir</span> = <span class="ruby-identifier">base</span>[<span class="ruby-identifier">:working_directory</span>]
173 <span class="ruby-keyword kw">end</span>
174 <span class="ruby-keyword kw">end</span>
175 </pre>
176 </div>
177 </div>
178 </div>
180 <h3 class="section-bar">Public Instance methods</h3>
182 <div id="method-M000044" class="method-detail">
183 <a name="M000044"></a>
185 <div class="method-heading">
186 <a href="#M000044" class="method-signature">
187 <span class="method-name">add</span><span class="method-args">(path = '.')</span>
188 </a>
189 </div>
191 <div class="method-description">
192 <p><a class="source-toggle" href="#"
193 onclick="toggleCode('M000044-source');return false;">[Source]</a></p>
194 <div class="method-source-code" id="M000044-source">
195 <pre>
196 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 215</span>
197 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add</span>(<span class="ruby-identifier">path</span> = <span class="ruby-value str">'.'</span>)
198 <span class="ruby-identifier">path</span> = <span class="ruby-identifier">path</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">' '</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">path</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
199 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'add'</span>, <span class="ruby-identifier">path</span>)
200 <span class="ruby-keyword kw">end</span>
201 </pre>
202 </div>
203 </div>
204 </div>
206 <div id="method-M000033" class="method-detail">
207 <a name="M000033"></a>
209 <div class="method-heading">
210 <a href="#M000033" class="method-signature">
211 <span class="method-name">branch_current</span><span class="method-args">()</span>
212 </a>
213 </div>
215 <div class="method-description">
216 <p><a class="source-toggle" href="#"
217 onclick="toggleCode('M000033-source');return false;">[Source]</a></p>
218 <div class="method-source-code" id="M000033-source">
219 <pre>
220 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 96</span>
221 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">branch_current</span>
222 <span class="ruby-identifier">branches_all</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">b</span><span class="ruby-operator">|</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">1</span>] }.<span class="ruby-identifier">first</span>[<span class="ruby-value">0</span>] <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
223 <span class="ruby-keyword kw">end</span>
224 </pre>
225 </div>
226 </div>
227 </div>
229 <div id="method-M000049" class="method-detail">
230 <a name="M000049"></a>
232 <div class="method-heading">
233 <a href="#M000049" class="method-signature">
234 <span class="method-name">branch_delete</span><span class="method-args">(branch)</span>
235 </a>
236 </div>
238 <div class="method-description">
239 <p><a class="source-toggle" href="#"
240 onclick="toggleCode('M000049-source');return false;">[Source]</a></p>
241 <div class="method-source-code" id="M000049-source">
242 <pre>
243 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 248</span>
244 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">branch_delete</span>(<span class="ruby-identifier">branch</span>)
245 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'branch'</span>, [<span class="ruby-value str">'-d'</span>, <span class="ruby-identifier">branch</span>])
246 <span class="ruby-keyword kw">end</span>
247 </pre>
248 </div>
249 </div>
250 </div>
252 <div id="method-M000048" class="method-detail">
253 <a name="M000048"></a>
255 <div class="method-heading">
256 <a href="#M000048" class="method-signature">
257 <span class="method-name">branch_new</span><span class="method-args">(branch)</span>
258 </a>
259 </div>
261 <div class="method-description">
262 <p><a class="source-toggle" href="#"
263 onclick="toggleCode('M000048-source');return false;">[Source]</a></p>
264 <div class="method-source-code" id="M000048-source">
265 <pre>
266 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 244</span>
267 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">branch_new</span>(<span class="ruby-identifier">branch</span>)
268 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'branch'</span>, <span class="ruby-identifier">branch</span>)
269 <span class="ruby-keyword kw">end</span>
270 </pre>
271 </div>
272 </div>
273 </div>
275 <div id="method-M000032" class="method-detail">
276 <a name="M000032"></a>
278 <div class="method-heading">
279 <a href="#M000032" class="method-signature">
280 <span class="method-name">branches_all</span><span class="method-args">()</span>
281 </a>
282 </div>
284 <div class="method-description">
285 <p><a class="source-toggle" href="#"
286 onclick="toggleCode('M000032-source');return false;">[Source]</a></p>
287 <div class="method-source-code" id="M000032-source">
288 <pre>
289 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 86</span>
290 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">branches_all</span>
291 <span class="ruby-identifier">arr</span> = []
292 <span class="ruby-identifier">command_lines</span>(<span class="ruby-value str">'branch'</span>, <span class="ruby-value str">'-a'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">b</span><span class="ruby-operator">|</span>
293 <span class="ruby-identifier">current</span> = <span class="ruby-keyword kw">false</span>
294 <span class="ruby-identifier">current</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">0</span>, <span class="ruby-value">2</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'* '</span>
295 <span class="ruby-identifier">arr</span> <span class="ruby-operator">&lt;&lt;</span> [<span class="ruby-identifier">b</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-value str">'* '</span>, <span class="ruby-value str">''</span>).<span class="ruby-identifier">strip</span>, <span class="ruby-identifier">current</span>]
296 <span class="ruby-keyword kw">end</span>
297 <span class="ruby-identifier">arr</span>
298 <span class="ruby-keyword kw">end</span>
299 </pre>
300 </div>
301 </div>
302 </div>
304 <div id="method-M000050" class="method-detail">
305 <a name="M000050"></a>
307 <div class="method-heading">
308 <a href="#M000050" class="method-signature">
309 <span class="method-name">checkout</span><span class="method-args">(branch, opts = {})</span>
310 </a>
311 </div>
313 <div class="method-description">
314 <p><a class="source-toggle" href="#"
315 onclick="toggleCode('M000050-source');return false;">[Source]</a></p>
316 <div class="method-source-code" id="M000050-source">
317 <pre>
318 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 252</span>
319 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkout</span>(<span class="ruby-identifier">branch</span>, <span class="ruby-identifier">opts</span> = {})
320 <span class="ruby-identifier">arr_opts</span> = []
321 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'-f'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:force</span>]
322 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">branch</span>.<span class="ruby-identifier">to_s</span>
324 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'checkout'</span>, <span class="ruby-identifier">arr_opts</span>)
325 <span class="ruby-keyword kw">end</span>
326 </pre>
327 </div>
328 </div>
329 </div>
331 <div id="method-M000026" class="method-detail">
332 <a name="M000026"></a>
334 <div class="method-heading">
335 <a href="#M000026" class="method-signature">
336 <span class="method-name">clone</span><span class="method-args">(repository, name, opts = {})</span>
337 </a>
338 </div>
340 <div class="method-description">
342 tries to clone the given repo
343 </p>
345 returns {:repository} (if bare)
346 </p>
347 <pre>
348 {:working_directory} otherwise
349 </pre>
351 accepts options:
352 </p>
353 <pre>
354 :remote - name of remote (rather than 'origin')
355 :bare - no working directory
356 </pre>
358 TODO - make this work with SSH password or auth_key
359 </p>
360 <p><a class="source-toggle" href="#"
361 onclick="toggleCode('M000026-source');return false;">[Source]</a></p>
362 <div class="method-source-code" id="M000026-source">
363 <pre>
364 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 40</span>
365 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clone</span>(<span class="ruby-identifier">repository</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">opts</span> = {})
366 <span class="ruby-ivar">@path</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:path</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">'.'</span>
367 <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:path</span>] <span class="ruby-operator">?</span> <span class="ruby-identifier">clone_dir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-ivar">@path</span>, <span class="ruby-identifier">name</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">clone_dir</span> = <span class="ruby-identifier">name</span>
369 <span class="ruby-identifier">arr_opts</span> = []
370 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;--bare&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:bare</span>]
371 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;-o #{opts[:remote]}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:remote</span>]
372 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">repository</span>
373 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">clone_dir</span>
375 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'clone'</span>, <span class="ruby-identifier">arr_opts</span>)
377 <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:bare</span>] <span class="ruby-operator">?</span> {<span class="ruby-identifier">:repository</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">clone_dir</span>} <span class="ruby-operator">:</span> {<span class="ruby-identifier">:working_directory</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">clone_dir</span>}
378 <span class="ruby-keyword kw">end</span>
379 </pre>
380 </div>
381 </div>
382 </div>
384 <div id="method-M000046" class="method-detail">
385 <a name="M000046"></a>
387 <div class="method-heading">
388 <a href="#M000046" class="method-signature">
389 <span class="method-name">commit</span><span class="method-args">(message, opts = {})</span>
390 </a>
391 </div>
393 <div class="method-description">
394 <p><a class="source-toggle" href="#"
395 onclick="toggleCode('M000046-source');return false;">[Source]</a></p>
396 <div class="method-source-code" id="M000046-source">
397 <pre>
398 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 230</span>
399 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">commit</span>(<span class="ruby-identifier">message</span>, <span class="ruby-identifier">opts</span> = {})
400 <span class="ruby-identifier">arr_opts</span> = [<span class="ruby-node">&quot;-m '#{message}'&quot;</span>]
401 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'-a'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:add_all</span>]
402 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'commit'</span>, <span class="ruby-identifier">arr_opts</span>)
403 <span class="ruby-keyword kw">end</span>
404 </pre>
405 </div>
406 </div>
407 </div>
409 <div id="method-M000041" class="method-detail">
410 <a name="M000041"></a>
412 <div class="method-heading">
413 <a href="#M000041" class="method-signature">
414 <span class="method-name">config_get</span><span class="method-args">(name)</span>
415 </a>
416 </div>
418 <div class="method-description">
419 <p><a class="source-toggle" href="#"
420 onclick="toggleCode('M000041-source');return false;">[Source]</a></p>
421 <div class="method-source-code" id="M000041-source">
422 <pre>
423 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 196</span>
424 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">config_get</span>(<span class="ruby-identifier">name</span>)
425 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'config'</span>, [<span class="ruby-value str">'--get'</span>, <span class="ruby-identifier">name</span>])
426 <span class="ruby-keyword kw">end</span>
427 </pre>
428 </div>
429 </div>
430 </div>
432 <div id="method-M000042" class="method-detail">
433 <a name="M000042"></a>
435 <div class="method-heading">
436 <a href="#M000042" class="method-signature">
437 <span class="method-name">config_list</span><span class="method-args">()</span>
438 </a>
439 </div>
441 <div class="method-description">
442 <p><a class="source-toggle" href="#"
443 onclick="toggleCode('M000042-source');return false;">[Source]</a></p>
444 <div class="method-source-code" id="M000042-source">
445 <pre>
446 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 200</span>
447 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">config_list</span>
448 <span class="ruby-identifier">hsh</span> = {}
449 <span class="ruby-identifier">command_lines</span>(<span class="ruby-value str">'config'</span>, [<span class="ruby-value str">'--list'</span>]).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
450 (<span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span>) = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'='</span>)
451 <span class="ruby-identifier">hsh</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">value</span>
452 <span class="ruby-keyword kw">end</span>
453 <span class="ruby-identifier">hsh</span>
454 <span class="ruby-keyword kw">end</span>
455 </pre>
456 </div>
457 </div>
458 </div>
460 <div id="method-M000040" class="method-detail">
461 <a name="M000040"></a>
463 <div class="method-heading">
464 <a href="#M000040" class="method-signature">
465 <span class="method-name">config_remote</span><span class="method-args">(name)</span>
466 </a>
467 </div>
469 <div class="method-description">
470 <p><a class="source-toggle" href="#"
471 onclick="toggleCode('M000040-source');return false;">[Source]</a></p>
472 <div class="method-source-code" id="M000040-source">
473 <pre>
474 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 187</span>
475 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">config_remote</span>(<span class="ruby-identifier">name</span>)
476 <span class="ruby-identifier">hsh</span> = {}
477 <span class="ruby-identifier">command_lines</span>(<span class="ruby-value str">'config'</span>, [<span class="ruby-value str">'--get-regexp'</span>, <span class="ruby-node">&quot;remote.#{name}&quot;</span>]).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
478 (<span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span>) = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">split</span>
479 <span class="ruby-identifier">hsh</span>[<span class="ruby-identifier">key</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-node">&quot;remote.#{name}.&quot;</span>, <span class="ruby-value str">''</span>)] = <span class="ruby-identifier">value</span>
480 <span class="ruby-keyword kw">end</span>
481 <span class="ruby-identifier">hsh</span>
482 <span class="ruby-keyword kw">end</span>
483 </pre>
484 </div>
485 </div>
486 </div>
488 <div id="method-M000043" class="method-detail">
489 <a name="M000043"></a>
491 <div class="method-heading">
492 <a href="#M000043" class="method-signature">
493 <span class="method-name">config_set</span><span class="method-args">(name, value)</span>
494 </a>
495 </div>
497 <div class="method-description">
499 WRITE COMMANDS ##
500 </p>
501 <p><a class="source-toggle" href="#"
502 onclick="toggleCode('M000043-source');return false;">[Source]</a></p>
503 <div class="method-source-code" id="M000043-source">
504 <pre>
505 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 211</span>
506 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">config_set</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>)
507 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'config'</span>, [<span class="ruby-identifier">name</span>, <span class="ruby-node">&quot;'#{value}'&quot;</span>])
508 <span class="ruby-keyword kw">end</span>
509 </pre>
510 </div>
511 </div>
512 </div>
514 <div id="method-M000037" class="method-detail">
515 <a name="M000037"></a>
517 <div class="method-heading">
518 <a href="#M000037" class="method-signature">
519 <span class="method-name">diff_files</span><span class="method-args">()</span>
520 </a>
521 </div>
523 <div class="method-description">
525 compares the index and the working directory
526 </p>
527 <p><a class="source-toggle" href="#"
528 onclick="toggleCode('M000037-source');return false;">[Source]</a></p>
529 <div class="method-source-code" id="M000037-source">
530 <pre>
531 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 153</span>
532 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">diff_files</span>
533 <span class="ruby-identifier">hsh</span> = {}
534 <span class="ruby-identifier">command_lines</span>(<span class="ruby-value str">'diff-files'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
535 (<span class="ruby-identifier">info</span>, <span class="ruby-identifier">file</span>) = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;\t&quot;</span>)
536 (<span class="ruby-identifier">mode_src</span>, <span class="ruby-identifier">mode_dest</span>, <span class="ruby-identifier">sha_src</span>, <span class="ruby-identifier">sha_dest</span>, <span class="ruby-identifier">type</span>) = <span class="ruby-identifier">info</span>.<span class="ruby-identifier">split</span>
537 <span class="ruby-identifier">hsh</span>[<span class="ruby-identifier">file</span>] = {<span class="ruby-identifier">:path</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">file</span>, <span class="ruby-identifier">:mode_file</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">mode_src</span>.<span class="ruby-identifier">to_s</span>[<span class="ruby-value">1</span>, <span class="ruby-value">7</span>], <span class="ruby-identifier">:mode_index</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">mode_dest</span>,
538 <span class="ruby-identifier">:sha_file</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">sha_src</span>, <span class="ruby-identifier">:sha_index</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">sha_dest</span>, <span class="ruby-identifier">:type</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">type</span>}
539 <span class="ruby-keyword kw">end</span>
540 <span class="ruby-identifier">hsh</span>
541 <span class="ruby-keyword kw">end</span>
542 </pre>
543 </div>
544 </div>
545 </div>
547 <div id="method-M000035" class="method-detail">
548 <a name="M000035"></a>
550 <div class="method-heading">
551 <a href="#M000035" class="method-signature">
552 <span class="method-name">diff_full</span><span class="method-args">(obj1 = 'HEAD', obj2 = nil, opts = {})</span>
553 </a>
554 </div>
556 <div class="method-description">
557 <p><a class="source-toggle" href="#"
558 onclick="toggleCode('M000035-source');return false;">[Source]</a></p>
559 <div class="method-source-code" id="M000035-source">
560 <pre>
561 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 123</span>
562 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">diff_full</span>(<span class="ruby-identifier">obj1</span> = <span class="ruby-value str">'HEAD'</span>, <span class="ruby-identifier">obj2</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">opts</span> = {})
563 <span class="ruby-identifier">diff_opts</span> = [<span class="ruby-value str">'-p'</span>]
564 <span class="ruby-identifier">diff_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">obj1</span>
565 <span class="ruby-identifier">diff_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">obj2</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">obj2</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
566 <span class="ruby-identifier">diff_opts</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-value str">'-- '</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:path_limiter</span>]) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:path_limiter</span>].<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">String</span>
568 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'diff'</span>, <span class="ruby-identifier">diff_opts</span>)
569 <span class="ruby-keyword kw">end</span>
570 </pre>
571 </div>
572 </div>
573 </div>
575 <div id="method-M000038" class="method-detail">
576 <a name="M000038"></a>
578 <div class="method-heading">
579 <a href="#M000038" class="method-signature">
580 <span class="method-name">diff_index</span><span class="method-args">(treeish)</span>
581 </a>
582 </div>
584 <div class="method-description">
586 compares the index and the repository
587 </p>
588 <p><a class="source-toggle" href="#"
589 onclick="toggleCode('M000038-source');return false;">[Source]</a></p>
590 <div class="method-source-code" id="M000038-source">
591 <pre>
592 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 165</span>
593 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">diff_index</span>(<span class="ruby-identifier">treeish</span>)
594 <span class="ruby-identifier">hsh</span> = {}
595 <span class="ruby-identifier">command_lines</span>(<span class="ruby-value str">'diff-index'</span>, <span class="ruby-identifier">treeish</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
596 (<span class="ruby-identifier">info</span>, <span class="ruby-identifier">file</span>) = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;\t&quot;</span>)
597 (<span class="ruby-identifier">mode_src</span>, <span class="ruby-identifier">mode_dest</span>, <span class="ruby-identifier">sha_src</span>, <span class="ruby-identifier">sha_dest</span>, <span class="ruby-identifier">type</span>) = <span class="ruby-identifier">info</span>.<span class="ruby-identifier">split</span>
598 <span class="ruby-identifier">hsh</span>[<span class="ruby-identifier">file</span>] = {<span class="ruby-identifier">:path</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">file</span>, <span class="ruby-identifier">:mode_repo</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">mode_src</span>.<span class="ruby-identifier">to_s</span>[<span class="ruby-value">1</span>, <span class="ruby-value">7</span>], <span class="ruby-identifier">:mode_index</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">mode_dest</span>,
599 <span class="ruby-identifier">:sha_repo</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">sha_src</span>, <span class="ruby-identifier">:sha_index</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">sha_dest</span>, <span class="ruby-identifier">:type</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">type</span>}
600 <span class="ruby-keyword kw">end</span>
601 <span class="ruby-identifier">hsh</span>
602 <span class="ruby-keyword kw">end</span>
603 </pre>
604 </div>
605 </div>
606 </div>
608 <div id="method-M000036" class="method-detail">
609 <a name="M000036"></a>
611 <div class="method-heading">
612 <a href="#M000036" class="method-signature">
613 <span class="method-name">diff_stats</span><span class="method-args">(obj1 = 'HEAD', obj2 = nil, opts = {})</span>
614 </a>
615 </div>
617 <div class="method-description">
618 <p><a class="source-toggle" href="#"
619 onclick="toggleCode('M000036-source');return false;">[Source]</a></p>
620 <div class="method-source-code" id="M000036-source">
621 <pre>
622 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 132</span>
623 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">diff_stats</span>(<span class="ruby-identifier">obj1</span> = <span class="ruby-value str">'HEAD'</span>, <span class="ruby-identifier">obj2</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">opts</span> = {})
624 <span class="ruby-identifier">diff_opts</span> = [<span class="ruby-value str">'--numstat'</span>]
625 <span class="ruby-identifier">diff_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">obj1</span>
626 <span class="ruby-identifier">diff_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">obj2</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">obj2</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
627 <span class="ruby-identifier">diff_opts</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-value str">'-- '</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:path_limiter</span>]) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:path_limiter</span>].<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">String</span>
629 <span class="ruby-identifier">hsh</span> = {<span class="ruby-identifier">:total</span> =<span class="ruby-operator">&gt;</span> {<span class="ruby-identifier">:insertions</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>, <span class="ruby-identifier">:deletions</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>, <span class="ruby-identifier">:lines</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>, <span class="ruby-identifier">:files</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>}, <span class="ruby-identifier">:files</span> =<span class="ruby-operator">&gt;</span> {}}
631 <span class="ruby-identifier">command_lines</span>(<span class="ruby-value str">'diff'</span>, <span class="ruby-identifier">diff_opts</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
632 (<span class="ruby-identifier">insertions</span>, <span class="ruby-identifier">deletions</span>, <span class="ruby-identifier">filename</span>) = <span class="ruby-identifier">file</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;\t&quot;</span>)
633 <span class="ruby-identifier">hsh</span>[<span class="ruby-identifier">:total</span>][<span class="ruby-identifier">:insertions</span>] <span class="ruby-operator">+=</span> <span class="ruby-identifier">insertions</span>.<span class="ruby-identifier">to_i</span>
634 <span class="ruby-identifier">hsh</span>[<span class="ruby-identifier">:total</span>][<span class="ruby-identifier">:deletions</span>] <span class="ruby-operator">+=</span> <span class="ruby-identifier">deletions</span>.<span class="ruby-identifier">to_i</span>
635 <span class="ruby-identifier">hsh</span>[<span class="ruby-identifier">:total</span>][<span class="ruby-identifier">:lines</span>] = (<span class="ruby-identifier">hsh</span>[<span class="ruby-identifier">:total</span>][<span class="ruby-identifier">:deletions</span>] <span class="ruby-operator">+</span> <span class="ruby-identifier">hsh</span>[<span class="ruby-identifier">:total</span>][<span class="ruby-identifier">:insertions</span>])
636 <span class="ruby-identifier">hsh</span>[<span class="ruby-identifier">:total</span>][<span class="ruby-identifier">:files</span>] <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
637 <span class="ruby-identifier">hsh</span>[<span class="ruby-identifier">:files</span>][<span class="ruby-identifier">filename</span>] = {<span class="ruby-identifier">:insertions</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">insertions</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-identifier">:deletions</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">deletions</span>.<span class="ruby-identifier">to_i</span>}
638 <span class="ruby-keyword kw">end</span>
640 <span class="ruby-identifier">hsh</span>
641 <span class="ruby-keyword kw">end</span>
642 </pre>
643 </div>
644 </div>
645 </div>
647 <div id="method-M000057" class="method-detail">
648 <a name="M000057"></a>
650 <div class="method-heading">
651 <a href="#M000057" class="method-signature">
652 <span class="method-name">fetch</span><span class="method-args">(remote)</span>
653 </a>
654 </div>
656 <div class="method-description">
657 <p><a class="source-toggle" href="#"
658 onclick="toggleCode('M000057-source');return false;">[Source]</a></p>
659 <div class="method-source-code" id="M000057-source">
660 <pre>
661 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 295</span>
662 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fetch</span>(<span class="ruby-identifier">remote</span>)
663 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'fetch'</span>, <span class="ruby-identifier">remote</span>.<span class="ruby-identifier">to_s</span>)
664 <span class="ruby-keyword kw">end</span>
665 </pre>
666 </div>
667 </div>
668 </div>
670 <div id="method-M000034" class="method-detail">
671 <a name="M000034"></a>
673 <div class="method-heading">
674 <a href="#M000034" class="method-signature">
675 <span class="method-name">grep</span><span class="method-args">(string, opts = {})</span>
676 </a>
677 </div>
679 <div class="method-description">
681 returns hash
682 </p>
683 <dl>
684 <dt>tree-ish</dt><dd>= [[line_no, match], [line_no, match2]]
686 </dd>
687 <dt>tree-ish</dt><dd>= [[line_no, match], [line_no, match2]]
689 </dd>
690 </dl>
691 <p><a class="source-toggle" href="#"
692 onclick="toggleCode('M000034-source');return false;">[Source]</a></p>
693 <div class="method-source-code" id="M000034-source">
694 <pre>
695 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 104</span>
696 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">grep</span>(<span class="ruby-identifier">string</span>, <span class="ruby-identifier">opts</span> = {})
697 <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:object</span>] = <span class="ruby-value str">'HEAD'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:object</span>]
699 <span class="ruby-identifier">grep_opts</span> = [<span class="ruby-value str">'-n'</span>]
700 <span class="ruby-identifier">grep_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'-i'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:ignore_case</span>]
701 <span class="ruby-identifier">grep_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'-v'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:invert_match</span>]
702 <span class="ruby-identifier">grep_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;-e '#{string}'&quot;</span>
703 <span class="ruby-identifier">grep_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:object</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:object</span>].<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
704 <span class="ruby-identifier">grep_opts</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-value str">'-- '</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:path_limiter</span>]) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:path_limiter</span>].<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">String</span>
705 <span class="ruby-identifier">hsh</span> = {}
706 <span class="ruby-identifier">command_lines</span>(<span class="ruby-value str">'grep'</span>, <span class="ruby-identifier">grep_opts</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
707 <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">m</span> = <span class="ruby-regexp re">/(.*)\:(\d+)\:(.*)/</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">line</span>)
708 <span class="ruby-identifier">hsh</span>[<span class="ruby-identifier">m</span>[<span class="ruby-value">1</span>]] <span class="ruby-operator">||=</span> []
709 <span class="ruby-identifier">hsh</span>[<span class="ruby-identifier">m</span>[<span class="ruby-value">1</span>]] <span class="ruby-operator">&lt;&lt;</span> [<span class="ruby-identifier">m</span>[<span class="ruby-value">2</span>].<span class="ruby-identifier">to_i</span>, <span class="ruby-identifier">m</span>[<span class="ruby-value">3</span>]]
710 <span class="ruby-keyword kw">end</span>
711 <span class="ruby-keyword kw">end</span>
712 <span class="ruby-identifier">hsh</span>
713 <span class="ruby-keyword kw">end</span>
714 </pre>
715 </div>
716 </div>
717 </div>
719 <div id="method-M000025" class="method-detail">
720 <a name="M000025"></a>
722 <div class="method-heading">
723 <a href="#M000025" class="method-signature">
724 <span class="method-name">init</span><span class="method-args">()</span>
725 </a>
726 </div>
728 <div class="method-description">
729 <p><a class="source-toggle" href="#"
730 onclick="toggleCode('M000025-source');return false;">[Source]</a></p>
731 <div class="method-source-code" id="M000025-source">
732 <pre>
733 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 25</span>
734 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">init</span>
735 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'init'</span>)
736 <span class="ruby-keyword kw">end</span>
737 </pre>
738 </div>
739 </div>
740 </div>
742 <div id="method-M000027" class="method-detail">
743 <a name="M000027"></a>
745 <div class="method-heading">
746 <a href="#M000027" class="method-signature">
747 <span class="method-name">log_commits</span><span class="method-args">(opts = {})</span>
748 </a>
749 </div>
751 <div class="method-description">
753 READ COMMANDS ##
754 </p>
755 <p><a class="source-toggle" href="#"
756 onclick="toggleCode('M000027-source');return false;">[Source]</a></p>
757 <div class="method-source-code" id="M000027-source">
758 <pre>
759 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 59</span>
760 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">log_commits</span>(<span class="ruby-identifier">opts</span> = {})
761 <span class="ruby-identifier">arr_opts</span> = [<span class="ruby-value str">'--pretty=oneline'</span>]
762 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;-#{opts[:count]}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:count</span>]
763 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;--since=\&quot;#{opts[:since]}\&quot;&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:since</span>].<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">String</span>
764 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{opts[:between][0]}..#{opts[:between][1].to_s}&quot;</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:between</span>] <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:between</span>].<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">2</span>)
765 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:object</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:object</span>].<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">String</span>
766 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'-- '</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:path_limiter</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:path_limiter</span>].<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">String</span>
768 <span class="ruby-identifier">command_lines</span>(<span class="ruby-value str">'log'</span>, <span class="ruby-identifier">arr_opts</span>).<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">l</span><span class="ruby-operator">|</span> <span class="ruby-identifier">l</span>.<span class="ruby-identifier">split</span>.<span class="ruby-identifier">first</span> }
769 <span class="ruby-keyword kw">end</span>
770 </pre>
771 </div>
772 </div>
773 </div>
775 <div id="method-M000039" class="method-detail">
776 <a name="M000039"></a>
778 <div class="method-heading">
779 <a href="#M000039" class="method-signature">
780 <span class="method-name">ls_files</span><span class="method-args">()</span>
781 </a>
782 </div>
784 <div class="method-description">
785 <p><a class="source-toggle" href="#"
786 onclick="toggleCode('M000039-source');return false;">[Source]</a></p>
787 <div class="method-source-code" id="M000039-source">
788 <pre>
789 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 176</span>
790 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ls_files</span>
791 <span class="ruby-identifier">hsh</span> = {}
792 <span class="ruby-identifier">command_lines</span>(<span class="ruby-value str">'ls-files'</span>, <span class="ruby-value str">'--stage'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
793 (<span class="ruby-identifier">info</span>, <span class="ruby-identifier">file</span>) = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;\t&quot;</span>)
794 (<span class="ruby-identifier">mode</span>, <span class="ruby-identifier">sha</span>, <span class="ruby-identifier">stage</span>) = <span class="ruby-identifier">info</span>.<span class="ruby-identifier">split</span>
795 <span class="ruby-identifier">hsh</span>[<span class="ruby-identifier">file</span>] = {<span class="ruby-identifier">:path</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">file</span>, <span class="ruby-identifier">:mode_index</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">mode</span>, <span class="ruby-identifier">:sha_index</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">sha</span>, <span class="ruby-identifier">:stage</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">stage</span>}
796 <span class="ruby-keyword kw">end</span>
797 <span class="ruby-identifier">hsh</span>
798 <span class="ruby-keyword kw">end</span>
799 </pre>
800 </div>
801 </div>
802 </div>
804 <div id="method-M000051" class="method-detail">
805 <a name="M000051"></a>
807 <div class="method-heading">
808 <a href="#M000051" class="method-signature">
809 <span class="method-name">merge</span><span class="method-args">(branch, message = nil)</span>
810 </a>
811 </div>
813 <div class="method-description">
814 <p><a class="source-toggle" href="#"
815 onclick="toggleCode('M000051-source');return false;">[Source]</a></p>
816 <div class="method-source-code" id="M000051-source">
817 <pre>
818 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 260</span>
819 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">merge</span>(<span class="ruby-identifier">branch</span>, <span class="ruby-identifier">message</span> = <span class="ruby-keyword kw">nil</span>)
820 <span class="ruby-identifier">arr_opts</span> = []
821 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> [<span class="ruby-node">&quot;-m '#{message}'&quot;</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">message</span>
822 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">branch</span>.<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">' '</span>)
823 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'merge'</span>, <span class="ruby-identifier">arr_opts</span>)
824 <span class="ruby-keyword kw">end</span>
825 </pre>
826 </div>
827 </div>
828 </div>
830 <div id="method-M000031" class="method-detail">
831 <a name="M000031"></a>
833 <div class="method-heading">
834 <a href="#M000031" class="method-signature">
835 <span class="method-name">object_contents</span><span class="method-args">(sha)</span>
836 </a>
837 </div>
839 <div class="method-description">
840 <p><a class="source-toggle" href="#"
841 onclick="toggleCode('M000031-source');return false;">[Source]</a></p>
842 <div class="method-source-code" id="M000031-source">
843 <pre>
844 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 82</span>
845 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">object_contents</span>(<span class="ruby-identifier">sha</span>)
846 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'cat-file'</span>, [<span class="ruby-value str">'-p'</span>, <span class="ruby-identifier">sha</span>])
847 <span class="ruby-keyword kw">end</span>
848 </pre>
849 </div>
850 </div>
851 </div>
853 <div id="method-M000030" class="method-detail">
854 <a name="M000030"></a>
856 <div class="method-heading">
857 <a href="#M000030" class="method-signature">
858 <span class="method-name">object_size</span><span class="method-args">(sha)</span>
859 </a>
860 </div>
862 <div class="method-description">
863 <p><a class="source-toggle" href="#"
864 onclick="toggleCode('M000030-source');return false;">[Source]</a></p>
865 <div class="method-source-code" id="M000030-source">
866 <pre>
867 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 78</span>
868 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">object_size</span>(<span class="ruby-identifier">sha</span>)
869 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'cat-file'</span>, [<span class="ruby-value str">'-s'</span>, <span class="ruby-identifier">sha</span>]).<span class="ruby-identifier">to_i</span>
870 <span class="ruby-keyword kw">end</span>
871 </pre>
872 </div>
873 </div>
874 </div>
876 <div id="method-M000029" class="method-detail">
877 <a name="M000029"></a>
879 <div class="method-heading">
880 <a href="#M000029" class="method-signature">
881 <span class="method-name">object_type</span><span class="method-args">(sha)</span>
882 </a>
883 </div>
885 <div class="method-description">
886 <p><a class="source-toggle" href="#"
887 onclick="toggleCode('M000029-source');return false;">[Source]</a></p>
888 <div class="method-source-code" id="M000029-source">
889 <pre>
890 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 74</span>
891 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">object_type</span>(<span class="ruby-identifier">sha</span>)
892 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'cat-file'</span>, [<span class="ruby-value str">'-t'</span>, <span class="ruby-identifier">sha</span>])
893 <span class="ruby-keyword kw">end</span>
894 </pre>
895 </div>
896 </div>
897 </div>
899 <div id="method-M000058" class="method-detail">
900 <a name="M000058"></a>
902 <div class="method-heading">
903 <a href="#M000058" class="method-signature">
904 <span class="method-name">push</span><span class="method-args">(remote, branch = 'master')</span>
905 </a>
906 </div>
908 <div class="method-description">
909 <p><a class="source-toggle" href="#"
910 onclick="toggleCode('M000058-source');return false;">[Source]</a></p>
911 <div class="method-source-code" id="M000058-source">
912 <pre>
913 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 299</span>
914 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">push</span>(<span class="ruby-identifier">remote</span>, <span class="ruby-identifier">branch</span> = <span class="ruby-value str">'master'</span>)
915 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'push'</span>, [<span class="ruby-identifier">remote</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-identifier">branch</span>.<span class="ruby-identifier">to_s</span>])
916 <span class="ruby-keyword kw">end</span>
917 </pre>
918 </div>
919 </div>
920 </div>
922 <div id="method-M000052" class="method-detail">
923 <a name="M000052"></a>
925 <div class="method-heading">
926 <a href="#M000052" class="method-signature">
927 <span class="method-name">remote_add</span><span class="method-args">(name, url, opts = {})</span>
928 </a>
929 </div>
931 <div class="method-description">
932 <p><a class="source-toggle" href="#"
933 onclick="toggleCode('M000052-source');return false;">[Source]</a></p>
934 <div class="method-source-code" id="M000052-source">
935 <pre>
936 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 267</span>
937 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remote_add</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">url</span>, <span class="ruby-identifier">opts</span> = {})
938 <span class="ruby-identifier">arr_opts</span> = [<span class="ruby-value str">'add'</span>]
939 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'-f'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:with_fetch</span>]
940 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">name</span>
941 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">url</span>
943 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'remote'</span>, <span class="ruby-identifier">arr_opts</span>)
944 <span class="ruby-keyword kw">end</span>
945 </pre>
946 </div>
947 </div>
948 </div>
950 <div id="method-M000053" class="method-detail">
951 <a name="M000053"></a>
953 <div class="method-heading">
954 <a href="#M000053" class="method-signature">
955 <span class="method-name">remote_remove</span><span class="method-args">(name)</span>
956 </a>
957 </div>
959 <div class="method-description">
961 this is documented as such, but seems broken for some reason i&#8217;ll try
962 to get around it some other way later
963 </p>
964 <p><a class="source-toggle" href="#"
965 onclick="toggleCode('M000053-source');return false;">[Source]</a></p>
966 <div class="method-source-code" id="M000053-source">
967 <pre>
968 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 278</span>
969 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remote_remove</span>(<span class="ruby-identifier">name</span>)
970 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'remote'</span>, [<span class="ruby-value str">'rm'</span>, <span class="ruby-identifier">name</span>])
971 <span class="ruby-keyword kw">end</span>
972 </pre>
973 </div>
974 </div>
975 </div>
977 <div id="method-M000054" class="method-detail">
978 <a name="M000054"></a>
980 <div class="method-heading">
981 <a href="#M000054" class="method-signature">
982 <span class="method-name">remotes</span><span class="method-args">()</span>
983 </a>
984 </div>
986 <div class="method-description">
987 <p><a class="source-toggle" href="#"
988 onclick="toggleCode('M000054-source');return false;">[Source]</a></p>
989 <div class="method-source-code" id="M000054-source">
990 <pre>
991 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 282</span>
992 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remotes</span>
993 <span class="ruby-identifier">command_lines</span>(<span class="ruby-value str">'remote'</span>)
994 <span class="ruby-keyword kw">end</span>
995 </pre>
996 </div>
997 </div>
998 </div>
1000 <div id="method-M000045" class="method-detail">
1001 <a name="M000045"></a>
1003 <div class="method-heading">
1004 <a href="#M000045" class="method-signature">
1005 <span class="method-name">remove</span><span class="method-args">(path = '.', opts = {})</span>
1006 </a>
1007 </div>
1009 <div class="method-description">
1010 <p><a class="source-toggle" href="#"
1011 onclick="toggleCode('M000045-source');return false;">[Source]</a></p>
1012 <div class="method-source-code" id="M000045-source">
1013 <pre>
1014 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 220</span>
1015 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove</span>(<span class="ruby-identifier">path</span> = <span class="ruby-value str">'.'</span>, <span class="ruby-identifier">opts</span> = {})
1016 <span class="ruby-identifier">path</span> = <span class="ruby-identifier">path</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">' '</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">path</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
1018 <span class="ruby-identifier">arr_opts</span> = [<span class="ruby-value str">'-f'</span>] <span class="ruby-comment cmt"># overrides the up-to-date check by default</span>
1019 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> [<span class="ruby-value str">'-r'</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:recursive</span>]
1020 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">path</span>
1022 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'rm'</span>, <span class="ruby-identifier">arr_opts</span>)
1023 <span class="ruby-keyword kw">end</span>
1024 </pre>
1025 </div>
1026 </div>
1027 </div>
1029 <div id="method-M000060" class="method-detail">
1030 <a name="M000060"></a>
1032 <div class="method-heading">
1033 <a href="#M000060" class="method-signature">
1034 <span class="method-name">repack</span><span class="method-args">()</span>
1035 </a>
1036 </div>
1038 <div class="method-description">
1039 <p><a class="source-toggle" href="#"
1040 onclick="toggleCode('M000060-source');return false;">[Source]</a></p>
1041 <div class="method-source-code" id="M000060-source">
1042 <pre>
1043 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 307</span>
1044 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">repack</span>
1045 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'repack'</span>, [<span class="ruby-value str">'-a'</span>, <span class="ruby-value str">'-d'</span>])
1046 <span class="ruby-keyword kw">end</span>
1047 </pre>
1048 </div>
1049 </div>
1050 </div>
1052 <div id="method-M000047" class="method-detail">
1053 <a name="M000047"></a>
1055 <div class="method-heading">
1056 <a href="#M000047" class="method-signature">
1057 <span class="method-name">reset</span><span class="method-args">(commit, opts = {})</span>
1058 </a>
1059 </div>
1061 <div class="method-description">
1062 <p><a class="source-toggle" href="#"
1063 onclick="toggleCode('M000047-source');return false;">[Source]</a></p>
1064 <div class="method-source-code" id="M000047-source">
1065 <pre>
1066 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 236</span>
1067 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>(<span class="ruby-identifier">commit</span>, <span class="ruby-identifier">opts</span> = {})
1068 <span class="ruby-identifier">arr_opts</span> = []
1069 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'--hard'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:hard</span>]
1070 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">commit</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">commit</span>
1071 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'reset'</span>, <span class="ruby-identifier">arr_opts</span>)
1072 <span class="ruby-keyword kw">end</span>
1073 </pre>
1074 </div>
1075 </div>
1076 </div>
1078 <div id="method-M000028" class="method-detail">
1079 <a name="M000028"></a>
1081 <div class="method-heading">
1082 <a href="#M000028" class="method-signature">
1083 <span class="method-name">revparse</span><span class="method-args">(string)</span>
1084 </a>
1085 </div>
1087 <div class="method-description">
1088 <p><a class="source-toggle" href="#"
1089 onclick="toggleCode('M000028-source');return false;">[Source]</a></p>
1090 <div class="method-source-code" id="M000028-source">
1091 <pre>
1092 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 70</span>
1093 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">revparse</span>(<span class="ruby-identifier">string</span>)
1094 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'rev-parse'</span>, <span class="ruby-identifier">string</span>)
1095 <span class="ruby-keyword kw">end</span>
1096 </pre>
1097 </div>
1098 </div>
1099 </div>
1101 <div id="method-M000056" class="method-detail">
1102 <a name="M000056"></a>
1104 <div class="method-heading">
1105 <a href="#M000056" class="method-signature">
1106 <span class="method-name">tag</span><span class="method-args">(tag)</span>
1107 </a>
1108 </div>
1110 <div class="method-description">
1111 <p><a class="source-toggle" href="#"
1112 onclick="toggleCode('M000056-source');return false;">[Source]</a></p>
1113 <div class="method-source-code" id="M000056-source">
1114 <pre>
1115 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 290</span>
1116 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">tag</span>(<span class="ruby-identifier">tag</span>)
1117 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'tag'</span>, <span class="ruby-identifier">tag</span>)
1118 <span class="ruby-keyword kw">end</span>
1119 </pre>
1120 </div>
1121 </div>
1122 </div>
1124 <div id="method-M000059" class="method-detail">
1125 <a name="M000059"></a>
1127 <div class="method-heading">
1128 <a href="#M000059" class="method-signature">
1129 <span class="method-name">tag_sha</span><span class="method-args">(tag_name)</span>
1130 </a>
1131 </div>
1133 <div class="method-description">
1134 <p><a class="source-toggle" href="#"
1135 onclick="toggleCode('M000059-source');return false;">[Source]</a></p>
1136 <div class="method-source-code" id="M000059-source">
1137 <pre>
1138 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 303</span>
1139 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">tag_sha</span>(<span class="ruby-identifier">tag_name</span>)
1140 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'show-ref'</span>, [<span class="ruby-value str">'--tags'</span>, <span class="ruby-value str">'-s'</span>, <span class="ruby-identifier">tag_name</span>])
1141 <span class="ruby-keyword kw">end</span>
1142 </pre>
1143 </div>
1144 </div>
1145 </div>
1147 <div id="method-M000055" class="method-detail">
1148 <a name="M000055"></a>
1150 <div class="method-heading">
1151 <a href="#M000055" class="method-signature">
1152 <span class="method-name">tags</span><span class="method-args">()</span>
1153 </a>
1154 </div>
1156 <div class="method-description">
1157 <p><a class="source-toggle" href="#"
1158 onclick="toggleCode('M000055-source');return false;">[Source]</a></p>
1159 <div class="method-source-code" id="M000055-source">
1160 <pre>
1161 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 286</span>
1162 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">tags</span>
1163 <span class="ruby-identifier">command_lines</span>(<span class="ruby-value str">'tag'</span>)
1164 <span class="ruby-keyword kw">end</span>
1165 </pre>
1166 </div>
1167 </div>
1168 </div>
1171 </div>
1174 </div>
1177 <div id="validator-badges">
1178 <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
1179 </div>
1181 </body>
1182 </html>