rferraz-churn 0.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/man/churn.html ADDED
@@ -0,0 +1,542 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6
+ <meta name="generator" content="AsciiDoc 8.4.4" />
7
+ <title>churn</title>
8
+ <style type="text/css">
9
+ /* Debug borders */
10
+ p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
11
+ /*
12
+ border: 1px solid red;
13
+ */
14
+ }
15
+
16
+ body {
17
+ margin: 1em 5% 1em 5%;
18
+ }
19
+
20
+ a {
21
+ color: blue;
22
+ text-decoration: underline;
23
+ }
24
+ a:visited {
25
+ color: fuchsia;
26
+ }
27
+
28
+ em {
29
+ font-style: italic;
30
+ color: navy;
31
+ }
32
+
33
+ strong {
34
+ font-weight: bold;
35
+ color: #083194;
36
+ }
37
+
38
+ tt {
39
+ color: navy;
40
+ }
41
+
42
+ h1, h2, h3, h4, h5, h6 {
43
+ color: #527bbd;
44
+ font-family: sans-serif;
45
+ margin-top: 1.2em;
46
+ margin-bottom: 0.5em;
47
+ line-height: 1.3;
48
+ }
49
+
50
+ h1, h2, h3 {
51
+ border-bottom: 2px solid silver;
52
+ }
53
+ h2 {
54
+ padding-top: 0.5em;
55
+ }
56
+ h3 {
57
+ float: left;
58
+ }
59
+ h3 + * {
60
+ clear: left;
61
+ }
62
+
63
+ div.sectionbody {
64
+ font-family: serif;
65
+ margin-left: 0;
66
+ }
67
+
68
+ hr {
69
+ border: 1px solid silver;
70
+ }
71
+
72
+ p {
73
+ margin-top: 0.5em;
74
+ margin-bottom: 0.5em;
75
+ }
76
+
77
+ ul, ol, li > p {
78
+ margin-top: 0;
79
+ }
80
+
81
+ pre {
82
+ padding: 0;
83
+ margin: 0;
84
+ }
85
+
86
+ span#author {
87
+ color: #527bbd;
88
+ font-family: sans-serif;
89
+ font-weight: bold;
90
+ font-size: 1.1em;
91
+ }
92
+ span#email {
93
+ }
94
+ span#revision {
95
+ font-family: sans-serif;
96
+ }
97
+
98
+ div#footer {
99
+ font-family: sans-serif;
100
+ font-size: small;
101
+ border-top: 2px solid silver;
102
+ padding-top: 0.5em;
103
+ margin-top: 4.0em;
104
+ }
105
+ div#footer-text {
106
+ float: left;
107
+ padding-bottom: 0.5em;
108
+ }
109
+ div#footer-badges {
110
+ float: right;
111
+ padding-bottom: 0.5em;
112
+ }
113
+
114
+ div#preamble {
115
+ margin-top: 1.5em;
116
+ margin-bottom: 1.5em;
117
+ }
118
+ div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
119
+ div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
120
+ div.admonitionblock {
121
+ margin-top: 1.5em;
122
+ margin-bottom: 1.5em;
123
+ }
124
+ div.admonitionblock {
125
+ margin-top: 2.5em;
126
+ margin-bottom: 2.5em;
127
+ }
128
+
129
+ div.content { /* Block element content. */
130
+ padding: 0;
131
+ }
132
+
133
+ /* Block element titles. */
134
+ div.title, caption.title {
135
+ color: #527bbd;
136
+ font-family: sans-serif;
137
+ font-weight: bold;
138
+ text-align: left;
139
+ margin-top: 1.0em;
140
+ margin-bottom: 0.5em;
141
+ }
142
+ div.title + * {
143
+ margin-top: 0;
144
+ }
145
+
146
+ td div.title:first-child {
147
+ margin-top: 0.0em;
148
+ }
149
+ div.content div.title:first-child {
150
+ margin-top: 0.0em;
151
+ }
152
+ div.content + div.title {
153
+ margin-top: 0.0em;
154
+ }
155
+
156
+ div.sidebarblock > div.content {
157
+ background: #ffffee;
158
+ border: 1px solid silver;
159
+ padding: 0.5em;
160
+ }
161
+
162
+ div.listingblock > div.content {
163
+ border: 1px solid silver;
164
+ background: #f4f4f4;
165
+ padding: 0.5em;
166
+ }
167
+
168
+ div.quoteblock {
169
+ padding-left: 2.0em;
170
+ margin-right: 10%;
171
+ }
172
+ div.quoteblock > div.attribution {
173
+ padding-top: 0.5em;
174
+ text-align: right;
175
+ }
176
+
177
+ div.verseblock {
178
+ padding-left: 2.0em;
179
+ margin-right: 10%;
180
+ }
181
+ div.verseblock > div.content {
182
+ white-space: pre;
183
+ }
184
+ div.verseblock > div.attribution {
185
+ padding-top: 0.75em;
186
+ text-align: left;
187
+ }
188
+ /* DEPRECATED: Pre version 8.2.7 verse style literal block. */
189
+ div.verseblock + div.attribution {
190
+ text-align: left;
191
+ }
192
+
193
+ div.admonitionblock .icon {
194
+ vertical-align: top;
195
+ font-size: 1.1em;
196
+ font-weight: bold;
197
+ text-decoration: underline;
198
+ color: #527bbd;
199
+ padding-right: 0.5em;
200
+ }
201
+ div.admonitionblock td.content {
202
+ padding-left: 0.5em;
203
+ border-left: 2px solid silver;
204
+ }
205
+
206
+ div.exampleblock > div.content {
207
+ border-left: 2px solid silver;
208
+ padding: 0.5em;
209
+ }
210
+
211
+ div.imageblock div.content { padding-left: 0; }
212
+ div.imageblock img { border: 1px solid silver; }
213
+ span.image img { border-style: none; }
214
+
215
+ dl {
216
+ margin-top: 0.8em;
217
+ margin-bottom: 0.8em;
218
+ }
219
+ dt {
220
+ margin-top: 0.5em;
221
+ margin-bottom: 0;
222
+ font-style: normal;
223
+ color: navy;
224
+ }
225
+ dd > *:first-child {
226
+ margin-top: 0.1em;
227
+ }
228
+
229
+ ul, ol {
230
+ list-style-position: outside;
231
+ }
232
+ ol.arabic {
233
+ list-style-type: decimal;
234
+ }
235
+ ol.loweralpha {
236
+ list-style-type: lower-alpha;
237
+ }
238
+ ol.upperalpha {
239
+ list-style-type: upper-alpha;
240
+ }
241
+ ol.lowerroman {
242
+ list-style-type: lower-roman;
243
+ }
244
+ ol.upperroman {
245
+ list-style-type: upper-roman;
246
+ }
247
+
248
+ div.compact ul, div.compact ol,
249
+ div.compact p, div.compact p,
250
+ div.compact div, div.compact div {
251
+ margin-top: 0.1em;
252
+ margin-bottom: 0.1em;
253
+ }
254
+
255
+ div.tableblock > table {
256
+ border: 3px solid #527bbd;
257
+ }
258
+ thead {
259
+ font-family: sans-serif;
260
+ font-weight: bold;
261
+ }
262
+ tfoot {
263
+ font-weight: bold;
264
+ }
265
+ td > div.verse {
266
+ white-space: pre;
267
+ }
268
+ p.table {
269
+ margin-top: 0;
270
+ }
271
+ /* Because the table frame attribute is overriden by CSS in most browsers. */
272
+ div.tableblock > table[frame="void"] {
273
+ border-style: none;
274
+ }
275
+ div.tableblock > table[frame="hsides"] {
276
+ border-left-style: none;
277
+ border-right-style: none;
278
+ }
279
+ div.tableblock > table[frame="vsides"] {
280
+ border-top-style: none;
281
+ border-bottom-style: none;
282
+ }
283
+
284
+
285
+ div.hdlist {
286
+ margin-top: 0.8em;
287
+ margin-bottom: 0.8em;
288
+ }
289
+ div.hdlist tr {
290
+ padding-bottom: 15px;
291
+ }
292
+ dt.hdlist1.strong, td.hdlist1.strong {
293
+ font-weight: bold;
294
+ }
295
+ td.hdlist1 {
296
+ vertical-align: top;
297
+ font-style: normal;
298
+ padding-right: 0.8em;
299
+ color: navy;
300
+ }
301
+ td.hdlist2 {
302
+ vertical-align: top;
303
+ }
304
+ div.hdlist.compact tr {
305
+ margin: 0;
306
+ padding-bottom: 0;
307
+ }
308
+
309
+ .comment {
310
+ background: yellow;
311
+ }
312
+
313
+ @media print {
314
+ div#footer-badges { display: none; }
315
+ }
316
+
317
+ div#toctitle {
318
+ color: #527bbd;
319
+ font-family: sans-serif;
320
+ font-size: 1.1em;
321
+ font-weight: bold;
322
+ margin-top: 1.0em;
323
+ margin-bottom: 0.1em;
324
+ }
325
+
326
+ div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
327
+ margin-top: 0;
328
+ margin-bottom: 0;
329
+ }
330
+ div.toclevel2 {
331
+ margin-left: 2em;
332
+ font-size: 0.9em;
333
+ }
334
+ div.toclevel3 {
335
+ margin-left: 4em;
336
+ font-size: 0.9em;
337
+ }
338
+ div.toclevel4 {
339
+ margin-left: 6em;
340
+ font-size: 0.9em;
341
+ }
342
+ /* Workarounds for IE6's broken and incomplete CSS2. */
343
+
344
+ div.sidebar-content {
345
+ background: #ffffee;
346
+ border: 1px solid silver;
347
+ padding: 0.5em;
348
+ }
349
+ div.sidebar-title, div.image-title {
350
+ color: #527bbd;
351
+ font-family: sans-serif;
352
+ font-weight: bold;
353
+ margin-top: 0.0em;
354
+ margin-bottom: 0.5em;
355
+ }
356
+
357
+ div.listingblock div.content {
358
+ border: 1px solid silver;
359
+ background: #f4f4f4;
360
+ padding: 0.5em;
361
+ }
362
+
363
+ div.quoteblock-attribution {
364
+ padding-top: 0.5em;
365
+ text-align: right;
366
+ }
367
+
368
+ div.verseblock-content {
369
+ white-space: pre;
370
+ }
371
+ div.verseblock-attribution {
372
+ padding-top: 0.75em;
373
+ text-align: left;
374
+ }
375
+
376
+ div.exampleblock-content {
377
+ border-left: 2px solid silver;
378
+ padding-left: 0.5em;
379
+ }
380
+
381
+ /* IE6 sets dynamically generated links as visited. */
382
+ div#toc a:visited { color: blue; }
383
+ </style>
384
+ </head>
385
+ <body>
386
+ <div id="header">
387
+ <h1>churn</h1>
388
+ </div>
389
+ <div id="preamble">
390
+ <div class="sectionbody">
391
+ <div class="paragraph"><p>A Project to give the churn file, class, and method for a project for a given checkin
392
+ Over time the tool adds up the history of chruns to give the number of times a file, class, or method is changing during the life of a project.
393
+ Churn for files is immediate, but classes and methods requires buildings up a history using churn between revisions. The history is stored in ./tmp</p></div>
394
+ <div class="paragraph"><p>Currently has Full Git, Mercurial (hg), and Bazaar (bzr) support, and partial SVN support (supports only file level churn currnetly)</p></div>
395
+ <div class="paragraph"><p>Authors:
396
+ * danmayer
397
+ * ajwalters
398
+ * cldwalker
399
+ * absurdhero</p></div>
400
+ </div>
401
+ </div>
402
+ <h2 id="_example_output">Example Output</h2>
403
+ <div class="sectionbody">
404
+ <div class="literalblock">
405
+ <div class="content">
406
+ <pre><tt>**********************************************************************
407
+ * Revision Changes
408
+ **********************************************************************
409
+ Files:
410
+ +-------------------------------+
411
+ | file |
412
+ +-------------------------------+
413
+ | Rakefile |
414
+ | lib/churn/churn_calculator.rb |
415
+ +-------------------------------+</tt></pre>
416
+ </div></div>
417
+ <div class="literalblock">
418
+ <div class="content">
419
+ <pre><tt>Classes:
420
+ +-------------------------------+-----------------+
421
+ | file | klass |
422
+ +-------------------------------+-----------------+
423
+ | lib/churn/churn_calculator.rb | ChurnCalculator |
424
+ +-------------------------------+-----------------+</tt></pre>
425
+ </div></div>
426
+ <div class="literalblock">
427
+ <div class="content">
428
+ <pre><tt>Methods:
429
+ +-------------------------------+-----------------+-------------------------------+
430
+ | file | klass | method |
431
+ +-------------------------------+-----------------+-------------------------------+
432
+ | lib/churn/churn_calculator.rb | ChurnCalculator | ChurnCalculator#filters |
433
+ | lib/churn/churn_calculator.rb | ChurnCalculator | ChurnCalculator#display_array |
434
+ | lib/churn/churn_calculator.rb | ChurnCalculator | ChurnCalculator#to_s |
435
+ +-------------------------------+-----------------+-------------------------------+</tt></pre>
436
+ </div></div>
437
+ <div class="literalblock">
438
+ <div class="content">
439
+ <pre><tt>**********************************************************************
440
+ * Project Churn
441
+ **********************************************************************
442
+ Files:
443
+ +------------------------------------+---------------+
444
+ | file_path | times_changed |
445
+ +------------------------------------+---------------+
446
+ | lib/churn/churn_calculator.rb | 14 |
447
+ | README.rdoc | 7 |
448
+ | lib/tasks/churn_tasks.rb | 6 |
449
+ | Rakefile | 6 |
450
+ | lib/churn/git_analyzer.rb | 4 |
451
+ | VERSION | 4 |
452
+ | test/test_helper.rb | 4 |
453
+ | test/unit/churn_calculator_test.rb | 3 |
454
+ | test/churn_test.rb | 3 |
455
+ +------------------------------------+---------------+</tt></pre>
456
+ </div></div>
457
+ <div class="literalblock">
458
+ <div class="content">
459
+ <pre><tt>Classes:
460
+ +-------------------------------+-----------------+---------------+
461
+ | file | klass | times_changed |
462
+ +-------------------------------+-----------------+---------------+
463
+ | lib/churn/churn_calculator.rb | ChurnCalculator | 1 |
464
+ | lib/churn/churn_calculator.rb | ChurnCalculator | 1 |
465
+ +-------------------------------+-----------------+---------------+</tt></pre>
466
+ </div></div>
467
+ <div class="literalblock">
468
+ <div class="content">
469
+ <pre><tt>Methods:
470
+ +-------------------------------+-----------------+-----------------------------------------+---------------+
471
+ | file | klass | method | times_changed |
472
+ +-------------------------------+-----------------+-----------------------------------------+---------------+
473
+ | lib/churn/churn_calculator.rb | ChurnCalculator | ChurnCalculator#to_s | 1 |
474
+ | lib/churn/churn_calculator.rb | ChurnCalculator | ChurnCalculator#display_array | 1 |
475
+ | lib/churn/churn_calculator.rb | ChurnCalculator | ChurnCalculator#calculate_revision_data | 1 |
476
+ | lib/churn/churn_calculator.rb | ChurnCalculator | ChurnCalculator#filters | 1 |
477
+ | lib/churn/churn_calculator.rb | ChurnCalculator | ChurnCalculator#initialize | 1 |
478
+ | lib/churn/churn_calculator.rb | ChurnCalculator | ChurnCalculator#filters | 1 |
479
+ | lib/churn/churn_calculator.rb | ChurnCalculator | ChurnCalculator#to_s | 1 |
480
+ +-------------------------------+-----------------+-----------------------------------------+---------------+</tt></pre>
481
+ </div></div>
482
+ <div class="paragraph"><p>TODO:
483
+ * SVN only supports file, add full SVN support
484
+ * support bazaar, cvs, and darcs
485
+ * make storage directory configurable instead of using tmp
486
+ * allow passing in directories to churn, directories to ignore
487
+ * add a filter that allows for other files besides. *.rb
488
+ * ignore files pattern, so you can ignore things like vendor/, lib/, or docs/
489
+ * finish adding better documenation using YARD</p></div>
490
+ <div class="paragraph"><p>Executable Usage:
491
+ * <em>gem install churn</em>
492
+ * go to project root run <em>churn</em></p></div>
493
+ <div class="paragraph"><p>Rake Usage:
494
+ * <em>gem install churn</em>
495
+ * on any project you want to use churn, add "require <em>churn</em>" to your rake file
496
+ * run <em>rake churn</em> to view the current output, file churn history is immediate, class and method churn builds up a history as it is run on each revision
497
+ * temporary files with class / method churn history are stored in /tmp, to clear churn history delete them</p></div>
498
+ </div>
499
+ <h2 id="_note_on_patches_pull_requests">Note on Patches/Pull Requests</h2>
500
+ <div class="sectionbody">
501
+ <div class="ulist"><ul>
502
+ <li>
503
+ <p>
504
+ Fork the project.
505
+ </p>
506
+ </li>
507
+ <li>
508
+ <p>
509
+ Make your feature addition or bug fix.
510
+ </p>
511
+ </li>
512
+ <li>
513
+ <p>
514
+ Add tests for it. This is important so I don&#8217;t break it in a
515
+ future version unintentionally.
516
+ </p>
517
+ </li>
518
+ <li>
519
+ <p>
520
+ Commit, do not mess with rakefile, version, or history.
521
+ (if you want to have your own version, that is fine but
522
+ bump version in a commit by itself I can ignore when I pull)
523
+ </p>
524
+ </li>
525
+ <li>
526
+ <p>
527
+ Send me a pull request. Bonus points for topic branches.
528
+ </p>
529
+ </li>
530
+ </ul></div>
531
+ </div>
532
+ <h2 id="_copyright">Copyright</h2>
533
+ <div class="sectionbody">
534
+ <div class="paragraph"><p>Copyright (c) 2010 Dan Mayer. See LICENSE for details.</p></div>
535
+ </div>
536
+ <div id="footer">
537
+ <div id="footer-text">
538
+ Last updated 2010-01-20 10:38:32 EDT
539
+ </div>
540
+ </div>
541
+ </body>
542
+ </html>