gitrepo-status 0.2.0
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.
- checksums.yaml +7 -0
- data/.gitignore +14 -0
- data/.rspec +3 -0
- data/.travis.yml +5 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +37 -0
- data/README.md +47 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/changelog.md +20 -0
- data/exe/gitrepo-status +213 -0
- data/gitrepo-status.gemspec +38 -0
- data/lib/gitrepo/status/version.rb +5 -0
- data/lib/gitrepo/status.rb +150 -0
- data/script/shell/installer +11 -0
- data/vagrant/Vagrantfile +16 -0
- metadata +117 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b979a4d611c8f5099bf6380f8e883a6b138df0e6
|
4
|
+
data.tar.gz: c259ac14668a39758ca09501d072693ee7fc8ae0
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e886cdc94a97da335e871ec7fa9efffbed9d8068aa90487a7bb13675a675de85e0dbe705d4cdd8112e0ad5ff0947f61e5b8c446a5e2f23ce7225c9c9b0ae05e4
|
7
|
+
data.tar.gz: 99ea3a3198a89ce4f80a312f66a13dc103a6d8afe472b120cd93ba7b71d8366c30ccccecafddca4a5a8bf4ca220b5b69a764edeb80eacbbcda9d870b1f78331a
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
gitrepo-status (0.2.0)
|
5
|
+
awesome_print
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
awesome_print (1.8.0)
|
11
|
+
diff-lcs (1.3)
|
12
|
+
rake (12.3.1)
|
13
|
+
rspec (3.7.0)
|
14
|
+
rspec-core (~> 3.7.0)
|
15
|
+
rspec-expectations (~> 3.7.0)
|
16
|
+
rspec-mocks (~> 3.7.0)
|
17
|
+
rspec-core (3.7.1)
|
18
|
+
rspec-support (~> 3.7.0)
|
19
|
+
rspec-expectations (3.7.0)
|
20
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
21
|
+
rspec-support (~> 3.7.0)
|
22
|
+
rspec-mocks (3.7.0)
|
23
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
24
|
+
rspec-support (~> 3.7.0)
|
25
|
+
rspec-support (3.7.1)
|
26
|
+
|
27
|
+
PLATFORMS
|
28
|
+
ruby
|
29
|
+
|
30
|
+
DEPENDENCIES
|
31
|
+
bundler (~> 1.16)
|
32
|
+
gitrepo-status!
|
33
|
+
rake (~> 12.0)
|
34
|
+
rspec (~> 3.7)
|
35
|
+
|
36
|
+
BUNDLED WITH
|
37
|
+
1.16.1
|
data/README.md
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
# Gitrepo::Status
|
2
|
+
|
3
|
+
## Idea
|
4
|
+
|
5
|
+
- Check current status/commit of a repo
|
6
|
+
- compare with remotes and extra urls
|
7
|
+
- get source url from metadata.json for puppet modules
|
8
|
+
- get puppetforge version for puppet modules
|
9
|
+
|
10
|
+
|
11
|
+
## Installation
|
12
|
+
|
13
|
+
Add this line to your application's Gemfile:
|
14
|
+
|
15
|
+
```ruby
|
16
|
+
gem 'gitrepo-status'
|
17
|
+
```
|
18
|
+
|
19
|
+
And then execute:
|
20
|
+
|
21
|
+
$ bundle
|
22
|
+
|
23
|
+
Or install it yourself as:
|
24
|
+
|
25
|
+
$ gem install gitrepo-status
|
26
|
+
|
27
|
+
## Usage
|
28
|
+
|
29
|
+
TODO: Write usage instructions here
|
30
|
+
|
31
|
+
## Development
|
32
|
+
|
33
|
+
A 'vagrant/Vagrantfile' is provided to ease development on Debian Stretch.
|
34
|
+
|
35
|
+
The vagrant setup installs the required package ruby-rugged.
|
36
|
+
This is because installing/building the rugged gem is a pain in ...
|
37
|
+
|
38
|
+
The current repo will be available in '/build' in the VM.
|
39
|
+
|
40
|
+
|
41
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
42
|
+
|
43
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
44
|
+
|
45
|
+
## Contributing
|
46
|
+
|
47
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/gitrepo-status.
|
data/Rakefile
ADDED
data/bin/console
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'bundler/setup'
|
4
|
+
require 'gitrepo/status'
|
5
|
+
|
6
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
+
# with your gem easier. You can also use a different console, if you like.
|
8
|
+
|
9
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
+
# require "pry"
|
11
|
+
# Pry.start
|
12
|
+
|
13
|
+
require 'irb'
|
14
|
+
IRB.start(__FILE__)
|
data/bin/setup
ADDED
data/changelog.md
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
# Changelog
|
2
|
+
All notable changes to this project will be documented in this file.
|
3
|
+
|
4
|
+
Version format based on http://semver.org/
|
5
|
+
|
6
|
+
## [Unreleased]
|
7
|
+
|
8
|
+
## [0.1.0] - 2018-03-27
|
9
|
+
### Added
|
10
|
+
- gitrepo-status cli script
|
11
|
+
|
12
|
+
## [0.0.0] - 2018-03-27
|
13
|
+
### Added
|
14
|
+
- ...
|
15
|
+
|
16
|
+
### Changed
|
17
|
+
- ...
|
18
|
+
|
19
|
+
### Removed
|
20
|
+
- ...
|
data/exe/gitrepo-status
ADDED
@@ -0,0 +1,213 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'getoptlong'
|
3
|
+
require 'gitrepo/status'
|
4
|
+
require 'awesome_print'
|
5
|
+
require 'yaml'
|
6
|
+
require 'json'
|
7
|
+
|
8
|
+
class Hash
|
9
|
+
def to_html
|
10
|
+
[
|
11
|
+
'<ul>',
|
12
|
+
map { |k, v| ["<li><strong>#{k}:</strong> ", v.respond_to?(:to_html) ? v.to_html : "<span>#{v}</span></li>"] },
|
13
|
+
'</ul>'
|
14
|
+
].join
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def clidoc
|
19
|
+
puts <<-CLIDOC
|
20
|
+
|
21
|
+
#{$PROGRAM_NAME} [OPTION]
|
22
|
+
|
23
|
+
-h, --help:
|
24
|
+
show help
|
25
|
+
|
26
|
+
-d, --debug [level]:
|
27
|
+
Debug level.
|
28
|
+
|
29
|
+
-p, --path [location of repo to check]
|
30
|
+
Path to a location of the repo to check.
|
31
|
+
Default '.' (Current directory)
|
32
|
+
If this ends in '/' the script will loop over
|
33
|
+
all subdirectories. These should all be git repos.
|
34
|
+
|
35
|
+
-o, --output [txt|raw|html|yaml|json|...].
|
36
|
+
Multiple types specified by comma separated string.
|
37
|
+
eg : -o txt,html
|
38
|
+
Default 'txt'
|
39
|
+
|
40
|
+
-a, --ahead_behind
|
41
|
+
Show how many commits current commit is ahead or behind remote.
|
42
|
+
|
43
|
+
--puppet
|
44
|
+
Report puppet module info from metadata.json
|
45
|
+
|
46
|
+
-t, --tests
|
47
|
+
Run some test code...
|
48
|
+
|
49
|
+
CLIDOC
|
50
|
+
end
|
51
|
+
|
52
|
+
opts = GetoptLong.new(
|
53
|
+
['--help', '-h', GetoptLong::NO_ARGUMENT],
|
54
|
+
['--debug', '-d', GetoptLong::OPTIONAL_ARGUMENT],
|
55
|
+
['--path', '-p', GetoptLong::REQUIRED_ARGUMENT],
|
56
|
+
['--output', '-o', GetoptLong::REQUIRED_ARGUMENT],
|
57
|
+
['--ahead_behind', '-a', GetoptLong::NO_ARGUMENT],
|
58
|
+
['--puppet', GetoptLong::NO_ARGUMENT],
|
59
|
+
['--test', '-t', GetoptLong::NO_ARGUMENT]
|
60
|
+
)
|
61
|
+
|
62
|
+
debug = 0
|
63
|
+
path = '.'
|
64
|
+
output = ['txt']
|
65
|
+
ahead_behind = false
|
66
|
+
puppet = false
|
67
|
+
test = false
|
68
|
+
|
69
|
+
opts.each do |opt, arg|
|
70
|
+
case opt
|
71
|
+
when '--help'
|
72
|
+
clidoc
|
73
|
+
exit
|
74
|
+
when '--debug'
|
75
|
+
debug = if arg == ''
|
76
|
+
1
|
77
|
+
else
|
78
|
+
arg.to_i
|
79
|
+
end
|
80
|
+
when '--path'
|
81
|
+
path = arg
|
82
|
+
when '--output'
|
83
|
+
output = arg.split(',')
|
84
|
+
when '--ahead_behind'
|
85
|
+
ahead_behind = true
|
86
|
+
when '--puppet'
|
87
|
+
puppet = true
|
88
|
+
when '--test'
|
89
|
+
test = true
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
OR = output.include?('raw')
|
94
|
+
OT = output.include?('txt')
|
95
|
+
OH = output.include?('html')
|
96
|
+
OY = output.include?('yaml')
|
97
|
+
OJ = output.include?('json')
|
98
|
+
|
99
|
+
paths = if path.end_with? '/'
|
100
|
+
Dir.glob("#{path}*/")
|
101
|
+
else
|
102
|
+
[path]
|
103
|
+
end
|
104
|
+
|
105
|
+
result = {}
|
106
|
+
|
107
|
+
def o_t_p(obj, ap_p = false)
|
108
|
+
return unless OT
|
109
|
+
if ap_p
|
110
|
+
ap obj
|
111
|
+
else
|
112
|
+
puts obj
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
def o_t_r(obj)
|
117
|
+
return unless OR
|
118
|
+
ap obj
|
119
|
+
end
|
120
|
+
|
121
|
+
def o_t_h(obj)
|
122
|
+
return unless OH
|
123
|
+
html_str = %(
|
124
|
+
<!DOCTYPE html>
|
125
|
+
<html>
|
126
|
+
<head>
|
127
|
+
<meta charset="UTF-8">
|
128
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
129
|
+
<title>Puppet Module version report</title>
|
130
|
+
<meta name="author" content="gitrepo-status">
|
131
|
+
<meta name="description" content="Puppet Module Git repo status">
|
132
|
+
<link rel="stylesheet" href="stylesheet.css" type="text/css">
|
133
|
+
<style type="text/css">
|
134
|
+
|
135
|
+
</style>
|
136
|
+
</head>
|
137
|
+
<body>
|
138
|
+
|
139
|
+
#{obj.to_html}
|
140
|
+
|
141
|
+
</body>
|
142
|
+
</html>
|
143
|
+
)
|
144
|
+
puts html_str
|
145
|
+
end
|
146
|
+
|
147
|
+
def o_t_y(obj)
|
148
|
+
return unless OY
|
149
|
+
puts obj.to_yaml
|
150
|
+
end
|
151
|
+
|
152
|
+
def o_t_j(obj)
|
153
|
+
return unless OJ
|
154
|
+
puts obj.to_json
|
155
|
+
end
|
156
|
+
|
157
|
+
paths.each do |path|
|
158
|
+
o_t_p "Path : #{path}"
|
159
|
+
r = {}
|
160
|
+
|
161
|
+
gitrepo = Gitrepo::Status.new(path: path)
|
162
|
+
|
163
|
+
gitrepo.fetch_all
|
164
|
+
|
165
|
+
gitrepo.test if test
|
166
|
+
|
167
|
+
r = {}
|
168
|
+
|
169
|
+
if ahead_behind
|
170
|
+
a_b = gitrepo.ahead_behind
|
171
|
+
unless a_b.nil?
|
172
|
+
a_b.each do |name, data|
|
173
|
+
r[name] ||= {}
|
174
|
+
o_t_p "-- Branch : #{name}"
|
175
|
+
if (data[0]).zero? && (data[1]).zero?
|
176
|
+
o_t_p ' Branch up to date.'
|
177
|
+
else
|
178
|
+
o_t_p " ahead : #{data[0]} commits"
|
179
|
+
o_t_p " behind : #{data[1]} commits"
|
180
|
+
end
|
181
|
+
r[name]['ahead - behind'] = data
|
182
|
+
end
|
183
|
+
end
|
184
|
+
end
|
185
|
+
|
186
|
+
if puppet && gitrepo.puppet_module?
|
187
|
+
diff = gitrepo.puppet_module_info
|
188
|
+
keys = %w[version dependencies requirements]
|
189
|
+
unless diff.empty?
|
190
|
+
diff.each do |name, data|
|
191
|
+
r[name] ||= {}
|
192
|
+
r[name]['puppet'] ||= {}
|
193
|
+
o_t_p "--- metadata difference with branch : #{name} (keys #{keys})"
|
194
|
+
data.select { |key, _| keys.include?(key) }.each do |k, v|
|
195
|
+
o_t_p " Key : #{k}"
|
196
|
+
o_t_p ' Old : '
|
197
|
+
o_t_p v[0], true
|
198
|
+
o_t_p ' New : '
|
199
|
+
o_t_p v[1], true
|
200
|
+
r[name]['puppet'][k] = { 'Old' => v[0], 'New' => v[1] }
|
201
|
+
end
|
202
|
+
end
|
203
|
+
end
|
204
|
+
end
|
205
|
+
result[path] = r
|
206
|
+
end
|
207
|
+
|
208
|
+
o_t_r result
|
209
|
+
o_t_h result
|
210
|
+
o_t_y result
|
211
|
+
o_t_j result
|
212
|
+
|
213
|
+
# vim:set fileencoding=utf8 fileformat=undefined filetype=ruby tabstop=2 expandtab:
|
@@ -0,0 +1,38 @@
|
|
1
|
+
lib = File.expand_path('lib', __dir__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
require 'gitrepo/status/version'
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = 'gitrepo-status'
|
7
|
+
spec.version = Gitrepo::Status::VERSION
|
8
|
+
spec.authors = ['Stefan - Zipkid - Goethals']
|
9
|
+
spec.email = ['stefan@zipkid.eu']
|
10
|
+
|
11
|
+
spec.summary = 'Gitrepo status checker'
|
12
|
+
spec.description = 'Check status of a gitrepo compared to upstream and other source urls'
|
13
|
+
spec.homepage = 'https://github.com/vrtdev/gitrepo-status'
|
14
|
+
|
15
|
+
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
16
|
+
# to allow pushing to a single host or delete this section to allow pushing to any host.
|
17
|
+
if spec.respond_to?(:metadata)
|
18
|
+
spec.metadata['allowed_push_host'] = 'https://rubygems.org'
|
19
|
+
else
|
20
|
+
raise 'RubyGems 2.0 or newer is required to protect against ' \
|
21
|
+
'public gem pushes.'
|
22
|
+
end
|
23
|
+
|
24
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
25
|
+
f.match(%r{^(test|spec|features)/})
|
26
|
+
end
|
27
|
+
spec.bindir = 'exe'
|
28
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
29
|
+
spec.require_paths = ['lib']
|
30
|
+
|
31
|
+
spec.add_development_dependency 'bundler', '~> 1.16'
|
32
|
+
spec.add_development_dependency 'rake', '~> 12.0'
|
33
|
+
spec.add_development_dependency 'rspec', '~> 3.7'
|
34
|
+
|
35
|
+
# Building rugged is a pain, install system package 'ruby-rugged' instead.
|
36
|
+
# spec.add_runtime_dependency 'rugged'
|
37
|
+
spec.add_runtime_dependency 'awesome_print'
|
38
|
+
end
|
@@ -0,0 +1,150 @@
|
|
1
|
+
require 'gitrepo/status/version'
|
2
|
+
require 'rugged'
|
3
|
+
require 'json'
|
4
|
+
|
5
|
+
# Class Gitrepo
|
6
|
+
class Gitrepo
|
7
|
+
# Class Gitrepo::Status
|
8
|
+
class Status
|
9
|
+
def initialize(opt = {})
|
10
|
+
@path = opt.fetch(:path)
|
11
|
+
@report_branches = opt[:report_branches] || %w[master]
|
12
|
+
repo
|
13
|
+
end
|
14
|
+
|
15
|
+
def repo
|
16
|
+
return @repo if @repo
|
17
|
+
@repo = Rugged::Repository.discover(@path)
|
18
|
+
@basepath = repo.path.chomp('/.git/')
|
19
|
+
@repo
|
20
|
+
end
|
21
|
+
|
22
|
+
def fetch_all
|
23
|
+
# libgit2 and https... a dificult story... :-(
|
24
|
+
# remotes.each do |remote|
|
25
|
+
# repo.fetch remote.name
|
26
|
+
# end
|
27
|
+
cmd1 = 'git branch -r | grep -v "\->" | while read remote; do git branch --track "${remote#origin/}" "$remote" > /dev/null 2>&1; done'
|
28
|
+
cmd2 = 'git fetch --all > /dev/null 2>&1'
|
29
|
+
Dir.chdir(@path) do
|
30
|
+
`#{cmd1}`
|
31
|
+
`#{cmd2}`
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def puppet_module?
|
36
|
+
!repo.index.get('metadata.json').nil?
|
37
|
+
end
|
38
|
+
|
39
|
+
def branchnames
|
40
|
+
branches_txt = ''
|
41
|
+
Dir.chdir(@path) do
|
42
|
+
branches_txt = `git branch --contains HEAD | grep -v 'detached at'`
|
43
|
+
end
|
44
|
+
branches = branches_txt.split("\n").map(&:strip)
|
45
|
+
branches.insert(0, branches.delete('master')) if branches.include?('master')
|
46
|
+
select_branches(branches)
|
47
|
+
end
|
48
|
+
|
49
|
+
def select_branches(branches)
|
50
|
+
return branches if @report_branches.empty?
|
51
|
+
b = branches.select { |e| @report_branches.include?(e) }
|
52
|
+
return b unless b.empty?
|
53
|
+
branches
|
54
|
+
end
|
55
|
+
|
56
|
+
def ahead_behind
|
57
|
+
branches = {}
|
58
|
+
branchnames.each do |branch|
|
59
|
+
branches[branch] = repo.ahead_behind(repo.head.target_id, "origin/#{branch}")
|
60
|
+
end
|
61
|
+
branches
|
62
|
+
end
|
63
|
+
|
64
|
+
def puppet_module_info
|
65
|
+
blob = repo.blob_at(repo.head.target_id, 'metadata.json')
|
66
|
+
current_metadata = JSON.parse(blob.content)
|
67
|
+
diff = {}
|
68
|
+
branchnames.each do |branch|
|
69
|
+
blob = repo.blob_at(repo.branches[branch].target_id, 'metadata.json')
|
70
|
+
branch_metadata = JSON.parse(blob.content)
|
71
|
+
branch_diff = deep_diff(current_metadata, branch_metadata)
|
72
|
+
diff[branch] = branch_diff unless branch_diff.empty?
|
73
|
+
end
|
74
|
+
diff
|
75
|
+
end
|
76
|
+
|
77
|
+
def test
|
78
|
+
require 'awesome_print'
|
79
|
+
# puts '--- repo.methods ---'
|
80
|
+
# ap repo.methods
|
81
|
+
puts '--- repo.path ---'
|
82
|
+
ap repo.path
|
83
|
+
|
84
|
+
ap repo.index.get('metadata.json')
|
85
|
+
|
86
|
+
puts '--- repo.last_commit ---'
|
87
|
+
ap repo.last_commit.tree_id
|
88
|
+
|
89
|
+
puts "Is Puppet Module? (has '/metadata.json'?) : #{puppet_module?}"
|
90
|
+
head = repo.head
|
91
|
+
puts '--- repo.head ---'
|
92
|
+
ap head
|
93
|
+
|
94
|
+
# sha1 hash of the newest commit
|
95
|
+
head_sha = head.target_id
|
96
|
+
puts '--- repo.head.target_id ---'
|
97
|
+
ap head_sha
|
98
|
+
|
99
|
+
ap repo.ahead_behind(head_sha, 'origin/master')
|
100
|
+
|
101
|
+
puts '--- repo remotes ---'
|
102
|
+
repo.remotes.each do |remote|
|
103
|
+
# ap remote.methods
|
104
|
+
ap remote.url
|
105
|
+
end
|
106
|
+
|
107
|
+
puts '--- repo branch ---'
|
108
|
+
repo.branches.each do |branch|
|
109
|
+
# ap branch.methods
|
110
|
+
ap branch.name
|
111
|
+
ap branch.head?
|
112
|
+
ap branch.upstream
|
113
|
+
end
|
114
|
+
|
115
|
+
# # the commit message associated the newest commit
|
116
|
+
# commit = repo.lookup(head_sha)
|
117
|
+
# puts '--- repo.lookup(repo.head.target_id) ---'
|
118
|
+
# pp commit
|
119
|
+
#
|
120
|
+
# puts '--- repo object methods ---'
|
121
|
+
# ap repo.methods
|
122
|
+
#
|
123
|
+
puts '--- repo remotes ---'
|
124
|
+
repo.remotes.each do |remote|
|
125
|
+
# ap remote.methods
|
126
|
+
ap remote.name
|
127
|
+
ap remote.url
|
128
|
+
end
|
129
|
+
#
|
130
|
+
# puts '--- repo branch ---'
|
131
|
+
# repo.branches.each do |branch|
|
132
|
+
# ap branch.methods
|
133
|
+
# ap branch.name
|
134
|
+
# end
|
135
|
+
end
|
136
|
+
|
137
|
+
def deep_diff(a, b)
|
138
|
+
(a.keys | b.keys).each_with_object({}) do |k, diff|
|
139
|
+
if a[k] != b[k]
|
140
|
+
diff[k] = if a[k].is_a?(Hash) && b[k].is_a?(Hash)
|
141
|
+
deep_diff(a[k], b[k])
|
142
|
+
else
|
143
|
+
diff[k] = [a[k], b[k]]
|
144
|
+
end
|
145
|
+
end
|
146
|
+
diff
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
data/vagrant/Vagrantfile
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
# -*- mode: ruby -*-
|
2
|
+
# vi: set ft=ruby :
|
3
|
+
|
4
|
+
# All Vagrant configuration is done below. The "2" in Vagrant.configure
|
5
|
+
# configures the configuration version (we support older styles for
|
6
|
+
# backwards compatibility). Please don't change it unless you know what
|
7
|
+
# you're doing.
|
8
|
+
Vagrant.configure('2') do |config|
|
9
|
+
config.vbguest.auto_update = false
|
10
|
+
config.vm.synced_folder '../', '/build'
|
11
|
+
|
12
|
+
config.vm.define :stretch do |stretch|
|
13
|
+
stretch.vm.box = 'generic/debian9'
|
14
|
+
stretch.vm.provision :shell, name: 'install tools', path: '../script/shell/installer'
|
15
|
+
end
|
16
|
+
end
|
metadata
ADDED
@@ -0,0 +1,117 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: gitrepo-status
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Stefan - Zipkid - Goethals
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2018-08-24 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.16'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.16'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '12.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '12.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.7'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.7'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: awesome_print
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
description: Check status of a gitrepo compared to upstream and other source urls
|
70
|
+
email:
|
71
|
+
- stefan@zipkid.eu
|
72
|
+
executables:
|
73
|
+
- gitrepo-status
|
74
|
+
extensions: []
|
75
|
+
extra_rdoc_files: []
|
76
|
+
files:
|
77
|
+
- ".gitignore"
|
78
|
+
- ".rspec"
|
79
|
+
- ".travis.yml"
|
80
|
+
- Gemfile
|
81
|
+
- Gemfile.lock
|
82
|
+
- README.md
|
83
|
+
- Rakefile
|
84
|
+
- bin/console
|
85
|
+
- bin/setup
|
86
|
+
- changelog.md
|
87
|
+
- exe/gitrepo-status
|
88
|
+
- gitrepo-status.gemspec
|
89
|
+
- lib/gitrepo/status.rb
|
90
|
+
- lib/gitrepo/status/version.rb
|
91
|
+
- script/shell/installer
|
92
|
+
- vagrant/Vagrantfile
|
93
|
+
homepage: https://github.com/vrtdev/gitrepo-status
|
94
|
+
licenses: []
|
95
|
+
metadata:
|
96
|
+
allowed_push_host: https://rubygems.org
|
97
|
+
post_install_message:
|
98
|
+
rdoc_options: []
|
99
|
+
require_paths:
|
100
|
+
- lib
|
101
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - ">="
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '0'
|
106
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
requirements: []
|
112
|
+
rubyforge_project:
|
113
|
+
rubygems_version: 2.5.2.1
|
114
|
+
signing_key:
|
115
|
+
specification_version: 4
|
116
|
+
summary: Gitrepo status checker
|
117
|
+
test_files: []
|