gitti 0.4.0 → 0.6.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ef8765bec0642f4ee88c23169fffe92f8f0bba1a
4
- data.tar.gz: a877ebe7e9bcff04915ed4fcc782dcf2c8000dc3
3
+ metadata.gz: 9af5dbeb98c92b61217e79f16a009baea537c068
4
+ data.tar.gz: '0378847df0d03662f0a7d89d25c51b01ff887ce7'
5
5
  SHA512:
6
- metadata.gz: 683017b302f2becfaa0fb76c6f2dbfecd3e961ef534d8c8b784070a2df90fefc4df38c476d9601ef0d2e0167b2c613adbe781e918520ba15dc2e8e0b33e0ece7
7
- data.tar.gz: 41320be67f3b4f4a3dd34bdac9a7ac4a94b21d47012f84be53cb8dee0170c9acc811927c910e985983f724a7d7826fbd36b04f457c31b25c47320733af7ce832
6
+ metadata.gz: 2a43608097a13b762821df5a576e8f8346cd684680b1494fce35e0d0b2f3f043ba6ef8e36b931f2eb447b526cab753b62287206eee984f6323c6ee33c0a96c00
7
+ data.tar.gz: 60aaf0d3ee8c9582ec276a65e700391e1b0f3ae388f2dd53143c30c322218e9c20bf94fa3ee0269952aca453388d0097b747ed33749e44d10a412e951b51a994
data/README.md CHANGED
@@ -1,150 +1,166 @@
1
- # gitti
2
-
3
- gitti gem - (yet) another (lite) git command line helper / wrapper
4
-
5
- * home :: [github.com/rubycoco/gitti](https://github.com/rubycoco/gitti)
6
- * bugs :: [github.com/rubycoco/gitti/issues](https://github.com/rubycoco/gitti/issues)
7
- * gem :: [rubygems.org/gems/gitti](https://rubygems.org/gems/gitti)
8
- * rdoc :: [rubydoc.info/gems/gitti](http://rubydoc.info/gems/gitti)
9
-
10
-
11
-
12
- ## Usage
13
-
14
- `Git` • `GitProject` • `GitMirror`
15
-
16
-
17
- ### `Git` Class
18
-
19
- Use the `Git` class for "low-level / to the metal" git commands
20
- that run in your current working directory.
21
- Example:
22
-
23
- ``` ruby
24
-
25
- ###############
26
- ## "setup" starter git commands
27
-
28
- Git.clone( "git@github.com:rubycoco/gitti.git" )
29
- Git.clone( "git@github.com:rubycoco/gitti.git", "gitti-clone" )
30
-
31
- Git.mirror( "git@github.com:rubycoco/gitti.git" ) ## same as git clone --mirror
32
-
33
- #################
34
- ## standard git commands
35
-
36
- Git.version ## same as git --version
37
- Git.status
38
- Git.status( short: true ) ## same as Git.changes
39
- Git.changes ## same as git status --short
40
-
41
- #####################
42
- ## status helpers
43
-
44
- Git.clean?
45
- Git.changes?
46
- Git.dirty? ## alias for changes?
47
-
48
- #######
49
- ## more (major) git commands
50
-
51
- Git.fetch
52
- Git.pull
53
- Git.fast_forward ## same as git pull --ff-only
54
- Git.ff ## alias for fast_forward
55
- Git.push
56
- Git.add( "pathspec" )
57
- Git.add_all ## same as git --all
58
- Git.commit( "message" )
59
-
60
- Git.files ## same as git ls-tree --full-tree --name-only -r HEAD
61
-
62
- Git.check ## same as git fsck
63
- Git.fsck ## alias for check
64
- Git.checksum ## another alias for check
65
-
66
- Git.origin ## same as git remote show origin
67
- Git.upstream ## same as git remote show upstream
68
- Git.origin?
69
- Git.upstream?
70
-
71
-
72
- Git.config( "user.name" ) ## use --get option
73
- Git.config( "user.name", show_origin: true ) ## add --show-origin flag
74
- Git.config( "user.name", show_scope: true ) ## add --show-scope flag
75
-
76
- Git.config( /user/ ) ## use --get-regexp option
77
- Git.config( /user/, show_origin: true ) ## add --show-origin flag
78
- Git.config( /user/, show_scope: true ) ## add --show-scope flag
79
- ```
80
-
81
-
82
-
83
- ### `GitProject` Class
84
-
85
- Use the `GitProject` class for existing git repo(sitories)
86
- with workspace. Example:
87
-
88
- ``` ruby
89
- GitProject.open( "rubycoco/gitti" ) do |proj|
90
- proj.status
91
- proj.status( short: true )
92
- proj.changes
93
- proj.clean?
94
- proj.changes?
95
- proj.dirty?
96
-
97
- proj.fetch
98
- proj.pull
99
- proj.fast_forward
100
- proj.ff
101
-
102
- proj.push
103
-
104
- proj.add( "pathspec" )
105
- proj.add_all
106
- proj.commit( "message" )
107
-
108
- proj.files
109
-
110
- proj.origin
111
- proj.upstream
112
- proj.origin?
113
- proj.upstream?
114
- end
115
- ```
116
-
117
-
118
- ### `GitMirror` Class
119
-
120
- Use the `GitMirror` class for existing mirrored (bare) git repo(sitories)
121
- without workspace. Example:
122
-
123
- ``` ruby
124
- GitMirror.open( "rubycoco/gitti.git" ) do |mirror|
125
- mirror.update # sames as git remote update
126
- end
127
- ```
128
-
129
-
130
-
131
- That's it for now.
132
-
133
-
134
- ## Installation
135
-
136
- Use
137
-
138
- gem install gitti
139
-
140
- or add to your Gemfile
141
-
142
- gem 'gitti'
143
-
144
-
145
-
146
- ## License
147
-
148
- The `gitti` scripts are dedicated to the public domain.
149
- Use it as you please with no restrictions whatsoever.
150
-
1
+ # gitti
2
+
3
+ gitti gem - (yet) another (lite) git command line helper / wrapper
4
+
5
+ * home :: [github.com/rubycoco/gitti](https://github.com/rubycoco/gitti)
6
+ * bugs :: [github.com/rubycoco/gitti/issues](https://github.com/rubycoco/gitti/issues)
7
+ * gem :: [rubygems.org/gems/gitti](https://rubygems.org/gems/gitti)
8
+ * rdoc :: [rubydoc.info/gems/gitti](http://rubydoc.info/gems/gitti)
9
+
10
+
11
+
12
+ ## Usage
13
+
14
+ `Git` • `GitProject` • `GitMirror`
15
+
16
+
17
+ ### `Git` Class
18
+
19
+ Use the `Git` class for "low-level / to the metal" git commands
20
+ that run in your current working directory.
21
+ Example:
22
+
23
+ ``` ruby
24
+
25
+ ###############
26
+ ## "setup" starter git commands
27
+
28
+ Git.clone( "https://github.com/rubycoco/gitti.git" )
29
+ Git.clone( "https://github.com/rubycoco/gitti.git", "gitti-clone" )
30
+ # -or- -- if you have write / commit access use ssh
31
+ Git.clone( "git@github.com:rubycoco/gitti.git" )
32
+ Git.clone( "git@github.com:rubycoco/gitti.git", "gitti-clone" )
33
+
34
+ Git.mirror( "https://github.com/rubycoco/gitti.git" ) ## same as git clone --mirror
35
+
36
+ #################
37
+ ## standard git commands
38
+
39
+ Git.version ## same as git --version
40
+ Git.status
41
+ Git.status( short: true ) ## same as Git.changes
42
+ Git.changes ## same as git status --short
43
+
44
+ #####################
45
+ ## status helpers
46
+
47
+ Git.clean?
48
+ Git.changes?
49
+ Git.dirty? ## alias for changes?
50
+
51
+ #######
52
+ ## more (major) git commands
53
+
54
+ Git.fetch
55
+ Git.pull
56
+ Git.fast_forward ## same as git pull --ff-only
57
+ Git.ff ## alias for fast_forward
58
+ Git.push
59
+ Git.add( "pathspec" )
60
+ Git.add_all ## same as git --all
61
+ Git.commit( "message" )
62
+
63
+ Git.files ## same as git ls-tree --full-tree --name-only -r HEAD
64
+
65
+ Git.check ## same as git fsck
66
+ Git.fsck ## alias for check
67
+ Git.checksum ## another alias for check
68
+
69
+ Git.master? ## on master branch
70
+ Git.main? ## on main branch
71
+
72
+ Git.origin ## same as git remote show origin
73
+ Git.upstream ## same as git remote show upstream
74
+ Git.origin?
75
+ Git.upstream?
76
+
77
+ Git.config( "user.name" ) ## use --get option
78
+ Git.config( "user.name", show_origin: true ) ## add --show-origin flag
79
+ Git.config( "user.name", show_scope: true ) ## add --show-scope flag
80
+
81
+ Git.config( /user/ ) ## use --get-regexp option
82
+ Git.config( /user/, show_origin: true ) ## add --show-origin flag
83
+ Git.config( /user/, show_scope: true ) ## add --show-scope flag
84
+ ```
85
+
86
+
87
+
88
+ ### `GitProject` Class
89
+
90
+ Use the `GitProject` class for existing git repo(sitories)
91
+ with workspace. Example:
92
+
93
+ ``` ruby
94
+ GitProject.open( "rubycoco/gitti" ) do |proj|
95
+ proj.status
96
+ proj.status( short: true )
97
+ proj.changes
98
+ proj.clean?
99
+ proj.changes?
100
+ proj.dirty?
101
+
102
+ proj.fetch
103
+ proj.pull
104
+ proj.fast_forward
105
+ proj.ff
106
+
107
+ proj.push
108
+
109
+ proj.add( "pathspec" )
110
+ proj.add_all
111
+ proj.commit( "message" )
112
+
113
+ proj.files
114
+
115
+ proj.master?
116
+ proj.main?
117
+
118
+ proj.origin
119
+ proj.upstream
120
+ proj.origin?
121
+ proj.upstream?
122
+ end
123
+ ```
124
+
125
+
126
+ ### `GitMirror` Class
127
+
128
+ Use the `GitMirror` class for existing mirrored (bare) git repo(sitories)
129
+ without workspace. Example:
130
+
131
+ ``` ruby
132
+ GitMirror.open( "rubycoco/gitti.git" ) do |mirror|
133
+ mirror.update # sames as git remote update
134
+ end
135
+ ```
136
+
137
+
138
+
139
+ That's it for now.
140
+
141
+
142
+
143
+ ## Real World Usage
144
+
145
+ The [`monos`](https://github.com/rubycoco/monos) gem incl. some monorepo / mono source tree tools and (startup) scripts
146
+ that let you run git commands on multiple repos.
147
+
148
+
149
+
150
+ ## Installation
151
+
152
+ Use
153
+
154
+ gem install gitti
155
+
156
+ or add to your Gemfile
157
+
158
+ gem 'gitti'
159
+
160
+
161
+
162
+ ## License
163
+
164
+ The `gitti` scripts are dedicated to the public domain.
165
+ Use it as you please with no restrictions whatsoever.
166
+
data/Rakefile CHANGED
@@ -17,12 +17,13 @@ Hoe.spec 'gitti' do
17
17
  self.readme_file = 'README.md'
18
18
  self.history_file = 'CHANGELOG.md'
19
19
 
20
- self.extra_deps = []
20
+ self.extra_deps = [
21
+ ['shell-lite', '>= 0.0.1' ],
22
+ ]
21
23
 
22
24
  self.licenses = ['Public Domain']
23
25
 
24
26
  self.spec_extras = {
25
27
  required_ruby_version: '>= 2.2.2'
26
28
  }
27
-
28
29
  end
@@ -1,57 +1,60 @@
1
- require 'pp'
2
- require 'time'
3
- require 'date' ## e.g. Date.today etc.
4
- require 'yaml'
5
- require 'json'
6
- require 'uri'
7
- require 'net/http'
8
- require "net/https"
9
- require 'open3'
10
- require 'fileutils' ## e.g. FileUtils.mkdir_p etc.
11
-
12
-
13
-
14
- # our own code
15
- require 'gitti/version' # note: let version always go first
16
- require 'gitti/git'
17
- require 'gitti/project'
18
- require 'gitti/mirror'
19
- require 'gitti/reposet'
20
-
21
-
22
-
23
- module Gitti
24
- ## todo: change to GitHubRepoRef or GitHubProject
25
- ## or Git::GitHub or Git::Source::GitHub or such - why? why not?
26
- class GitHubRepo
27
- attr_reader :owner, :name
28
-
29
- def initialize( owner, name )
30
- @owner = owner ## use/rename to login or something - why? why not??
31
- @name = name # e.g. "rubylibs/webservice"
32
- end
33
-
34
-
35
- def ssh_clone_url
36
- ## check: use https: as default? for github - http:// still supported? or redirected?
37
- ## "http://github.com/#{@owner}/#{@name}"
38
- "git@github.com:#{@owner}/#{@name}.git"
39
- end
40
-
41
- def http_clone_url ## use clone_url( http: true ) -- why? why not?
42
- ## note: https is default for github - http:// gets redirected to https://
43
- "http://github.com/#{@owner}/#{@name}"
44
- end
45
-
46
- def https_clone_url
47
- "https://github.com/#{@owner}/#{@name}"
48
- end
49
-
50
-
51
- end ## class GitHubRepo
52
- end ## module Gitti
53
-
54
-
55
-
56
- # say hello
57
- puts GittiCore.banner ## if defined?( $RUBYCOCO_DEBUG )
1
+ require 'shell-lite' ## note: move shell execute for (re)use to its own (upstream) gem
2
+
3
+ module Gitti
4
+ Shell = Computer::Shell
5
+ ShellError = Computer::ShellError
6
+ GitError = Computer::ShellError ## raised if git exec returns with non-zero exit - just use ShellError - why? why not?
7
+ ## raised by Git::Shell.run
8
+ ## todo/check: use ShellError or RunError - why? why not?
9
+ ## and make Git::Shell top-level e.g. Shell - why? why not?
10
+
11
+ ## differentiate into/use
12
+ ## GitShell.run/GitCmd.run() or such and Shell.run - why? why not?
13
+ end
14
+
15
+
16
+
17
+ # our own code
18
+ require 'gitti/version' # note: let version always go first
19
+ require 'gitti/git'
20
+ require 'gitti/project'
21
+ require 'gitti/mirror'
22
+ require 'gitti/reposet'
23
+
24
+
25
+
26
+ module Gitti
27
+ ## todo: change to GitHubRepoRef or GitHubProject
28
+ ## or Git::GitHub or Git::Source::GitHub or such - why? why not?
29
+ class GitHubRepo
30
+ attr_reader :owner, :name
31
+
32
+ def initialize( owner, name )
33
+ @owner = owner ## use/rename to login or something - why? why not??
34
+ @name = name # e.g. "rubylibs/webservice"
35
+ end
36
+
37
+
38
+ def ssh_clone_url
39
+ ## check: use https: as default? for github - http:// still supported? or redirected?
40
+ ## "http://github.com/#{@owner}/#{@name}"
41
+ "git@github.com:#{@owner}/#{@name}.git"
42
+ end
43
+
44
+ def http_clone_url ## use clone_url( http: true ) -- why? why not?
45
+ ## note: https is default for github - http:// gets redirected to https://
46
+ "http://github.com/#{@owner}/#{@name}"
47
+ end
48
+
49
+ def https_clone_url
50
+ "https://github.com/#{@owner}/#{@name}"
51
+ end
52
+
53
+
54
+ end ## class GitHubRepo
55
+ end ## module Gitti
56
+
57
+
58
+
59
+ # say hello
60
+ puts GittiCore.banner ## if defined?( $RUBYCOCO_DEBUG )
@@ -1,24 +1,18 @@
1
1
  module Gitti
2
2
 
3
- ## raised by Git::Shell.run -- check if top-level ShellError alread exists?
4
- ## use ShellError or RunError - why? why not?
5
- ## and make Git::Shell top-level e.g. Shell - why? why not?
6
- class GitError < StandardError
7
- end
8
-
9
-
10
3
  class Git ## make Git a module - why? why not?
11
4
 
12
5
  ###
13
6
  ## todo/fix: change opts=nil to *args or such - why? why not?
14
7
 
15
-
16
8
  ###############
17
9
  ## "setup" starter git commands
18
10
 
19
- def self.clone( repo, name=nil )
20
- cmd = "git clone #{repo}"
21
- cmd << " #{name}" unless name.nil? || name.empty?
11
+ def self.clone( repo, name=nil, depth: nil )
12
+ cmd = "git clone"
13
+ cmd << " --depth #{depth}" unless depth.nil?
14
+ cmd << " #{repo}"
15
+ cmd << " #{name}" unless name.nil? || name.empty?
22
16
  Shell.run( cmd )
23
17
  end
24
18
 
@@ -194,6 +188,21 @@ class Git ## make Git a module - why? why not?
194
188
  end
195
189
 
196
190
 
191
+ def self.branch
192
+ cmd = 'git branch'
193
+ Shell.run( cmd )
194
+ end
195
+
196
+ def self.master?
197
+ output = branch ## check for '* master'
198
+ output.split( /\r?\n/ ).include?( '* master' )
199
+ end
200
+
201
+ def self.main?
202
+ output = branch ## check for '* main'
203
+ output.split( /\r?\n/ ).include?('* main')
204
+ end
205
+
197
206
  ## git remote update will update all of your branches
198
207
  ## set to track remote ones, but not merge any changes in.
199
208
  ##
@@ -214,6 +223,7 @@ class Git ## make Git a module - why? why not?
214
223
  Shell.run( cmd )
215
224
  end
216
225
 
226
+
217
227
  def self.origin ## e.g. git remote show origin
218
228
  cmd = "git remote show origin"
219
229
  Shell.run( cmd )
@@ -224,15 +234,23 @@ class Git ## make Git a module - why? why not?
224
234
  Shell.run( cmd )
225
235
  end
226
236
 
237
+ def self.remote
238
+ cmd = "git remote"
239
+ Shell.run( cmd )
240
+ end
241
+
227
242
  def self.origin?
228
- puts "todo/fix: check if remote origin is available/exists - how?"
243
+ output = remote ## check for 'origin'
244
+ output.split( /\r?\n/ ).include?( 'origin' )
229
245
  end
230
246
 
231
247
  def self.upstream?
232
- puts "todo/fix: check if remote upstream is available/exists - how?"
248
+ output = remote ## check for 'upstream'
249
+ output.split( /\r?\n/ ).include?( 'upstream' )
233
250
  end
234
251
 
235
252
 
253
+
236
254
  def self.check ## e.g. git fsck - check/validate hash of objects
237
255
  cmd = "git fsck"
238
256
  Shell.run( cmd )
@@ -242,49 +260,6 @@ class Git ## make Git a module - why? why not?
242
260
  alias_method :checksum, :check
243
261
  end
244
262
 
245
-
246
-
247
- ###
248
- # use nested class for "base" for running commands - why? why not?
249
- class Shell
250
- def self.run( cmd )
251
- print "cmd exec >#{cmd}<..."
252
- stdout, stderr, status = Open3.capture3( cmd )
253
-
254
- if status.success?
255
- print " OK"
256
- print "\n"
257
- else
258
- print " FAIL (#{status.exitstatus})"
259
- print "\n"
260
- end
261
-
262
- unless stdout.empty?
263
- puts stdout
264
- end
265
-
266
- unless stderr.empty?
267
- ## todo/check: or use >2: or &2: or such
268
- ## stderr output not always an error (that is, exit status might be 0)
269
- puts "STDERR:"
270
- puts stderr
271
- end
272
-
273
- if status.success?
274
- stdout # return stdout string
275
- else
276
- puts "!! ERROR: cmd exec >#{cmd}< failed with exit status #{status.exitstatus}:"
277
- puts stderr
278
-
279
- ### todo/fix: do NOT use GitError here!!! make it more "general"
280
- ### use a Git::Shell.run() wrapper or such - why? why not?
281
- ## or use a Shell.git() or Shell.git_run() ???
282
- ## or pass in error class - why? why not?
283
- raise GitError, "cmd exec >#{cmd}< failed with exit status #{status.exitstatus}<: #{stderr}"
284
- end
285
- end
286
- end # class Git::Shell
287
-
288
263
  end # class Git
289
264
 
290
265
  end # module Gitti
@@ -1,33 +1,33 @@
1
- module Gitti
2
-
3
- class GitMirror
4
- def self.open( path, &blk )
5
- new( path ).open( &blk )
6
- end
7
-
8
- def self.update( path ) ### all-in-one convenience shortcut
9
- new( path).open { |mirror| mirror.update }
10
- end
11
-
12
-
13
-
14
- def initialize( path )
15
- raise ArgumentError, "dir >#{path}< not found; dir MUST already exist for GitMirror class - sorry" unless Dir.exist?( path )
16
- ## todo/check: check for more dirs and files e.g.
17
- ## /info,/objects,/refs, /hooks, HEAD, config, description -- why? why not?
18
- raise ArgumentError, "dir >#{path}/objects< not found; dir MUST already be initialized with git for GitMirror class - sorry" unless Dir.exist?( "#{path}/objects" )
19
- @path = path
20
- end
21
-
22
-
23
- def open( &blk )
24
- Dir.chdir( @path ) do
25
- blk.call( self )
26
- end
27
- end
28
-
29
- def update() Git.update; end
30
-
31
- end # class GitMirror
32
- end # module Gitti
33
-
1
+ module Gitti
2
+
3
+ class GitMirror
4
+ def self.open( path, &blk )
5
+ new( path ).open( &blk )
6
+ end
7
+
8
+ def self.update( path ) ### all-in-one convenience shortcut
9
+ new( path).open { |mirror| mirror.update }
10
+ end
11
+
12
+
13
+
14
+ def initialize( path )
15
+ raise ArgumentError, "dir >#{path}< not found; dir MUST already exist for GitMirror class - sorry" unless Dir.exist?( path )
16
+ ## todo/check: check for more dirs and files e.g.
17
+ ## /info,/objects,/refs, /hooks, HEAD, config, description -- why? why not?
18
+ raise ArgumentError, "dir >#{path}/objects< not found; dir MUST already be initialized with git for GitMirror class - sorry" unless Dir.exist?( "#{path}/objects" )
19
+ @path = path
20
+ end
21
+
22
+
23
+ def open( &blk )
24
+ Dir.chdir( @path ) do
25
+ blk.call( self )
26
+ end
27
+ end
28
+
29
+ def update() Git.update; end
30
+
31
+ end # class GitMirror
32
+ end # module Gitti
33
+
@@ -43,11 +43,17 @@ class GitProject
43
43
 
44
44
 
45
45
  ### remote show origin|upstream|etc.
46
+ def remote() Git.remote; end
46
47
  def origin() Git.origin; end
47
48
  def upstream() Git.upstream; end
48
49
  def origin?() Git.origin?; end
49
50
  def upstream?() Git.upstream?; end
50
51
 
52
+ ### branch management
53
+ def branch() Git.branch; end
54
+ def master?() Git.master?; end
55
+ def main?() Git.main?; end
56
+
51
57
 
52
58
  def run( cmd ) Git::Shell.run( cmd ); end
53
59
  end # class GitProject
@@ -7,8 +7,8 @@
7
7
 
8
8
  module GittiCore ## todo/check: rename GittiBase or GittiMeta or such - why? why not?
9
9
  MAJOR = 0 ## todo: namespace inside version or something - why? why not??
10
- MINOR = 4
11
- PATCH = 0
10
+ MINOR = 6
11
+ PATCH = 1
12
12
  VERSION = [MAJOR,MINOR,PATCH].join('.')
13
13
 
14
14
  def self.version
@@ -20,7 +20,7 @@ module GittiCore ## todo/check: rename GittiBase or GittiMeta or such - why?
20
20
  end
21
21
 
22
22
  def self.root
23
- "#{File.expand_path( File.dirname(File.dirname(File.dirname(__FILE__))) )}"
23
+ File.expand_path( File.dirname(File.dirname(File.dirname(__FILE__))) )
24
24
  end
25
25
  end # module GittiCore
26
26
 
@@ -6,6 +6,16 @@ require 'helper'
6
6
 
7
7
  class TestBase < MiniTest::Test
8
8
 
9
+ def test_branch
10
+ Git.branch
11
+ assert_equal true, Git.master?
12
+ assert_equal false, Git.main?
13
+
14
+ Git.remote
15
+ assert_equal true, Git.origin?
16
+ assert_equal false, Git.upstream?
17
+ end
18
+
9
19
 
10
20
  def test_git_config
11
21
  puts "---"
metadata CHANGED
@@ -1,43 +1,63 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitti
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gerald Bauer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-06 00:00:00.000000000 Z
11
+ date: 2020-10-22 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: shell-lite
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 0.0.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 0.0.1
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: rdoc
15
29
  requirement: !ruby/object:Gem::Requirement
16
30
  requirements:
17
- - - "~>"
31
+ - - ">="
18
32
  - !ruby/object:Gem::Version
19
33
  version: '4.0'
34
+ - - "<"
35
+ - !ruby/object:Gem::Version
36
+ version: '7'
20
37
  type: :development
21
38
  prerelease: false
22
39
  version_requirements: !ruby/object:Gem::Requirement
23
40
  requirements:
24
- - - "~>"
41
+ - - ">="
25
42
  - !ruby/object:Gem::Version
26
43
  version: '4.0'
44
+ - - "<"
45
+ - !ruby/object:Gem::Version
46
+ version: '7'
27
47
  - !ruby/object:Gem::Dependency
28
48
  name: hoe
29
49
  requirement: !ruby/object:Gem::Requirement
30
50
  requirements:
31
51
  - - "~>"
32
52
  - !ruby/object:Gem::Version
33
- version: '3.16'
53
+ version: '3.22'
34
54
  type: :development
35
55
  prerelease: false
36
56
  version_requirements: !ruby/object:Gem::Requirement
37
57
  requirements:
38
58
  - - "~>"
39
59
  - !ruby/object:Gem::Version
40
- version: '3.16'
60
+ version: '3.22'
41
61
  description: gitti - (yet) another (lite) git command line helper / wrapper
42
62
  email: ruby-talk@ruby-lang.org
43
63
  executables: []