git-ui 0.0.1 → 0.1.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/Rakefile +8 -15
- data/lib/git_ui.rb +30 -3
- metadata +50 -51
- data/doc/README +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 77391e733d2cbee2262a875174fec4ee2aabbc6b
|
4
|
+
data.tar.gz: af80577a11b1ade2589884746c055b7225a2fab5
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: fe9c96a88f0b86c5fa5a74c3c9b3e90c145a56b1298e4e03d03ae7e4621ab7047cee617b6e61630446408324316056d6d9e8379d6ec8c6095c915b021f8faef5
|
7
|
+
data.tar.gz: 1c26b7990f6a4fe5193aeadb2ae08f4ddbab9dc2afa4e095dc759cd809d4e451b0d87cdc8e017a27a1f244644f30c88052b25546ec0f47405bcc4a6d77e53af7
|
data/Rakefile
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
require '
|
2
|
-
require '
|
1
|
+
require 'rubygems/package_task'
|
2
|
+
require 'rdoc/task'
|
3
3
|
|
4
4
|
$: << "#{File.dirname(__FILE__)}/lib"
|
5
5
|
|
@@ -7,7 +7,7 @@ spec = Gem::Specification.new { |s|
|
|
7
7
|
s.platform = Gem::Platform::RUBY
|
8
8
|
|
9
9
|
s.author = "Pete Elmore"
|
10
|
-
s.email = "
|
10
|
+
s.email = "pete@debu.gs"
|
11
11
|
s.files = Dir["{lib,doc,bin,ext}/**/*"].delete_if {|f|
|
12
12
|
/\/rdoc(\/|$)/i.match f
|
13
13
|
} + %w(Rakefile)
|
@@ -20,22 +20,15 @@ spec = Gem::Specification.new { |s|
|
|
20
20
|
s.name = 'git-ui'
|
21
21
|
s.summary = 'Hacky attempt at a workable UI for git, modeled slightly on '\
|
22
22
|
'darcs.'
|
23
|
-
s.homepage = "http://
|
23
|
+
s.homepage = "http://github.com/pete/#{s.name}"
|
24
24
|
%w(colorize escape).each &s.method(:add_dependency)
|
25
|
-
s.version = '0.0
|
25
|
+
s.version = '0.1.0'
|
26
26
|
}
|
27
27
|
|
28
|
-
|
29
|
-
t.main = 'doc/README'
|
30
|
-
t.rdoc_files.include 'lib/**/*.rb', 'doc/*', 'bin/*', 'ext/**/*.c',
|
31
|
-
'ext/**/*.rb'
|
32
|
-
t.options << '-S' << '-N'
|
33
|
-
t.rdoc_dir = 'doc/rdoc'
|
34
|
-
}
|
35
|
-
|
36
|
-
Rake::GemPackageTask.new(spec) { |pkg|
|
28
|
+
Gem::PackageTask.new(spec) { |pkg|
|
37
29
|
pkg.need_tar_bz2 = true
|
38
30
|
}
|
31
|
+
|
39
32
|
desc "Cleans out the packaged files."
|
40
33
|
task(:clean) {
|
41
34
|
FileUtils.rm_rf 'pkg'
|
@@ -43,7 +36,7 @@ task(:clean) {
|
|
43
36
|
|
44
37
|
task(:install => :package) {
|
45
38
|
g = "pkg/#{spec.name}-#{spec.version}.gem"
|
46
|
-
system "
|
39
|
+
system "gem install -l #{g}"
|
47
40
|
}
|
48
41
|
|
49
42
|
task(:irb) {
|
data/lib/git_ui.rb
CHANGED
@@ -92,7 +92,7 @@ module GitUI
|
|
92
92
|
]
|
93
93
|
|
94
94
|
while i < cs.size
|
95
|
-
puts "#{cs[i][:filename]} (#{i + 1}/#{cs.size})"
|
95
|
+
puts "#{cs[i][:filename]} (#{fsz(cs[i][:filename])}, #{i + 1}/#{cs.size})"
|
96
96
|
decide "Add?", acts, color
|
97
97
|
end
|
98
98
|
|
@@ -105,6 +105,7 @@ module GitUI
|
|
105
105
|
|
106
106
|
act = nil
|
107
107
|
loop {
|
108
|
+
uncook_stty!
|
108
109
|
print prompt
|
109
110
|
$stdout.flush
|
110
111
|
inp = $stdin.read(1)
|
@@ -114,6 +115,7 @@ module GitUI
|
|
114
115
|
" #{a.key}: #{a.desc}"
|
115
116
|
}
|
116
117
|
elsif a = acts.find { |a| inp == a.key }
|
118
|
+
cook_stty!
|
117
119
|
return a.block.call
|
118
120
|
else
|
119
121
|
puts "No such action: #{inp}"
|
@@ -155,13 +157,26 @@ module GitUI
|
|
155
157
|
]
|
156
158
|
|
157
159
|
while i < cs.size
|
158
|
-
puts "#{cs[i][:filename]} #{cs[i][:status]} (#{i + 1}/#{cs.size})"
|
160
|
+
puts "#{cs[i][:filename]} #{cs[i][:status]} (#{fsz(cs[i][:filename])}, #{i + 1}/#{cs.size})"
|
159
161
|
decide "Record?", acts, :cyan
|
160
162
|
end
|
161
163
|
|
162
164
|
cs
|
163
165
|
end
|
164
166
|
|
167
|
+
def fsz fn
|
168
|
+
sz = File.stat(fn).size rescue 0
|
169
|
+
st = sz.to_s
|
170
|
+
us = %w(kB MB GB)
|
171
|
+
u = 'B'
|
172
|
+
while sz > 1024 && !us.empty?
|
173
|
+
sz /= 1024.0
|
174
|
+
u = us.shift
|
175
|
+
st = '%0.2f' % sz
|
176
|
+
end
|
177
|
+
st << u
|
178
|
+
end
|
179
|
+
|
165
180
|
def commit(*cs)
|
166
181
|
fs = cs.select { |c|
|
167
182
|
[:commit, :add].include? c[:action]
|
@@ -172,7 +187,11 @@ module GitUI
|
|
172
187
|
end
|
173
188
|
puts "Committing #{fs.join(', ')}...".colorize(:green)
|
174
189
|
system 'git', 'add', *fs
|
175
|
-
system
|
190
|
+
unless system('git', 'commit', *fs)
|
191
|
+
# Put things where they were if the commit failed.
|
192
|
+
puts "Commit failed! Resetting #{fs.join(', ')}.".colorize(:red)
|
193
|
+
system 'git', 'reset', *fs
|
194
|
+
end
|
176
195
|
end
|
177
196
|
|
178
197
|
def determine_cmd args
|
@@ -201,5 +220,13 @@ module GitUI
|
|
201
220
|
end
|
202
221
|
end
|
203
222
|
|
223
|
+
def cook_stty!
|
224
|
+
system "stty sane"
|
225
|
+
end
|
226
|
+
|
227
|
+
def uncook_stty!
|
228
|
+
system "stty -icanon min 1"
|
229
|
+
end
|
230
|
+
|
204
231
|
extend self
|
205
232
|
end
|
metadata
CHANGED
@@ -1,79 +1,78 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: git-ui
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- Pete Elmore
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2014-12-24 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
16
14
|
name: colorize
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
17
20
|
type: :runtime
|
18
|
-
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
20
|
-
requirements:
|
21
|
-
- -
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version:
|
24
|
-
|
25
|
-
- !ruby/object:Gem::Dependency
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
26
28
|
name: escape
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
27
34
|
type: :runtime
|
28
|
-
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- -
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version:
|
34
|
-
version:
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
35
41
|
description:
|
36
|
-
email:
|
37
|
-
executables:
|
42
|
+
email: pete@debu.gs
|
43
|
+
executables:
|
38
44
|
- git-i
|
39
45
|
extensions: []
|
40
|
-
|
41
|
-
extra_rdoc_files:
|
46
|
+
extra_rdoc_files:
|
42
47
|
- doc/LICENSE
|
43
48
|
- doc/TODO
|
44
|
-
|
45
|
-
files:
|
49
|
+
files:
|
46
50
|
- lib/git_ui.rb
|
47
51
|
- doc/LICENSE
|
48
52
|
- doc/TODO
|
49
|
-
- doc/README
|
50
53
|
- bin/git-i
|
51
54
|
- Rakefile
|
52
|
-
|
53
|
-
|
55
|
+
homepage: http://github.com/pete/git-ui
|
56
|
+
licenses: []
|
57
|
+
metadata: {}
|
54
58
|
post_install_message:
|
55
59
|
rdoc_options: []
|
56
|
-
|
57
|
-
require_paths:
|
60
|
+
require_paths:
|
58
61
|
- lib
|
59
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
60
|
-
requirements:
|
61
|
-
- -
|
62
|
-
- !ruby/object:Gem::Version
|
63
|
-
version:
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
version: "0"
|
70
|
-
version:
|
62
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - '>='
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0'
|
67
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - '>='
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '0'
|
71
72
|
requirements: []
|
72
|
-
|
73
73
|
rubyforge_project:
|
74
|
-
rubygems_version:
|
74
|
+
rubygems_version: 2.0.14
|
75
75
|
signing_key:
|
76
|
-
specification_version:
|
76
|
+
specification_version: 4
|
77
77
|
summary: Hacky attempt at a workable UI for git, modeled slightly on darcs.
|
78
78
|
test_files: []
|
79
|
-
|
data/doc/README
DELETED
File without changes
|