git-health-check 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
data/README.md
CHANGED
@@ -1,24 +1,44 @@
|
|
1
1
|
# Git Health Check
|
2
2
|
|
3
|
-
|
3
|
+
This gem outputs a set of metrics for your Git repository which allows you to monitor its size over its lifetime.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
7
|
-
|
7
|
+
Install the gem:
|
8
8
|
|
9
|
-
gem
|
9
|
+
$ gem install git-health-check
|
10
10
|
|
11
|
-
|
11
|
+
## Usage
|
12
12
|
|
13
|
-
|
13
|
+
Currently, the gem is best utilised as a post-build step and possibly outside of your push-triggered CI job depending on the size of your repository. Execution should take a couple of seconds for most people but for very large repositories with many thousands of commits - e.g. 1GB+ - it could take 10-15 minutes.
|
14
14
|
|
15
|
-
|
15
|
+
To perform a default run (the history threshold is set at 0.5MB):
|
16
16
|
|
17
|
-
$
|
17
|
+
$ ghc
|
18
18
|
|
19
|
-
|
19
|
+
To specify a threshold value (in MB) on the history reporting:
|
20
|
+
|
21
|
+
$ ghc -t 2
|
22
|
+
|
23
|
+
A report is generated at `healthcheck/report.html`
|
24
|
+
|
25
|
+
To view a list of available commands:
|
26
|
+
|
27
|
+
$ ghc -h
|
28
|
+
|
29
|
+
Usage: ghc [option]
|
30
|
+
|
31
|
+
Output metrics for your Git repository.
|
32
|
+
|
33
|
+
Examples:
|
34
|
+
ghc
|
35
|
+
ghc -t 10
|
36
|
+
ghc -t 0.2
|
20
37
|
|
21
|
-
|
38
|
+
Options:
|
39
|
+
-v, --version Displays the gem version
|
40
|
+
-h, --help Displays this help message
|
41
|
+
-t, --threshold THRESHOLD Specify history size threshold in MB (default 0.5)
|
22
42
|
|
23
43
|
## Contributing
|
24
44
|
|
@@ -31,7 +51,10 @@ TODO: Write usage instructions here
|
|
31
51
|
# To Do:
|
32
52
|
|
33
53
|
1. add timings
|
34
|
-
2. add CLI arguments
|
35
|
-
3. improve logic
|
36
|
-
4. improve reporting
|
37
|
-
5. use Thor instead of OptionParser
|
54
|
+
2. add further CLI arguments (e.g. `-n` for number of results)
|
55
|
+
3. improve general logic - especially git_health_check_command.rb
|
56
|
+
4. improve reporting - something better than ERB
|
57
|
+
5. explore the use of Thor instead of OptionParser
|
58
|
+
6. output number of commits - `git shortlog | grep -E '^[ ]+\w+' | wc -l` *or* `git log --pretty=format:'' | wc -l`
|
59
|
+
7. output total number of commits across all branches - `git rev-list --all | wc -l`
|
60
|
+
8. output contributors - `git shortlog | grep -E '^[^ ]'` *or* `git shortlog -n -s`
|
@@ -20,7 +20,7 @@ module GitHealthCheck
|
|
20
20
|
working_copy_output = working_copy.fast_find_in_working_copy
|
21
21
|
history_output = history.search
|
22
22
|
|
23
|
-
working_copy_report = Table("object sha", "size (
|
23
|
+
working_copy_report = Table("object sha", "size (kB)", "compressed (kB)", "path")
|
24
24
|
history_report = Table("object sha", "size (MB)", "path", "commit details", "author")
|
25
25
|
|
26
26
|
working_copy_output.each { |sha, (size, csize, path)| working_copy_report << [sha, size, csize, path] }
|
@@ -35,7 +35,7 @@ EOB
|
|
35
35
|
|
36
36
|
@parser.on("-h", "--help", "Displays this help message") { @command_class = HelpCommand }
|
37
37
|
|
38
|
-
@parser.on("-t", "--threshold THRESHOLD", Float, "Specify history size threshold in
|
38
|
+
@parser.on("-t", "--threshold THRESHOLD", Float, "Specify history size threshold in MB (default 0.5)") do |n|
|
39
39
|
@threshold = n
|
40
40
|
end
|
41
41
|
end
|
@@ -61,13 +61,14 @@
|
|
61
61
|
<li><strong>Number of <a href="http://git-scm.com/book/en/Git-Internals-Git-Objects">objects</a> in
|
62
62
|
pack:</strong> <%= @packfile.pack_count[0] %></li>
|
63
63
|
|
64
|
-
<li><strong>Total packfile size: </strong
|
65
|
-
<%
|
66
|
-
|
67
|
-
|
68
|
-
|
64
|
+
<li><strong>Total packfile size: </strong>
|
65
|
+
<% size = @packfile.size_of_pack[0].to_f %>
|
66
|
+
<% if size >= 1048576 %>
|
67
|
+
<%= size / 1048576 %> GB
|
68
|
+
<% elsif size >= 1024 %>
|
69
|
+
<%= size / 1024 %> MB
|
69
70
|
<% else %>
|
70
|
-
<%=
|
71
|
+
<%= size %> kB
|
71
72
|
<% end %>
|
72
73
|
</li>
|
73
74
|
</ul>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: git-health-check
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-01-
|
12
|
+
date: 2013-01-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ruport
|
@@ -71,7 +71,6 @@ files:
|
|
71
71
|
- lib/git-health-check/report/report.erb
|
72
72
|
- lib/git-health-check/version.rb
|
73
73
|
- lib/git-health-check/working_copy.rb
|
74
|
-
- test_client.rb
|
75
74
|
homepage: http://wwww.bensnape.com
|
76
75
|
licenses: []
|
77
76
|
post_install_message:
|