jgit 1.1
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/bin/console +14 -0
- data/bin/jgit +5 -0
- data/bin/setup +7 -0
- data/lib/jgit.rb +218 -0
- data/lib/jgit/common.rb +53 -0
- data/lib/jgit/desc.rb +13 -0
- data/lib/jgit/group.rb +96 -0
- data/lib/jgit/jutil.rb +33 -0
- data/lib/jgit/version.rb +3 -0
- data/test/group_test.rb +59 -0
- data/test/task_test.rb +40 -0
- metadata +115 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 41efe60696295077934ab249e3496db6eb20ac28
|
4
|
+
data.tar.gz: aff667c4c33f6576b8c03dd257ef4fc584965af2
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 44416444d9f20fe31a685a08b9d4b802bbf772d18fe626feb117229e3153acb762d9e64f0317c4f479c6d46789330d4b81a7b8af5cb23b36555466c6421d0add
|
7
|
+
data.tar.gz: ede60888fd10f1f2284f4712e8dd6d395a6f25d06caef52409da8eebc58de0001d0658c344289a21e911e4c35579b38fe0a429f704238146ef6db6e520cf531f
|
data/bin/console
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "bundler/setup"
|
4
|
+
require "jgit"
|
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
|
data/bin/jgit
ADDED
data/bin/setup
ADDED
data/lib/jgit.rb
ADDED
@@ -0,0 +1,218 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'jgit/common'
|
4
|
+
require 'jgit/group'
|
5
|
+
require 'jgit/desc'
|
6
|
+
require 'jgit/version'
|
7
|
+
require 'thor'
|
8
|
+
|
9
|
+
module Jgit
|
10
|
+
|
11
|
+
class Project < Thor
|
12
|
+
|
13
|
+
PROMPT_TASK = "key in project name:"
|
14
|
+
|
15
|
+
desc 'add <path> <name> [-g GROUP]', 'add new project'
|
16
|
+
method_option :group, :aliases => '-g', :desc => "group to operate"
|
17
|
+
|
18
|
+
def add(path = nil, name = nil)
|
19
|
+
|
20
|
+
group = get_group
|
21
|
+
path = prompt("key in project path:(empty for current dir)", Dir.pwd) if path.nil?
|
22
|
+
path = File.expand_path(path)
|
23
|
+
jexit "no such dir" unless File.directory?(path)
|
24
|
+
|
25
|
+
name = prompt("key in project name:(empty for current dir)", File.basename(Dir.getwd)) if name.nil?
|
26
|
+
data = list(false, group)
|
27
|
+
data[name] = path
|
28
|
+
|
29
|
+
save_data(project_path(group), data.to_json)
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
desc 'list [-g GROUP]', 'list all projects, alias: ls'
|
34
|
+
method_option :group, :aliases => '-g', :desc => "group to operate"
|
35
|
+
map ls: :list
|
36
|
+
|
37
|
+
def list(show = true, group = nil)
|
38
|
+
|
39
|
+
group = get_group(group)
|
40
|
+
data = load_obj(project_path(group), Hash)
|
41
|
+
if show
|
42
|
+
data.each do |key, val|
|
43
|
+
puts "#{key}: #{val}"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
data
|
47
|
+
|
48
|
+
end
|
49
|
+
|
50
|
+
desc 'remove <name> [-g GROUP]', 'remove project, alias: rm'
|
51
|
+
method_option :group, :aliases => '-g', :desc => "group to operate"
|
52
|
+
map rm: :remove
|
53
|
+
|
54
|
+
def remove(name = nil)
|
55
|
+
|
56
|
+
group = get_group
|
57
|
+
if name.nil?
|
58
|
+
data = list(true, group)
|
59
|
+
name = prompt(PROMPT_TASK)
|
60
|
+
else
|
61
|
+
data = list(false, group)
|
62
|
+
end
|
63
|
+
|
64
|
+
if data.delete(name).nil?
|
65
|
+
jexit "no such project"
|
66
|
+
else
|
67
|
+
save_data(project_path(group), data.to_json)
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
71
|
+
|
72
|
+
desc 'rename <name> <new_name> [-g GROUP]', 'rename project, alias: rn'
|
73
|
+
method_option :group, :aliases => '-g', :desc => "group to operate"
|
74
|
+
map rn: :rename
|
75
|
+
|
76
|
+
def rename(name = nil, new_name = nil)
|
77
|
+
|
78
|
+
group = get_group
|
79
|
+
if name.nil?
|
80
|
+
data = list(true, group)
|
81
|
+
name = prompt(PROMPT_TASK)
|
82
|
+
else
|
83
|
+
data = list(false, group)
|
84
|
+
end
|
85
|
+
|
86
|
+
new_name = prompt("key in new project name:", File.basename(Dir.getwd)) if new_name.nil?
|
87
|
+
jexit "new_name exist" if data.include?(new_name)
|
88
|
+
|
89
|
+
result = data.delete(name)
|
90
|
+
|
91
|
+
if result.nil?
|
92
|
+
jexit "no such project"
|
93
|
+
else
|
94
|
+
data[new_name] = result
|
95
|
+
save_data(project_path(group), data.to_json)
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
desc 'commit [-g GROUP] [-p PROJECT]', 'git commit all file on given project'
|
100
|
+
method_option :group, :aliases => '-g', :desc => "group to operate"
|
101
|
+
method_option :project, :aliases => '-p', :desc => "project to operate"
|
102
|
+
|
103
|
+
def commit
|
104
|
+
exe "git add -A && git commit"
|
105
|
+
end
|
106
|
+
|
107
|
+
desc 'status [-g GROUP] [-p PROJECT]', 'git status on given project, alias: st'
|
108
|
+
method_option :group, :aliases => '-g', :desc => "group to operate"
|
109
|
+
method_option :project, :aliases => '-p', :desc => "project to operate"
|
110
|
+
|
111
|
+
def status
|
112
|
+
exe "git status"
|
113
|
+
end
|
114
|
+
|
115
|
+
desc 'fetch [-g GROUP] [-p PROJECT]', 'git fetch on given project'
|
116
|
+
method_option :group, :aliases => '-g', :desc => "group to operate"
|
117
|
+
method_option :project, :aliases => '-p', :desc => "project to operate"
|
118
|
+
|
119
|
+
def fetch
|
120
|
+
exe "git fetch"
|
121
|
+
end
|
122
|
+
|
123
|
+
desc 'pull [-g GROUP] [-p PROJECT]', 'git pull on given project'
|
124
|
+
method_option :group, :aliases => '-g', :desc => "group to operate"
|
125
|
+
method_option :project, :aliases => '-p', :desc => "project to operate"
|
126
|
+
|
127
|
+
def pull
|
128
|
+
exe "git pull"
|
129
|
+
end
|
130
|
+
|
131
|
+
desc 'diff [-g GROUP] [-p PROJECT]', 'git diff on given project'
|
132
|
+
method_option :group, :aliases => '-g', :desc => "group to operate"
|
133
|
+
method_option :project, :aliases => '-p', :desc => "project to operate"
|
134
|
+
|
135
|
+
def diff
|
136
|
+
exe "git diff ."
|
137
|
+
end
|
138
|
+
|
139
|
+
desc 'push [-g GROUP] [-p PROJECT]', 'git push on given project'
|
140
|
+
method_option :group, :aliases => '-g', :desc => "group to operate"
|
141
|
+
method_option :project, :aliases => '-p', :desc => "project to operate"
|
142
|
+
|
143
|
+
def push
|
144
|
+
exe "git push"
|
145
|
+
end
|
146
|
+
|
147
|
+
desc 'exe <command...> [-g GROUP] [-p PROJECT]', 'exec command on given project'
|
148
|
+
method_option :group, :aliases => '-g', :desc => "group to operate"
|
149
|
+
method_option :project, :aliases => '-p', :desc => "project to operate"
|
150
|
+
|
151
|
+
long_desc EXE_DESC
|
152
|
+
|
153
|
+
def exe(command)
|
154
|
+
|
155
|
+
list = list(false, get_group)
|
156
|
+
|
157
|
+
jexit "no project, use 'jgit add' to add project first" if list.empty?
|
158
|
+
|
159
|
+
list.each do |name, path|
|
160
|
+
if !options[:project].nil? && options[:project] != name
|
161
|
+
next
|
162
|
+
end
|
163
|
+
puts ""
|
164
|
+
puts " - Task:#{bold(name)}"
|
165
|
+
Dir.chdir(path)
|
166
|
+
system command
|
167
|
+
end
|
168
|
+
end
|
169
|
+
|
170
|
+
desc 'chgrp <name>', 'change default group'
|
171
|
+
map cg: :chgrp
|
172
|
+
|
173
|
+
def chgrp(name = nil)
|
174
|
+
|
175
|
+
group = Group.new
|
176
|
+
name = group.select_group(name)
|
177
|
+
data = group.list(false)
|
178
|
+
|
179
|
+
name = "" if name == "default"
|
180
|
+
|
181
|
+
if name.empty? || data.include?(name)
|
182
|
+
puts "switch to #{name} group"
|
183
|
+
save_data(CURRENT_GROUP, name)
|
184
|
+
else
|
185
|
+
jexit "no such group"
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
189
|
+
desc 'version', 'version of jgit, alias: -v'
|
190
|
+
map "-v" => :version
|
191
|
+
map "--version" => :version
|
192
|
+
|
193
|
+
def version
|
194
|
+
puts "jgit #{Jgit::VERSION} -- jgit is a git management tool in Ruby"
|
195
|
+
puts "visit https://github.com/Jintin/jgit for more information"
|
196
|
+
end
|
197
|
+
|
198
|
+
desc "group [COMMAND]", "group management"
|
199
|
+
subcommand "group", Group
|
200
|
+
|
201
|
+
no_commands do
|
202
|
+
def get_group(group = nil)
|
203
|
+
group = options[:group] if group.nil?
|
204
|
+
group = "" if group == "default"
|
205
|
+
group = get_current_group if group.nil?
|
206
|
+
|
207
|
+
group
|
208
|
+
end
|
209
|
+
|
210
|
+
end
|
211
|
+
|
212
|
+
end
|
213
|
+
end
|
214
|
+
|
215
|
+
if __FILE__ == $0
|
216
|
+
Jgit::Project.start(ARGV)
|
217
|
+
end
|
218
|
+
|
data/lib/jgit/common.rb
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'jgit/jutil'
|
4
|
+
require 'json'
|
5
|
+
|
6
|
+
FOLDER_PATH = "#{Dir.home}/.jgit"
|
7
|
+
GROUP_DATA = "#{FOLDER_PATH}/group.json"
|
8
|
+
CURRENT_GROUP = "#{FOLDER_PATH}/current.json"
|
9
|
+
|
10
|
+
def project_path(current = nil)
|
11
|
+
current = load_data(CURRENT_GROUP) if current.nil?
|
12
|
+
"#{FOLDER_PATH}/record_#{current}.json"
|
13
|
+
end
|
14
|
+
|
15
|
+
def get_current_group
|
16
|
+
if File.exists?(CURRENT_GROUP)
|
17
|
+
File.read(CURRENT_GROUP)
|
18
|
+
else
|
19
|
+
""
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def delete_file(file)
|
24
|
+
if File.exist?(file)
|
25
|
+
File.delete(file)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def save_data(path, data)
|
30
|
+
unless File.exist?(FOLDER_PATH)
|
31
|
+
FileUtils.mkdir_p(FOLDER_PATH)
|
32
|
+
end
|
33
|
+
File.open(path, 'w+') do |f|
|
34
|
+
f.write(data)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def load_data(path)
|
39
|
+
if File.exists?(path)
|
40
|
+
File.read(path)
|
41
|
+
else
|
42
|
+
""
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def load_obj(path, cls)
|
47
|
+
if File.exists?(path)
|
48
|
+
file = File.read(path)
|
49
|
+
JSON.parse(file)
|
50
|
+
else
|
51
|
+
cls.new
|
52
|
+
end
|
53
|
+
end
|
data/lib/jgit/desc.rb
ADDED
data/lib/jgit/group.rb
ADDED
@@ -0,0 +1,96 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'jgit/common'
|
4
|
+
require 'thor'
|
5
|
+
|
6
|
+
module Jgit
|
7
|
+
class Group < Thor
|
8
|
+
|
9
|
+
PROMPT_GROUP = "key in group name:"
|
10
|
+
|
11
|
+
desc 'add <name>', 'add new group'
|
12
|
+
|
13
|
+
def add(name = nil)
|
14
|
+
|
15
|
+
name = prompt(PROMPT_GROUP) if name.nil?
|
16
|
+
jexit "no such group" if name.empty?
|
17
|
+
|
18
|
+
data = list(false)
|
19
|
+
data.push(name) unless data.include?(name)
|
20
|
+
save_data(GROUP_DATA, data.to_json)
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
desc 'list', 'list group'
|
25
|
+
map ls: :list
|
26
|
+
|
27
|
+
def list(show = true)
|
28
|
+
|
29
|
+
current = load_data(CURRENT_GROUP)
|
30
|
+
current = "default" if current.empty?
|
31
|
+
|
32
|
+
data = load_obj(GROUP_DATA, Array)
|
33
|
+
data.unshift("default")
|
34
|
+
|
35
|
+
if show
|
36
|
+
data.each do |val|
|
37
|
+
puts (val == current ? "> " : " ") + val
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
data.delete("default")
|
42
|
+
data
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
desc 'remove <name>', 'remove group'
|
47
|
+
map rm: :remove
|
48
|
+
|
49
|
+
def remove(name)
|
50
|
+
|
51
|
+
name = select_group(name)
|
52
|
+
data = list(false)
|
53
|
+
|
54
|
+
if data.delete(name).nil?
|
55
|
+
jexit name == "default" ? "can't remove default group" : "no such group"
|
56
|
+
else
|
57
|
+
delete_file(CURRENT_GROUP) if name == load_data(CURRENT_GROUP)
|
58
|
+
delete_file(project_path(name))
|
59
|
+
|
60
|
+
save_data(GROUP_DATA, data.to_json)
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
desc 'rename <name> <new_name>', 'rename group'
|
66
|
+
|
67
|
+
def rename(name = nil, new_name = nil)
|
68
|
+
|
69
|
+
name = select_group(name)
|
70
|
+
data = list(false)
|
71
|
+
|
72
|
+
new_name = prompt("key in group name:") if new_name.nil?
|
73
|
+
jexit "new_name exist" if data.include?(new_name)
|
74
|
+
|
75
|
+
if data.delete(name).nil?
|
76
|
+
jexit "no such group"
|
77
|
+
else
|
78
|
+
save_data(CURRENT_GROUP, new_name) if name == load_data(CURRENT_GROUP)
|
79
|
+
data.push(new_name)
|
80
|
+
save_data(GROUP_DATA, data.to_json)
|
81
|
+
end
|
82
|
+
|
83
|
+
end
|
84
|
+
|
85
|
+
no_commands do
|
86
|
+
def select_group(name = nil)
|
87
|
+
if name.nil?
|
88
|
+
list
|
89
|
+
name = prompt(PROMPT_GROUP)
|
90
|
+
end
|
91
|
+
name
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
end
|
96
|
+
end
|
data/lib/jgit/jutil.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
def prompt(args, default = "")
|
4
|
+
|
5
|
+
begin
|
6
|
+
puts(args)
|
7
|
+
print "> "
|
8
|
+
STDOUT.flush
|
9
|
+
text = STDIN.gets.chomp
|
10
|
+
rescue SystemExit, Interrupt
|
11
|
+
jexit
|
12
|
+
end
|
13
|
+
|
14
|
+
if text.empty?
|
15
|
+
default
|
16
|
+
else
|
17
|
+
text
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
def jexit(str = nil)
|
23
|
+
if str.nil?
|
24
|
+
puts "exit with 0"
|
25
|
+
else
|
26
|
+
puts str
|
27
|
+
end
|
28
|
+
exit
|
29
|
+
end
|
30
|
+
|
31
|
+
def bold(text)
|
32
|
+
"\033[1;4m#{text}\033[0m"
|
33
|
+
end
|
data/lib/jgit/version.rb
ADDED
data/test/group_test.rb
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'minitest/autorun'
|
4
|
+
require 'jgit/common'
|
5
|
+
require 'jgit/group'
|
6
|
+
require 'jgit'
|
7
|
+
|
8
|
+
class GroupTest < Minitest::Test
|
9
|
+
|
10
|
+
def test_add
|
11
|
+
|
12
|
+
jgit = Jgit::Group.new
|
13
|
+
jgit.add("test")
|
14
|
+
data = jgit.list(false)
|
15
|
+
jgit.remove("test")
|
16
|
+
assert data.include?("test")
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_remove
|
21
|
+
|
22
|
+
jgit = Jgit::Group.new
|
23
|
+
jgit.add("test")
|
24
|
+
data = jgit.list(false)
|
25
|
+
jgit.remove("test")
|
26
|
+
data2 = jgit.list(false)
|
27
|
+
assert data.include?("test") && !data2.include?("test")
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_rename
|
32
|
+
|
33
|
+
jgit = Jgit::Group.new
|
34
|
+
jgit.add("test")
|
35
|
+
jgit.rename("test", "newtest")
|
36
|
+
data = jgit.list(false)
|
37
|
+
jgit.remove("newtest")
|
38
|
+
assert !data.include?("test") && data.include?("newtest")
|
39
|
+
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_chgrp
|
43
|
+
task = Jgit::Project.new
|
44
|
+
group = Jgit::Group.new
|
45
|
+
|
46
|
+
current = load_data(CURRENT_GROUP)
|
47
|
+
group.add("test")
|
48
|
+
task.chgrp("test")
|
49
|
+
task.add(".", "test")
|
50
|
+
data = task.list(false)
|
51
|
+
task.remove("test")
|
52
|
+
task.chgrp(current)
|
53
|
+
data2 = task.list(false)
|
54
|
+
group.remove("test")
|
55
|
+
assert data.include?("test") && !data2.include?("test")
|
56
|
+
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
data/test/task_test.rb
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'minitest/autorun'
|
4
|
+
require 'jgit/common'
|
5
|
+
require 'jgit'
|
6
|
+
|
7
|
+
class TaskTest < Minitest::Test
|
8
|
+
|
9
|
+
def test_add
|
10
|
+
|
11
|
+
jgit = Jgit::Project.new
|
12
|
+
jgit.add(".", "test")
|
13
|
+
data = jgit.list(false)
|
14
|
+
jgit.remove("test")
|
15
|
+
assert_equal File.expand_path("."), data["test"]
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_remove
|
19
|
+
|
20
|
+
jgit = Jgit::Project.new
|
21
|
+
jgit.add(".", "test")
|
22
|
+
data = jgit.list(false)
|
23
|
+
jgit.remove("test")
|
24
|
+
data2 = jgit.list(false)
|
25
|
+
assert !data["test"].nil? && data2["test"].nil?
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_rename
|
30
|
+
|
31
|
+
jgit = Jgit::Project.new
|
32
|
+
jgit.add(".", "test")
|
33
|
+
jgit.rename("test", "newtest")
|
34
|
+
data = jgit.list(false)
|
35
|
+
jgit.remove("newtest")
|
36
|
+
assert data["test"].nil? && !data["newtest"].nil?
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
metadata
ADDED
@@ -0,0 +1,115 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: jgit
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: '1.1'
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- jintin
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-12-16 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.10'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.10'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: minitest
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 5.8.0
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 5.8.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: thor
|
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: Jgit is a tool to help you manage multiple separate git-base project
|
70
|
+
in local file system.
|
71
|
+
email:
|
72
|
+
- jintinapps@gmail.com
|
73
|
+
executables:
|
74
|
+
- jgit
|
75
|
+
extensions: []
|
76
|
+
extra_rdoc_files: []
|
77
|
+
files:
|
78
|
+
- bin/console
|
79
|
+
- bin/jgit
|
80
|
+
- bin/setup
|
81
|
+
- lib/jgit.rb
|
82
|
+
- lib/jgit/common.rb
|
83
|
+
- lib/jgit/desc.rb
|
84
|
+
- lib/jgit/group.rb
|
85
|
+
- lib/jgit/jutil.rb
|
86
|
+
- lib/jgit/version.rb
|
87
|
+
- test/group_test.rb
|
88
|
+
- test/task_test.rb
|
89
|
+
homepage: https://github.com/Jintin/jgit
|
90
|
+
licenses:
|
91
|
+
- MIT
|
92
|
+
metadata: {}
|
93
|
+
post_install_message:
|
94
|
+
rdoc_options: []
|
95
|
+
require_paths:
|
96
|
+
- lib
|
97
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- - ">="
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: '0'
|
107
|
+
requirements: []
|
108
|
+
rubyforge_project:
|
109
|
+
rubygems_version: 2.4.5.1
|
110
|
+
signing_key:
|
111
|
+
specification_version: 4
|
112
|
+
summary: git management tool
|
113
|
+
test_files:
|
114
|
+
- test/group_test.rb
|
115
|
+
- test/task_test.rb
|