added documentation and a license file
[rubygit.git] / doc / classes / Git / Lib.html
blobfd3c7b052fb187068867f79e8d482bb1a689423b
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="#M000052">remote_add</a>&nbsp;&nbsp;
118 <a href="#M000053">remote_remove</a>&nbsp;&nbsp;
119 <a href="#M000054">remotes</a>&nbsp;&nbsp;
120 <a href="#M000045">remove</a>&nbsp;&nbsp;
121 <a href="#M000059">repack</a>&nbsp;&nbsp;
122 <a href="#M000047">reset</a>&nbsp;&nbsp;
123 <a href="#M000028">revparse</a>&nbsp;&nbsp;
124 <a href="#M000056">tag</a>&nbsp;&nbsp;
125 <a href="#M000058">tag_sha</a>&nbsp;&nbsp;
126 <a href="#M000055">tags</a>&nbsp;&nbsp;
127 </div>
128 </div>
130 </div>
133 <!-- if includes -->
135 <div id="section">
144 <!-- if method_list -->
145 <div id="methods">
146 <h3 class="section-bar">Public Class methods</h3>
148 <div id="method-M000024" class="method-detail">
149 <a name="M000024"></a>
151 <div class="method-heading">
152 <a href="#M000024" class="method-signature">
153 <span class="method-name">new</span><span class="method-args">(base = nil)</span>
154 </a>
155 </div>
157 <div class="method-description">
158 <p><a class="source-toggle" href="#"
159 onclick="toggleCode('M000024-source');return false;">[Source]</a></p>
160 <div class="method-source-code" id="M000024-source">
161 <pre>
162 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 13</span>
163 <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>)
164 <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>)
165 <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>
166 <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>
167 <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>
168 <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>)
169 <span class="ruby-ivar">@git_dir</span> = <span class="ruby-identifier">base</span>[<span class="ruby-identifier">:repository</span>]
170 <span class="ruby-ivar">@git_index_file</span> = <span class="ruby-identifier">base</span>[<span class="ruby-identifier">:index</span>]
171 <span class="ruby-ivar">@git_work_dir</span> = <span class="ruby-identifier">base</span>[<span class="ruby-identifier">:working_directory</span>]
172 <span class="ruby-keyword kw">end</span>
173 <span class="ruby-keyword kw">end</span>
174 </pre>
175 </div>
176 </div>
177 </div>
179 <h3 class="section-bar">Public Instance methods</h3>
181 <div id="method-M000044" class="method-detail">
182 <a name="M000044"></a>
184 <div class="method-heading">
185 <a href="#M000044" class="method-signature">
186 <span class="method-name">add</span><span class="method-args">(path = '.')</span>
187 </a>
188 </div>
190 <div class="method-description">
191 <p><a class="source-toggle" href="#"
192 onclick="toggleCode('M000044-source');return false;">[Source]</a></p>
193 <div class="method-source-code" id="M000044-source">
194 <pre>
195 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 215</span>
196 <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>)
197 <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>)
198 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'add'</span>, <span class="ruby-identifier">path</span>)
199 <span class="ruby-keyword kw">end</span>
200 </pre>
201 </div>
202 </div>
203 </div>
205 <div id="method-M000033" class="method-detail">
206 <a name="M000033"></a>
208 <div class="method-heading">
209 <a href="#M000033" class="method-signature">
210 <span class="method-name">branch_current</span><span class="method-args">()</span>
211 </a>
212 </div>
214 <div class="method-description">
215 <p><a class="source-toggle" href="#"
216 onclick="toggleCode('M000033-source');return false;">[Source]</a></p>
217 <div class="method-source-code" id="M000033-source">
218 <pre>
219 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 96</span>
220 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">branch_current</span>
221 <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>
222 <span class="ruby-keyword kw">end</span>
223 </pre>
224 </div>
225 </div>
226 </div>
228 <div id="method-M000049" class="method-detail">
229 <a name="M000049"></a>
231 <div class="method-heading">
232 <a href="#M000049" class="method-signature">
233 <span class="method-name">branch_delete</span><span class="method-args">(branch)</span>
234 </a>
235 </div>
237 <div class="method-description">
238 <p><a class="source-toggle" href="#"
239 onclick="toggleCode('M000049-source');return false;">[Source]</a></p>
240 <div class="method-source-code" id="M000049-source">
241 <pre>
242 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 248</span>
243 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">branch_delete</span>(<span class="ruby-identifier">branch</span>)
244 <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>])
245 <span class="ruby-keyword kw">end</span>
246 </pre>
247 </div>
248 </div>
249 </div>
251 <div id="method-M000048" class="method-detail">
252 <a name="M000048"></a>
254 <div class="method-heading">
255 <a href="#M000048" class="method-signature">
256 <span class="method-name">branch_new</span><span class="method-args">(branch)</span>
257 </a>
258 </div>
260 <div class="method-description">
261 <p><a class="source-toggle" href="#"
262 onclick="toggleCode('M000048-source');return false;">[Source]</a></p>
263 <div class="method-source-code" id="M000048-source">
264 <pre>
265 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 244</span>
266 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">branch_new</span>(<span class="ruby-identifier">branch</span>)
267 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'branch'</span>, <span class="ruby-identifier">branch</span>)
268 <span class="ruby-keyword kw">end</span>
269 </pre>
270 </div>
271 </div>
272 </div>
274 <div id="method-M000032" class="method-detail">
275 <a name="M000032"></a>
277 <div class="method-heading">
278 <a href="#M000032" class="method-signature">
279 <span class="method-name">branches_all</span><span class="method-args">()</span>
280 </a>
281 </div>
283 <div class="method-description">
284 <p><a class="source-toggle" href="#"
285 onclick="toggleCode('M000032-source');return false;">[Source]</a></p>
286 <div class="method-source-code" id="M000032-source">
287 <pre>
288 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 86</span>
289 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">branches_all</span>
290 <span class="ruby-identifier">arr</span> = []
291 <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>
292 <span class="ruby-identifier">current</span> = <span class="ruby-keyword kw">false</span>
293 <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>
294 <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>]
295 <span class="ruby-keyword kw">end</span>
296 <span class="ruby-identifier">arr</span>
297 <span class="ruby-keyword kw">end</span>
298 </pre>
299 </div>
300 </div>
301 </div>
303 <div id="method-M000050" class="method-detail">
304 <a name="M000050"></a>
306 <div class="method-heading">
307 <a href="#M000050" class="method-signature">
308 <span class="method-name">checkout</span><span class="method-args">(branch, opts = {})</span>
309 </a>
310 </div>
312 <div class="method-description">
313 <p><a class="source-toggle" href="#"
314 onclick="toggleCode('M000050-source');return false;">[Source]</a></p>
315 <div class="method-source-code" id="M000050-source">
316 <pre>
317 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 252</span>
318 <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> = {})
319 <span class="ruby-identifier">arr_opts</span> = []
320 <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>]
321 <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>
323 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'checkout'</span>, <span class="ruby-identifier">arr_opts</span>)
324 <span class="ruby-keyword kw">end</span>
325 </pre>
326 </div>
327 </div>
328 </div>
330 <div id="method-M000026" class="method-detail">
331 <a name="M000026"></a>
333 <div class="method-heading">
334 <a href="#M000026" class="method-signature">
335 <span class="method-name">clone</span><span class="method-args">(repository, name, opts = {})</span>
336 </a>
337 </div>
339 <div class="method-description">
341 tries to clone the given repo
342 </p>
344 returns {:repository} (if bare)
345 </p>
346 <pre>
347 {:working_directory} otherwise
348 </pre>
350 accepts options:
351 </p>
352 <pre>
353 :remote - name of remote (rather than 'origin')
354 :bare - no working directory
355 </pre>
357 TODO - make this work with SSH password or auth_key
358 </p>
359 <p><a class="source-toggle" href="#"
360 onclick="toggleCode('M000026-source');return false;">[Source]</a></p>
361 <div class="method-source-code" id="M000026-source">
362 <pre>
363 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 40</span>
364 <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> = {})
365 <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>
366 <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>
368 <span class="ruby-identifier">arr_opts</span> = []
369 <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>]
370 <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>]
371 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">repository</span>
372 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">clone_dir</span>
374 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'clone'</span>, <span class="ruby-identifier">arr_opts</span>)
376 <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>}
377 <span class="ruby-keyword kw">end</span>
378 </pre>
379 </div>
380 </div>
381 </div>
383 <div id="method-M000046" class="method-detail">
384 <a name="M000046"></a>
386 <div class="method-heading">
387 <a href="#M000046" class="method-signature">
388 <span class="method-name">commit</span><span class="method-args">(message, opts = {})</span>
389 </a>
390 </div>
392 <div class="method-description">
393 <p><a class="source-toggle" href="#"
394 onclick="toggleCode('M000046-source');return false;">[Source]</a></p>
395 <div class="method-source-code" id="M000046-source">
396 <pre>
397 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 230</span>
398 <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> = {})
399 <span class="ruby-identifier">arr_opts</span> = [<span class="ruby-node">&quot;-m '#{message}'&quot;</span>]
400 <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>]
401 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'commit'</span>, <span class="ruby-identifier">arr_opts</span>)
402 <span class="ruby-keyword kw">end</span>
403 </pre>
404 </div>
405 </div>
406 </div>
408 <div id="method-M000041" class="method-detail">
409 <a name="M000041"></a>
411 <div class="method-heading">
412 <a href="#M000041" class="method-signature">
413 <span class="method-name">config_get</span><span class="method-args">(name)</span>
414 </a>
415 </div>
417 <div class="method-description">
418 <p><a class="source-toggle" href="#"
419 onclick="toggleCode('M000041-source');return false;">[Source]</a></p>
420 <div class="method-source-code" id="M000041-source">
421 <pre>
422 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 196</span>
423 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">config_get</span>(<span class="ruby-identifier">name</span>)
424 <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>])
425 <span class="ruby-keyword kw">end</span>
426 </pre>
427 </div>
428 </div>
429 </div>
431 <div id="method-M000042" class="method-detail">
432 <a name="M000042"></a>
434 <div class="method-heading">
435 <a href="#M000042" class="method-signature">
436 <span class="method-name">config_list</span><span class="method-args">()</span>
437 </a>
438 </div>
440 <div class="method-description">
441 <p><a class="source-toggle" href="#"
442 onclick="toggleCode('M000042-source');return false;">[Source]</a></p>
443 <div class="method-source-code" id="M000042-source">
444 <pre>
445 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 200</span>
446 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">config_list</span>
447 <span class="ruby-identifier">hsh</span> = {}
448 <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>
449 (<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>)
450 <span class="ruby-identifier">hsh</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">value</span>
451 <span class="ruby-keyword kw">end</span>
452 <span class="ruby-identifier">hsh</span>
453 <span class="ruby-keyword kw">end</span>
454 </pre>
455 </div>
456 </div>
457 </div>
459 <div id="method-M000040" class="method-detail">
460 <a name="M000040"></a>
462 <div class="method-heading">
463 <a href="#M000040" class="method-signature">
464 <span class="method-name">config_remote</span><span class="method-args">(name)</span>
465 </a>
466 </div>
468 <div class="method-description">
469 <p><a class="source-toggle" href="#"
470 onclick="toggleCode('M000040-source');return false;">[Source]</a></p>
471 <div class="method-source-code" id="M000040-source">
472 <pre>
473 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 187</span>
474 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">config_remote</span>(<span class="ruby-identifier">name</span>)
475 <span class="ruby-identifier">hsh</span> = {}
476 <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>
477 (<span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span>) = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">split</span>
478 <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>
479 <span class="ruby-keyword kw">end</span>
480 <span class="ruby-identifier">hsh</span>
481 <span class="ruby-keyword kw">end</span>
482 </pre>
483 </div>
484 </div>
485 </div>
487 <div id="method-M000043" class="method-detail">
488 <a name="M000043"></a>
490 <div class="method-heading">
491 <a href="#M000043" class="method-signature">
492 <span class="method-name">config_set</span><span class="method-args">(name, value)</span>
493 </a>
494 </div>
496 <div class="method-description">
498 WRITE COMMANDS ##
499 </p>
500 <p><a class="source-toggle" href="#"
501 onclick="toggleCode('M000043-source');return false;">[Source]</a></p>
502 <div class="method-source-code" id="M000043-source">
503 <pre>
504 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 211</span>
505 <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>)
506 <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>])
507 <span class="ruby-keyword kw">end</span>
508 </pre>
509 </div>
510 </div>
511 </div>
513 <div id="method-M000037" class="method-detail">
514 <a name="M000037"></a>
516 <div class="method-heading">
517 <a href="#M000037" class="method-signature">
518 <span class="method-name">diff_files</span><span class="method-args">()</span>
519 </a>
520 </div>
522 <div class="method-description">
524 compares the index and the working directory
525 </p>
526 <p><a class="source-toggle" href="#"
527 onclick="toggleCode('M000037-source');return false;">[Source]</a></p>
528 <div class="method-source-code" id="M000037-source">
529 <pre>
530 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 153</span>
531 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">diff_files</span>
532 <span class="ruby-identifier">hsh</span> = {}
533 <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>
534 (<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>)
535 (<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>
536 <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>,
537 <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>}
538 <span class="ruby-keyword kw">end</span>
539 <span class="ruby-identifier">hsh</span>
540 <span class="ruby-keyword kw">end</span>
541 </pre>
542 </div>
543 </div>
544 </div>
546 <div id="method-M000035" class="method-detail">
547 <a name="M000035"></a>
549 <div class="method-heading">
550 <a href="#M000035" class="method-signature">
551 <span class="method-name">diff_full</span><span class="method-args">(obj1 = 'HEAD', obj2 = nil, opts = {})</span>
552 </a>
553 </div>
555 <div class="method-description">
556 <p><a class="source-toggle" href="#"
557 onclick="toggleCode('M000035-source');return false;">[Source]</a></p>
558 <div class="method-source-code" id="M000035-source">
559 <pre>
560 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 123</span>
561 <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> = {})
562 <span class="ruby-identifier">diff_opts</span> = [<span class="ruby-value str">'-p'</span>]
563 <span class="ruby-identifier">diff_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">obj1</span>
564 <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>)
565 <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>
567 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'diff'</span>, <span class="ruby-identifier">diff_opts</span>)
568 <span class="ruby-keyword kw">end</span>
569 </pre>
570 </div>
571 </div>
572 </div>
574 <div id="method-M000038" class="method-detail">
575 <a name="M000038"></a>
577 <div class="method-heading">
578 <a href="#M000038" class="method-signature">
579 <span class="method-name">diff_index</span><span class="method-args">(treeish)</span>
580 </a>
581 </div>
583 <div class="method-description">
585 compares the index and the repository
586 </p>
587 <p><a class="source-toggle" href="#"
588 onclick="toggleCode('M000038-source');return false;">[Source]</a></p>
589 <div class="method-source-code" id="M000038-source">
590 <pre>
591 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 165</span>
592 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">diff_index</span>(<span class="ruby-identifier">treeish</span>)
593 <span class="ruby-identifier">hsh</span> = {}
594 <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>
595 (<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>)
596 (<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>
597 <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>,
598 <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>}
599 <span class="ruby-keyword kw">end</span>
600 <span class="ruby-identifier">hsh</span>
601 <span class="ruby-keyword kw">end</span>
602 </pre>
603 </div>
604 </div>
605 </div>
607 <div id="method-M000036" class="method-detail">
608 <a name="M000036"></a>
610 <div class="method-heading">
611 <a href="#M000036" class="method-signature">
612 <span class="method-name">diff_stats</span><span class="method-args">(obj1 = 'HEAD', obj2 = nil, opts = {})</span>
613 </a>
614 </div>
616 <div class="method-description">
617 <p><a class="source-toggle" href="#"
618 onclick="toggleCode('M000036-source');return false;">[Source]</a></p>
619 <div class="method-source-code" id="M000036-source">
620 <pre>
621 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 132</span>
622 <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> = {})
623 <span class="ruby-identifier">diff_opts</span> = [<span class="ruby-value str">'--numstat'</span>]
624 <span class="ruby-identifier">diff_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">obj1</span>
625 <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>)
626 <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>
628 <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> {}}
630 <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>
631 (<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>)
632 <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>
633 <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>
634 <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>])
635 <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>
636 <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>}
637 <span class="ruby-keyword kw">end</span>
639 <span class="ruby-identifier">hsh</span>
640 <span class="ruby-keyword kw">end</span>
641 </pre>
642 </div>
643 </div>
644 </div>
646 <div id="method-M000057" class="method-detail">
647 <a name="M000057"></a>
649 <div class="method-heading">
650 <a href="#M000057" class="method-signature">
651 <span class="method-name">fetch</span><span class="method-args">(remote)</span>
652 </a>
653 </div>
655 <div class="method-description">
656 <p><a class="source-toggle" href="#"
657 onclick="toggleCode('M000057-source');return false;">[Source]</a></p>
658 <div class="method-source-code" id="M000057-source">
659 <pre>
660 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 295</span>
661 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fetch</span>(<span class="ruby-identifier">remote</span>)
662 <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>)
663 <span class="ruby-keyword kw">end</span>
664 </pre>
665 </div>
666 </div>
667 </div>
669 <div id="method-M000034" class="method-detail">
670 <a name="M000034"></a>
672 <div class="method-heading">
673 <a href="#M000034" class="method-signature">
674 <span class="method-name">grep</span><span class="method-args">(string, opts = {})</span>
675 </a>
676 </div>
678 <div class="method-description">
680 returns hash
681 </p>
682 <dl>
683 <dt>tree-ish</dt><dd>= [[line_no, match], [line_no, match2]]
685 </dd>
686 <dt>tree-ish</dt><dd>= [[line_no, match], [line_no, match2]]
688 </dd>
689 </dl>
690 <p><a class="source-toggle" href="#"
691 onclick="toggleCode('M000034-source');return false;">[Source]</a></p>
692 <div class="method-source-code" id="M000034-source">
693 <pre>
694 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 104</span>
695 <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> = {})
696 <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>]
698 <span class="ruby-identifier">grep_opts</span> = [<span class="ruby-value str">'-n'</span>]
699 <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>]
700 <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>]
701 <span class="ruby-identifier">grep_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;-e '#{string}'&quot;</span>
702 <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>)
703 <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>
704 <span class="ruby-identifier">hsh</span> = {}
705 <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>
706 <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>)
707 <span class="ruby-identifier">hsh</span>[<span class="ruby-identifier">m</span>[<span class="ruby-value">1</span>]] <span class="ruby-operator">||=</span> []
708 <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>]]
709 <span class="ruby-keyword kw">end</span>
710 <span class="ruby-keyword kw">end</span>
711 <span class="ruby-identifier">hsh</span>
712 <span class="ruby-keyword kw">end</span>
713 </pre>
714 </div>
715 </div>
716 </div>
718 <div id="method-M000025" class="method-detail">
719 <a name="M000025"></a>
721 <div class="method-heading">
722 <a href="#M000025" class="method-signature">
723 <span class="method-name">init</span><span class="method-args">()</span>
724 </a>
725 </div>
727 <div class="method-description">
728 <p><a class="source-toggle" href="#"
729 onclick="toggleCode('M000025-source');return false;">[Source]</a></p>
730 <div class="method-source-code" id="M000025-source">
731 <pre>
732 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 25</span>
733 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">init</span>
734 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'init'</span>)
735 <span class="ruby-keyword kw">end</span>
736 </pre>
737 </div>
738 </div>
739 </div>
741 <div id="method-M000027" class="method-detail">
742 <a name="M000027"></a>
744 <div class="method-heading">
745 <a href="#M000027" class="method-signature">
746 <span class="method-name">log_commits</span><span class="method-args">(opts = {})</span>
747 </a>
748 </div>
750 <div class="method-description">
752 READ COMMANDS ##
753 </p>
754 <p><a class="source-toggle" href="#"
755 onclick="toggleCode('M000027-source');return false;">[Source]</a></p>
756 <div class="method-source-code" id="M000027-source">
757 <pre>
758 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 59</span>
759 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">log_commits</span>(<span class="ruby-identifier">opts</span> = {})
760 <span class="ruby-identifier">arr_opts</span> = [<span class="ruby-value str">'--pretty=oneline'</span>]
761 <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>]
762 <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>
763 <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>)
764 <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>
765 <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>
767 <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> }
768 <span class="ruby-keyword kw">end</span>
769 </pre>
770 </div>
771 </div>
772 </div>
774 <div id="method-M000039" class="method-detail">
775 <a name="M000039"></a>
777 <div class="method-heading">
778 <a href="#M000039" class="method-signature">
779 <span class="method-name">ls_files</span><span class="method-args">()</span>
780 </a>
781 </div>
783 <div class="method-description">
784 <p><a class="source-toggle" href="#"
785 onclick="toggleCode('M000039-source');return false;">[Source]</a></p>
786 <div class="method-source-code" id="M000039-source">
787 <pre>
788 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 176</span>
789 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ls_files</span>
790 <span class="ruby-identifier">hsh</span> = {}
791 <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>
792 (<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>)
793 (<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>
794 <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>}
795 <span class="ruby-keyword kw">end</span>
796 <span class="ruby-identifier">hsh</span>
797 <span class="ruby-keyword kw">end</span>
798 </pre>
799 </div>
800 </div>
801 </div>
803 <div id="method-M000051" class="method-detail">
804 <a name="M000051"></a>
806 <div class="method-heading">
807 <a href="#M000051" class="method-signature">
808 <span class="method-name">merge</span><span class="method-args">(branch, message = nil)</span>
809 </a>
810 </div>
812 <div class="method-description">
813 <p><a class="source-toggle" href="#"
814 onclick="toggleCode('M000051-source');return false;">[Source]</a></p>
815 <div class="method-source-code" id="M000051-source">
816 <pre>
817 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 260</span>
818 <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>)
819 <span class="ruby-identifier">arr_opts</span> = []
820 <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>
821 <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>)
822 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'merge'</span>, <span class="ruby-identifier">arr_opts</span>)
823 <span class="ruby-keyword kw">end</span>
824 </pre>
825 </div>
826 </div>
827 </div>
829 <div id="method-M000031" class="method-detail">
830 <a name="M000031"></a>
832 <div class="method-heading">
833 <a href="#M000031" class="method-signature">
834 <span class="method-name">object_contents</span><span class="method-args">(sha)</span>
835 </a>
836 </div>
838 <div class="method-description">
839 <p><a class="source-toggle" href="#"
840 onclick="toggleCode('M000031-source');return false;">[Source]</a></p>
841 <div class="method-source-code" id="M000031-source">
842 <pre>
843 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 82</span>
844 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">object_contents</span>(<span class="ruby-identifier">sha</span>)
845 <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>])
846 <span class="ruby-keyword kw">end</span>
847 </pre>
848 </div>
849 </div>
850 </div>
852 <div id="method-M000030" class="method-detail">
853 <a name="M000030"></a>
855 <div class="method-heading">
856 <a href="#M000030" class="method-signature">
857 <span class="method-name">object_size</span><span class="method-args">(sha)</span>
858 </a>
859 </div>
861 <div class="method-description">
862 <p><a class="source-toggle" href="#"
863 onclick="toggleCode('M000030-source');return false;">[Source]</a></p>
864 <div class="method-source-code" id="M000030-source">
865 <pre>
866 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 78</span>
867 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">object_size</span>(<span class="ruby-identifier">sha</span>)
868 <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>
869 <span class="ruby-keyword kw">end</span>
870 </pre>
871 </div>
872 </div>
873 </div>
875 <div id="method-M000029" class="method-detail">
876 <a name="M000029"></a>
878 <div class="method-heading">
879 <a href="#M000029" class="method-signature">
880 <span class="method-name">object_type</span><span class="method-args">(sha)</span>
881 </a>
882 </div>
884 <div class="method-description">
885 <p><a class="source-toggle" href="#"
886 onclick="toggleCode('M000029-source');return false;">[Source]</a></p>
887 <div class="method-source-code" id="M000029-source">
888 <pre>
889 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 74</span>
890 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">object_type</span>(<span class="ruby-identifier">sha</span>)
891 <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>])
892 <span class="ruby-keyword kw">end</span>
893 </pre>
894 </div>
895 </div>
896 </div>
898 <div id="method-M000052" class="method-detail">
899 <a name="M000052"></a>
901 <div class="method-heading">
902 <a href="#M000052" class="method-signature">
903 <span class="method-name">remote_add</span><span class="method-args">(name, url, opts = {})</span>
904 </a>
905 </div>
907 <div class="method-description">
908 <p><a class="source-toggle" href="#"
909 onclick="toggleCode('M000052-source');return false;">[Source]</a></p>
910 <div class="method-source-code" id="M000052-source">
911 <pre>
912 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 267</span>
913 <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> = {})
914 <span class="ruby-identifier">arr_opts</span> = [<span class="ruby-value str">'add'</span>]
915 <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>]
916 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">name</span>
917 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">url</span>
919 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'remote'</span>, <span class="ruby-identifier">arr_opts</span>)
920 <span class="ruby-keyword kw">end</span>
921 </pre>
922 </div>
923 </div>
924 </div>
926 <div id="method-M000053" class="method-detail">
927 <a name="M000053"></a>
929 <div class="method-heading">
930 <a href="#M000053" class="method-signature">
931 <span class="method-name">remote_remove</span><span class="method-args">(name)</span>
932 </a>
933 </div>
935 <div class="method-description">
937 this is documented as such, but seems broken for some reason i&#8217;ll try
938 to get around it some other way later
939 </p>
940 <p><a class="source-toggle" href="#"
941 onclick="toggleCode('M000053-source');return false;">[Source]</a></p>
942 <div class="method-source-code" id="M000053-source">
943 <pre>
944 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 278</span>
945 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remote_remove</span>(<span class="ruby-identifier">name</span>)
946 <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>])
947 <span class="ruby-keyword kw">end</span>
948 </pre>
949 </div>
950 </div>
951 </div>
953 <div id="method-M000054" class="method-detail">
954 <a name="M000054"></a>
956 <div class="method-heading">
957 <a href="#M000054" class="method-signature">
958 <span class="method-name">remotes</span><span class="method-args">()</span>
959 </a>
960 </div>
962 <div class="method-description">
963 <p><a class="source-toggle" href="#"
964 onclick="toggleCode('M000054-source');return false;">[Source]</a></p>
965 <div class="method-source-code" id="M000054-source">
966 <pre>
967 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 282</span>
968 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remotes</span>
969 <span class="ruby-identifier">command_lines</span>(<span class="ruby-value str">'remote'</span>)
970 <span class="ruby-keyword kw">end</span>
971 </pre>
972 </div>
973 </div>
974 </div>
976 <div id="method-M000045" class="method-detail">
977 <a name="M000045"></a>
979 <div class="method-heading">
980 <a href="#M000045" class="method-signature">
981 <span class="method-name">remove</span><span class="method-args">(path = '.', opts = {})</span>
982 </a>
983 </div>
985 <div class="method-description">
986 <p><a class="source-toggle" href="#"
987 onclick="toggleCode('M000045-source');return false;">[Source]</a></p>
988 <div class="method-source-code" id="M000045-source">
989 <pre>
990 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 220</span>
991 <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> = {})
992 <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>)
994 <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>
995 <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>]
996 <span class="ruby-identifier">arr_opts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">path</span>
998 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'rm'</span>, <span class="ruby-identifier">arr_opts</span>)
999 <span class="ruby-keyword kw">end</span>
1000 </pre>
1001 </div>
1002 </div>
1003 </div>
1005 <div id="method-M000059" class="method-detail">
1006 <a name="M000059"></a>
1008 <div class="method-heading">
1009 <a href="#M000059" class="method-signature">
1010 <span class="method-name">repack</span><span class="method-args">()</span>
1011 </a>
1012 </div>
1014 <div class="method-description">
1015 <p><a class="source-toggle" href="#"
1016 onclick="toggleCode('M000059-source');return false;">[Source]</a></p>
1017 <div class="method-source-code" id="M000059-source">
1018 <pre>
1019 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 303</span>
1020 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">repack</span>
1021 <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>])
1022 <span class="ruby-keyword kw">end</span>
1023 </pre>
1024 </div>
1025 </div>
1026 </div>
1028 <div id="method-M000047" class="method-detail">
1029 <a name="M000047"></a>
1031 <div class="method-heading">
1032 <a href="#M000047" class="method-signature">
1033 <span class="method-name">reset</span><span class="method-args">(commit, opts = {})</span>
1034 </a>
1035 </div>
1037 <div class="method-description">
1038 <p><a class="source-toggle" href="#"
1039 onclick="toggleCode('M000047-source');return false;">[Source]</a></p>
1040 <div class="method-source-code" id="M000047-source">
1041 <pre>
1042 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 236</span>
1043 <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> = {})
1044 <span class="ruby-identifier">arr_opts</span> = []
1045 <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>]
1046 <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>
1047 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'reset'</span>, <span class="ruby-identifier">arr_opts</span>)
1048 <span class="ruby-keyword kw">end</span>
1049 </pre>
1050 </div>
1051 </div>
1052 </div>
1054 <div id="method-M000028" class="method-detail">
1055 <a name="M000028"></a>
1057 <div class="method-heading">
1058 <a href="#M000028" class="method-signature">
1059 <span class="method-name">revparse</span><span class="method-args">(string)</span>
1060 </a>
1061 </div>
1063 <div class="method-description">
1064 <p><a class="source-toggle" href="#"
1065 onclick="toggleCode('M000028-source');return false;">[Source]</a></p>
1066 <div class="method-source-code" id="M000028-source">
1067 <pre>
1068 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 70</span>
1069 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">revparse</span>(<span class="ruby-identifier">string</span>)
1070 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'rev-parse'</span>, <span class="ruby-identifier">string</span>)
1071 <span class="ruby-keyword kw">end</span>
1072 </pre>
1073 </div>
1074 </div>
1075 </div>
1077 <div id="method-M000056" class="method-detail">
1078 <a name="M000056"></a>
1080 <div class="method-heading">
1081 <a href="#M000056" class="method-signature">
1082 <span class="method-name">tag</span><span class="method-args">(tag)</span>
1083 </a>
1084 </div>
1086 <div class="method-description">
1087 <p><a class="source-toggle" href="#"
1088 onclick="toggleCode('M000056-source');return false;">[Source]</a></p>
1089 <div class="method-source-code" id="M000056-source">
1090 <pre>
1091 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 290</span>
1092 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">tag</span>(<span class="ruby-identifier">tag</span>)
1093 <span class="ruby-identifier">command</span>(<span class="ruby-value str">'tag'</span>, <span class="ruby-identifier">tag</span>)
1094 <span class="ruby-keyword kw">end</span>
1095 </pre>
1096 </div>
1097 </div>
1098 </div>
1100 <div id="method-M000058" class="method-detail">
1101 <a name="M000058"></a>
1103 <div class="method-heading">
1104 <a href="#M000058" class="method-signature">
1105 <span class="method-name">tag_sha</span><span class="method-args">(tag_name)</span>
1106 </a>
1107 </div>
1109 <div class="method-description">
1110 <p><a class="source-toggle" href="#"
1111 onclick="toggleCode('M000058-source');return false;">[Source]</a></p>
1112 <div class="method-source-code" id="M000058-source">
1113 <pre>
1114 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 299</span>
1115 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">tag_sha</span>(<span class="ruby-identifier">tag_name</span>)
1116 <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>])
1117 <span class="ruby-keyword kw">end</span>
1118 </pre>
1119 </div>
1120 </div>
1121 </div>
1123 <div id="method-M000055" class="method-detail">
1124 <a name="M000055"></a>
1126 <div class="method-heading">
1127 <a href="#M000055" class="method-signature">
1128 <span class="method-name">tags</span><span class="method-args">()</span>
1129 </a>
1130 </div>
1132 <div class="method-description">
1133 <p><a class="source-toggle" href="#"
1134 onclick="toggleCode('M000055-source');return false;">[Source]</a></p>
1135 <div class="method-source-code" id="M000055-source">
1136 <pre>
1137 <span class="ruby-comment cmt"># File lib/git/lib.rb, line 286</span>
1138 <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">tags</span>
1139 <span class="ruby-identifier">command_lines</span>(<span class="ruby-value str">'tag'</span>)
1140 <span class="ruby-keyword kw">end</span>
1141 </pre>
1142 </div>
1143 </div>
1144 </div>
1147 </div>
1150 </div>
1153 <div id="validator-badges">
1154 <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
1155 </div>
1157 </body>
1158 </html>