girror 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +3 -4
- data/Gemfile.lock +12 -13
- data/README.rdoc +14 -14
- data/Rakefile +4 -13
- data/VERSION +1 -1
- data/girror.gemspec +12 -37
- data/lib/girror.rb +38 -29
- metadata +25 -105
data/Gemfile
CHANGED
@@ -6,12 +6,11 @@ source "http://rubygems.org"
|
|
6
6
|
# Add dependencies to develop your gem here.
|
7
7
|
# Include everything needed to run rake, tests, features, etc.
|
8
8
|
group :development do
|
9
|
-
gem "
|
10
|
-
gem "
|
11
|
-
gem "jeweler", "~> 1.5.1"
|
12
|
-
gem "rcov", ">= 0"
|
9
|
+
gem "bundler"
|
10
|
+
gem "jeweler"
|
13
11
|
gem "yard"
|
14
12
|
gem "bluecloth"
|
13
|
+
gem "rdoc"
|
15
14
|
end
|
16
15
|
|
17
16
|
gem "net-sftp"
|
data/Gemfile.lock
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
-
bluecloth (2.0
|
4
|
+
bluecloth (2.1.0)
|
5
|
+
bluecloth (2.1.0-x86-mingw32)
|
5
6
|
git (1.2.5)
|
6
|
-
highline (1.6.
|
7
|
-
jeweler (1.
|
8
|
-
bundler (~> 1.0
|
7
|
+
highline (1.6.2)
|
8
|
+
jeweler (1.6.2)
|
9
|
+
bundler (~> 1.0)
|
9
10
|
git (>= 1.2.5)
|
10
11
|
rake
|
11
12
|
net-sftp (2.0.5)
|
12
13
|
net-ssh (>= 2.0.9)
|
13
|
-
net-ssh (2.
|
14
|
-
rake (0.
|
15
|
-
|
16
|
-
shoulda (2.11.3)
|
14
|
+
net-ssh (2.1.4)
|
15
|
+
rake (0.9.2)
|
16
|
+
rdoc (3.6.1)
|
17
17
|
syslog-logger (1.6.4)
|
18
|
-
yard (0.
|
18
|
+
yard (0.7.2)
|
19
19
|
|
20
20
|
PLATFORMS
|
21
21
|
ruby
|
@@ -23,12 +23,11 @@ PLATFORMS
|
|
23
23
|
|
24
24
|
DEPENDENCIES
|
25
25
|
bluecloth
|
26
|
-
bundler
|
26
|
+
bundler
|
27
27
|
git
|
28
28
|
highline
|
29
|
-
jeweler
|
29
|
+
jeweler
|
30
30
|
net-sftp
|
31
|
-
|
32
|
-
shoulda
|
31
|
+
rdoc
|
33
32
|
syslog-logger
|
34
33
|
yard
|
data/README.rdoc
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Girror == [G]it the M[irror]
|
4
4
|
|
5
|
-
A CLI remote-to-local directory mirroring tool, the poor man's "filezilla" which
|
5
|
+
A CLI remote-to-local directory mirroring tool, the poor man's "filezilla" which
|
6
6
|
I couldn't google up, so decided to make it myself.
|
7
7
|
|
8
8
|
What does it do?
|
@@ -14,10 +14,10 @@ What does it do?
|
|
14
14
|
- Downloads all the files/directories which are:
|
15
15
|
- don't exist in the local tree,
|
16
16
|
- newer than local ones (mtime comparison),
|
17
|
-
- have the mode/owner changed (this feature is available only if the local
|
17
|
+
- have the mode/owner changed (this feature is available only if the local
|
18
18
|
system is Unix);
|
19
19
|
- Removes all the removed-on-remote files;
|
20
|
-
- Wraps all the operations into git transactions (creation/deletion
|
20
|
+
- Wraps all the operations into git transactions (creation/deletion
|
21
21
|
of files/dirs);
|
22
22
|
- Commits the changes to the local git repository.
|
23
23
|
|
@@ -27,7 +27,7 @@ besides the ssh/sftp.
|
|
27
27
|
== CLI reference
|
28
28
|
|
29
29
|
=== girror -h
|
30
|
-
Girror cli tool, version 0.0.
|
30
|
+
Girror cli tool, version 0.0.5.
|
31
31
|
|
32
32
|
Mirrors the remote sftp site and stores the changes in a local git repo.
|
33
33
|
|
@@ -57,22 +57,22 @@ Here's the example with the tested options:
|
|
57
57
|
|
58
58
|
=== _girror/config.rb
|
59
59
|
|
60
|
-
#
|
60
|
+
#
|
61
61
|
# girror config for current mirror
|
62
62
|
#
|
63
63
|
module Config
|
64
|
-
|
64
|
+
|
65
65
|
# Program options for the current instance
|
66
66
|
OPTIONS = {
|
67
67
|
# custom commit message
|
68
68
|
:commit_msg => Proc.new {"State at #{Time.now}"},
|
69
|
-
|
69
|
+
|
70
70
|
# local filename encoding
|
71
71
|
:lenc => 'koi8-r',
|
72
|
-
|
72
|
+
|
73
73
|
# remote filename encoding
|
74
74
|
:renc => 'cp1251',
|
75
|
-
|
75
|
+
|
76
76
|
# some specific ssh options
|
77
77
|
# currently available are:
|
78
78
|
# - :keys
|
@@ -80,14 +80,14 @@ Here's the example with the tested options:
|
|
80
80
|
:ssh => {
|
81
81
|
# specific ssh secret key files are listed in this array
|
82
82
|
:keys => ['/home/paul/.ssh/id_dsa_somekey'],
|
83
|
-
|
84
|
-
# you may set this to true or one of algo settings
|
83
|
+
|
84
|
+
# you may set this to true or one of algo settings
|
85
85
|
# (see docs for Net::SSH.start)
|
86
86
|
:compression => true
|
87
87
|
}
|
88
|
-
|
88
|
+
|
89
89
|
}
|
90
|
-
|
90
|
+
|
91
91
|
end
|
92
92
|
|
93
93
|
|
@@ -124,7 +124,7 @@ Here's the example with the tested options:
|
|
124
124
|
Note that remote git-related files aren't got.
|
125
125
|
|
126
126
|
== Contributing to girror
|
127
|
-
|
127
|
+
|
128
128
|
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
|
129
129
|
* Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
|
130
130
|
* Fork the project
|
data/Rakefile
CHANGED
@@ -21,21 +21,12 @@ Jeweler::Tasks.new do |gem|
|
|
21
21
|
gem.description = %Q{Retrieves remote directory via SFTP and stores it in local Git repository.}
|
22
22
|
gem.email = "argentoff@gmail.com"
|
23
23
|
gem.authors = ["Pavel Argentov"]
|
24
|
-
#
|
25
|
-
# and development dependencies are only needed for development (ie running rake tasks, tests, etc)
|
26
|
-
# gem.add_runtime_dependency 'jabber4r', '> 0.1'
|
27
|
-
# gem.add_development_dependency 'rspec', '> 1.2.3'
|
28
|
-
gem.add_development_dependency 'bluecloth'
|
29
|
-
gem.add_development_dependency 'yard'
|
30
|
-
gem.add_runtime_dependency 'net-sftp'
|
31
|
-
gem.add_runtime_dependency 'git'
|
32
|
-
gem.add_runtime_dependency 'highline'
|
33
|
-
gem.add_runtime_dependency 'syslog-logger'
|
24
|
+
# Dependencies are held in bundler's Gemfile
|
34
25
|
end
|
35
26
|
Jeweler::RubygemsDotOrgTasks.new
|
36
27
|
|
37
|
-
require '
|
38
|
-
|
28
|
+
require 'rdoc/task'
|
29
|
+
RDoc::Task.new do |rdoc|
|
39
30
|
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
40
31
|
|
41
32
|
rdoc.rdoc_dir = 'rdoc'
|
@@ -45,4 +36,4 @@ Rake::RDocTask.new do |rdoc|
|
|
45
36
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
46
37
|
end
|
47
38
|
|
48
|
-
YARD::Rake::YardocTask.new
|
39
|
+
YARD::Rake::YardocTask.new
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.5
|
data/girror.gemspec
CHANGED
@@ -5,12 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{girror}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.5"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Pavel Argentov"]
|
12
|
-
s.date = %q{2011-
|
13
|
-
s.default_executable = %q{girror}
|
12
|
+
s.date = %q{2011-06-22}
|
14
13
|
s.description = %q{Retrieves remote directory via SFTP and stores it in local Git repository.}
|
15
14
|
s.email = %q{argentoff@gmail.com}
|
16
15
|
s.executables = ["girror"]
|
@@ -38,11 +37,8 @@ Gem::Specification.new do |s|
|
|
38
37
|
s.homepage = %q{http://github.com/argent-smith/girror}
|
39
38
|
s.licenses = ["MIT"]
|
40
39
|
s.require_paths = ["lib"]
|
41
|
-
s.rubygems_version = %q{1.
|
40
|
+
s.rubygems_version = %q{1.7.2}
|
42
41
|
s.summary = %q{Remote -> local directory 'mirror' using SFTP transport and Git storage.}
|
43
|
-
s.test_files = [
|
44
|
-
"examples/_girror/config.rb"
|
45
|
-
]
|
46
42
|
|
47
43
|
if s.respond_to? :specification_version then
|
48
44
|
s.specification_version = 3
|
@@ -52,53 +48,32 @@ Gem::Specification.new do |s|
|
|
52
48
|
s.add_runtime_dependency(%q<git>, [">= 0"])
|
53
49
|
s.add_runtime_dependency(%q<highline>, [">= 0"])
|
54
50
|
s.add_runtime_dependency(%q<syslog-logger>, [">= 0"])
|
55
|
-
s.add_development_dependency(%q<
|
56
|
-
s.add_development_dependency(%q<
|
57
|
-
s.add_development_dependency(%q<jeweler>, ["~> 1.5.1"])
|
58
|
-
s.add_development_dependency(%q<rcov>, [">= 0"])
|
51
|
+
s.add_development_dependency(%q<bundler>, [">= 0"])
|
52
|
+
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
59
53
|
s.add_development_dependency(%q<yard>, [">= 0"])
|
60
54
|
s.add_development_dependency(%q<bluecloth>, [">= 0"])
|
61
|
-
s.add_development_dependency(%q<
|
62
|
-
s.add_development_dependency(%q<yard>, [">= 0"])
|
63
|
-
s.add_runtime_dependency(%q<net-sftp>, [">= 0"])
|
64
|
-
s.add_runtime_dependency(%q<git>, [">= 0"])
|
65
|
-
s.add_runtime_dependency(%q<highline>, [">= 0"])
|
66
|
-
s.add_runtime_dependency(%q<syslog-logger>, [">= 0"])
|
55
|
+
s.add_development_dependency(%q<rdoc>, [">= 0"])
|
67
56
|
else
|
68
57
|
s.add_dependency(%q<net-sftp>, [">= 0"])
|
69
58
|
s.add_dependency(%q<git>, [">= 0"])
|
70
59
|
s.add_dependency(%q<highline>, [">= 0"])
|
71
60
|
s.add_dependency(%q<syslog-logger>, [">= 0"])
|
72
|
-
s.add_dependency(%q<
|
73
|
-
s.add_dependency(%q<
|
74
|
-
s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
|
75
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
61
|
+
s.add_dependency(%q<bundler>, [">= 0"])
|
62
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
76
63
|
s.add_dependency(%q<yard>, [">= 0"])
|
77
64
|
s.add_dependency(%q<bluecloth>, [">= 0"])
|
78
|
-
s.add_dependency(%q<
|
79
|
-
s.add_dependency(%q<yard>, [">= 0"])
|
80
|
-
s.add_dependency(%q<net-sftp>, [">= 0"])
|
81
|
-
s.add_dependency(%q<git>, [">= 0"])
|
82
|
-
s.add_dependency(%q<highline>, [">= 0"])
|
83
|
-
s.add_dependency(%q<syslog-logger>, [">= 0"])
|
65
|
+
s.add_dependency(%q<rdoc>, [">= 0"])
|
84
66
|
end
|
85
67
|
else
|
86
68
|
s.add_dependency(%q<net-sftp>, [">= 0"])
|
87
69
|
s.add_dependency(%q<git>, [">= 0"])
|
88
70
|
s.add_dependency(%q<highline>, [">= 0"])
|
89
71
|
s.add_dependency(%q<syslog-logger>, [">= 0"])
|
90
|
-
s.add_dependency(%q<
|
91
|
-
s.add_dependency(%q<
|
92
|
-
s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
|
93
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
72
|
+
s.add_dependency(%q<bundler>, [">= 0"])
|
73
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
94
74
|
s.add_dependency(%q<yard>, [">= 0"])
|
95
75
|
s.add_dependency(%q<bluecloth>, [">= 0"])
|
96
|
-
s.add_dependency(%q<
|
97
|
-
s.add_dependency(%q<yard>, [">= 0"])
|
98
|
-
s.add_dependency(%q<net-sftp>, [">= 0"])
|
99
|
-
s.add_dependency(%q<git>, [">= 0"])
|
100
|
-
s.add_dependency(%q<highline>, [">= 0"])
|
101
|
-
s.add_dependency(%q<syslog-logger>, [">= 0"])
|
76
|
+
s.add_dependency(%q<rdoc>, [">= 0"])
|
102
77
|
end
|
103
78
|
end
|
104
79
|
|
data/lib/girror.rb
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
# Copyright:: (c) 2010-2011 Pavel Argentov
|
3
3
|
# License:: see LICENSE.txt
|
4
4
|
#
|
5
|
-
# Girror library code, the internals. Since the whole app is a CLI utility,
|
5
|
+
# Girror library code, the internals. Since the whole app is a CLI utility,
|
6
6
|
# there's not a lot to document here.
|
7
|
-
#
|
7
|
+
#
|
8
8
|
# The library now contains only one module Girror which contains class Application
|
9
9
|
# which is the app logic container. The methods have some documentation in the corresponding
|
10
10
|
# section (Girror::Application).
|
11
|
-
#
|
11
|
+
#
|
12
12
|
# == Disclaimer
|
13
|
-
#
|
13
|
+
#
|
14
14
|
# This documentation is written as an aid to further development of the program.
|
15
15
|
# For more user-friendly documentation see README.rdoc file.
|
16
16
|
#
|
@@ -41,8 +41,8 @@ require 'iconv'
|
|
41
41
|
# This module encapsulates *girror*'s namespace.
|
42
42
|
module Girror
|
43
43
|
# Version of the library.
|
44
|
-
VERSION = "0.0.
|
45
|
-
|
44
|
+
VERSION = "0.0.5"
|
45
|
+
|
46
46
|
# Regexp to filter out 'technical' files which aren't normally a part of
|
47
47
|
# the mirrored tree and therefore should be _ignored_.
|
48
48
|
FILTER_RE = /^((\.((\.{0,1})|((git)(ignore)?)))|(_girror))$/
|
@@ -53,7 +53,7 @@ module Girror
|
|
53
53
|
|
54
54
|
class << self # class things
|
55
55
|
include FileUtils
|
56
|
-
|
56
|
+
|
57
57
|
# Runs the app. Much like the C's main().
|
58
58
|
def run ops
|
59
59
|
# Logging setup
|
@@ -79,29 +79,29 @@ module Girror
|
|
79
79
|
@lpath = ops[:to] # local save path
|
80
80
|
log "Opening local git repo at #{@lpath}"
|
81
81
|
@git = Git.open(@lpath) # local git repo
|
82
|
-
|
82
|
+
|
83
83
|
cd ops[:to]; log "Changed to #{pwd}"
|
84
|
-
|
84
|
+
|
85
85
|
# read the config and use CLI ops to override it
|
86
86
|
$:.unshift(File.join(".", "_girror"))
|
87
87
|
begin
|
88
88
|
require 'config'
|
89
89
|
ops = Config::OPTIONS.merge ops
|
90
|
-
|
91
|
-
begin
|
90
|
+
|
91
|
+
begin
|
92
92
|
debug "Program options:"
|
93
93
|
ops.each do |pair|
|
94
94
|
debug pair.inspect
|
95
95
|
end
|
96
96
|
end
|
97
|
-
|
97
|
+
|
98
98
|
rescue LoadError => d
|
99
99
|
log "Not using stored config: #{d.message}"
|
100
100
|
end
|
101
|
-
|
101
|
+
|
102
102
|
# set commit message for git
|
103
103
|
ops[:commit_msg].nil? ? @commit_msg = Proc.new { Time.now.to_s } : @commit_msg = ops[:commit_msg]
|
104
|
-
|
104
|
+
|
105
105
|
# name conversion encodings for Iconv
|
106
106
|
ops[:renc].nil? ? @renc = "utf-8" : @renc = ops[:renc]
|
107
107
|
ops[:lenc].nil? ? @lenc = "utf-8" : @lenc = ops[:lenc]
|
@@ -114,7 +114,7 @@ module Girror
|
|
114
114
|
@path = $6
|
115
115
|
|
116
116
|
debug "Remote data specified as: login: #{@user}; pass: #{@pass.inspect}; host: #{@host}; path: #{@path}"
|
117
|
-
Net::SFTP.start(@host, @user,
|
117
|
+
Net::SFTP.start(@host, @user,
|
118
118
|
:password => @pass,
|
119
119
|
:keys => ops[:ssh][:keys],
|
120
120
|
:compression => ops[:ssh][:compression]
|
@@ -125,7 +125,7 @@ module Girror
|
|
125
125
|
dl_if_needed @path
|
126
126
|
|
127
127
|
log "Disconnected from remote #{@host}"
|
128
|
-
|
128
|
+
|
129
129
|
# fix the local tree in the git repo
|
130
130
|
begin
|
131
131
|
log "Committing changes to local git repo"
|
@@ -142,9 +142,9 @@ module Girror
|
|
142
142
|
log detail.message
|
143
143
|
end
|
144
144
|
end
|
145
|
-
|
145
|
+
|
146
146
|
end
|
147
|
-
|
147
|
+
|
148
148
|
else
|
149
149
|
raise "Bad remote specification!"
|
150
150
|
end
|
@@ -162,8 +162,8 @@ module Girror
|
|
162
162
|
@log.info string
|
163
163
|
end
|
164
164
|
|
165
|
-
# On-demand fetcher. Recursively fetches a directory entry 'name' (String)
|
166
|
-
# if there's no local copy of it or the remote mtime is newer or the
|
165
|
+
# On-demand fetcher. Recursively fetches a directory entry 'name' (String)
|
166
|
+
# if there's no local copy of it or the remote mtime is newer or the
|
167
167
|
# attributes are to be updated.
|
168
168
|
def dl_if_needed name
|
169
169
|
debug "RNA: #{name}"
|
@@ -228,18 +228,18 @@ module Girror
|
|
228
228
|
set_attrs = true
|
229
229
|
end
|
230
230
|
# recurse into the dir; get the remote list
|
231
|
-
rlist = @sftp.dir.entries(name).map do |e|
|
231
|
+
rlist = @sftp.dir.entries(name).map do |e|
|
232
232
|
unless e.name =~ FILTER_RE
|
233
233
|
dl_if_needed(File.join(name, e.name))
|
234
234
|
Iconv.conv("utf-8", @renc, e.name)
|
235
235
|
end
|
236
236
|
end . compact
|
237
|
-
|
237
|
+
|
238
238
|
# get the local list
|
239
239
|
llist = Dir.entries(lname).map do |n|
|
240
240
|
Iconv.conv("utf-8", @lenc, n) unless n =~ FILTER_RE
|
241
241
|
end . compact
|
242
|
-
|
242
|
+
|
243
243
|
# differentiate the lists; remove what's needed from local repo
|
244
244
|
diff = llist - rlist
|
245
245
|
diff.each do |n|
|
@@ -247,17 +247,26 @@ module Girror
|
|
247
247
|
# operations
|
248
248
|
n = Iconv.conv(@lenc, "utf-8", File.join(lname, n))
|
249
249
|
log "Removing #{n}"
|
250
|
-
|
250
|
+
begin
|
251
|
+
@git.remove n, :recursive => true
|
252
|
+
rescue Git::GitExecuteError => detail
|
253
|
+
case detail.message
|
254
|
+
when /did not match/
|
255
|
+
log "#{n} has no match in the git repo: removing it forcefully!"
|
256
|
+
rm_rf n
|
257
|
+
else
|
258
|
+
log detail.message
|
259
|
+
end
|
260
|
+
end
|
251
261
|
end
|
252
|
-
|
253
262
|
end
|
254
|
-
|
263
|
+
|
255
264
|
# do the common after-fetch tasks (chown, chmod, utime)
|
256
265
|
unless lname == "./"
|
257
266
|
unless ENV['OS'] == "Windows_NT" # chmod/chown issues on that platform
|
258
267
|
if ENV['EUID'] == 0
|
259
268
|
log "Setting owner: #{lname} => #{[rs.uid, rs.gid].inspect}"
|
260
|
-
File.chown rs.uid, rs.gid, lname
|
269
|
+
File.chown rs.uid, rs.gid, lname
|
261
270
|
end
|
262
271
|
log "Setting mode: #{lname} => #{"%o" % rs.permissions}"
|
263
272
|
File.chmod rs.permissions, lname
|
@@ -267,9 +276,9 @@ module Girror
|
|
267
276
|
end if set_attrs
|
268
277
|
end
|
269
278
|
|
270
|
-
# Converts the String str from @renc to @lenc if both @renc and @lenc are
|
279
|
+
# Converts the String str from @renc to @lenc if both @renc and @lenc are
|
271
280
|
# set and aren't equal.
|
272
|
-
#
|
281
|
+
#
|
273
282
|
# Returns the converted String.
|
274
283
|
def econv str
|
275
284
|
((@lenc == @renc) or (@lenc.nil? or @renc.nil?)) ?
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: girror
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
13
|
-
default_executable: girror
|
12
|
+
date: 2011-06-22 00:00:00.000000000Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: net-sftp
|
17
|
-
requirement: &
|
16
|
+
requirement: &351446130 !ruby/object:Gem::Requirement
|
18
17
|
none: false
|
19
18
|
requirements:
|
20
19
|
- - ! '>='
|
@@ -22,10 +21,10 @@ dependencies:
|
|
22
21
|
version: '0'
|
23
22
|
type: :runtime
|
24
23
|
prerelease: false
|
25
|
-
version_requirements: *
|
24
|
+
version_requirements: *351446130
|
26
25
|
- !ruby/object:Gem::Dependency
|
27
26
|
name: git
|
28
|
-
requirement: &
|
27
|
+
requirement: &351445870 !ruby/object:Gem::Requirement
|
29
28
|
none: false
|
30
29
|
requirements:
|
31
30
|
- - ! '>='
|
@@ -33,10 +32,10 @@ dependencies:
|
|
33
32
|
version: '0'
|
34
33
|
type: :runtime
|
35
34
|
prerelease: false
|
36
|
-
version_requirements: *
|
35
|
+
version_requirements: *351445870
|
37
36
|
- !ruby/object:Gem::Dependency
|
38
37
|
name: highline
|
39
|
-
requirement: &
|
38
|
+
requirement: &351445620 !ruby/object:Gem::Requirement
|
40
39
|
none: false
|
41
40
|
requirements:
|
42
41
|
- - ! '>='
|
@@ -44,10 +43,10 @@ dependencies:
|
|
44
43
|
version: '0'
|
45
44
|
type: :runtime
|
46
45
|
prerelease: false
|
47
|
-
version_requirements: *
|
46
|
+
version_requirements: *351445620
|
48
47
|
- !ruby/object:Gem::Dependency
|
49
48
|
name: syslog-logger
|
50
|
-
requirement: &
|
49
|
+
requirement: &351445370 !ruby/object:Gem::Requirement
|
51
50
|
none: false
|
52
51
|
requirements:
|
53
52
|
- - ! '>='
|
@@ -55,10 +54,10 @@ dependencies:
|
|
55
54
|
version: '0'
|
56
55
|
type: :runtime
|
57
56
|
prerelease: false
|
58
|
-
version_requirements: *
|
57
|
+
version_requirements: *351445370
|
59
58
|
- !ruby/object:Gem::Dependency
|
60
|
-
name:
|
61
|
-
requirement: &
|
59
|
+
name: bundler
|
60
|
+
requirement: &351445130 !ruby/object:Gem::Requirement
|
62
61
|
none: false
|
63
62
|
requirements:
|
64
63
|
- - ! '>='
|
@@ -66,32 +65,10 @@ dependencies:
|
|
66
65
|
version: '0'
|
67
66
|
type: :development
|
68
67
|
prerelease: false
|
69
|
-
version_requirements: *
|
70
|
-
- !ruby/object:Gem::Dependency
|
71
|
-
name: bundler
|
72
|
-
requirement: &342948950 !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ~>
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: 1.0.0
|
78
|
-
type: :development
|
79
|
-
prerelease: false
|
80
|
-
version_requirements: *342948950
|
68
|
+
version_requirements: *351445130
|
81
69
|
- !ruby/object:Gem::Dependency
|
82
70
|
name: jeweler
|
83
|
-
requirement: &
|
84
|
-
none: false
|
85
|
-
requirements:
|
86
|
-
- - ~>
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version: 1.5.1
|
89
|
-
type: :development
|
90
|
-
prerelease: false
|
91
|
-
version_requirements: *342948670
|
92
|
-
- !ruby/object:Gem::Dependency
|
93
|
-
name: rcov
|
94
|
-
requirement: &342948260 !ruby/object:Gem::Requirement
|
71
|
+
requirement: &351430480 !ruby/object:Gem::Requirement
|
95
72
|
none: false
|
96
73
|
requirements:
|
97
74
|
- - ! '>='
|
@@ -99,10 +76,10 @@ dependencies:
|
|
99
76
|
version: '0'
|
100
77
|
type: :development
|
101
78
|
prerelease: false
|
102
|
-
version_requirements: *
|
79
|
+
version_requirements: *351430480
|
103
80
|
- !ruby/object:Gem::Dependency
|
104
81
|
name: yard
|
105
|
-
requirement: &
|
82
|
+
requirement: &351430180 !ruby/object:Gem::Requirement
|
106
83
|
none: false
|
107
84
|
requirements:
|
108
85
|
- - ! '>='
|
@@ -110,10 +87,10 @@ dependencies:
|
|
110
87
|
version: '0'
|
111
88
|
type: :development
|
112
89
|
prerelease: false
|
113
|
-
version_requirements: *
|
90
|
+
version_requirements: *351430180
|
114
91
|
- !ruby/object:Gem::Dependency
|
115
92
|
name: bluecloth
|
116
|
-
requirement: &
|
93
|
+
requirement: &351429910 !ruby/object:Gem::Requirement
|
117
94
|
none: false
|
118
95
|
requirements:
|
119
96
|
- - ! '>='
|
@@ -121,10 +98,10 @@ dependencies:
|
|
121
98
|
version: '0'
|
122
99
|
type: :development
|
123
100
|
prerelease: false
|
124
|
-
version_requirements: *
|
101
|
+
version_requirements: *351429910
|
125
102
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
127
|
-
requirement: &
|
103
|
+
name: rdoc
|
104
|
+
requirement: &351429650 !ruby/object:Gem::Requirement
|
128
105
|
none: false
|
129
106
|
requirements:
|
130
107
|
- - ! '>='
|
@@ -132,62 +109,7 @@ dependencies:
|
|
132
109
|
version: '0'
|
133
110
|
type: :development
|
134
111
|
prerelease: false
|
135
|
-
version_requirements: *
|
136
|
-
- !ruby/object:Gem::Dependency
|
137
|
-
name: yard
|
138
|
-
requirement: &342946900 !ruby/object:Gem::Requirement
|
139
|
-
none: false
|
140
|
-
requirements:
|
141
|
-
- - ! '>='
|
142
|
-
- !ruby/object:Gem::Version
|
143
|
-
version: '0'
|
144
|
-
type: :development
|
145
|
-
prerelease: false
|
146
|
-
version_requirements: *342946900
|
147
|
-
- !ruby/object:Gem::Dependency
|
148
|
-
name: net-sftp
|
149
|
-
requirement: &342946650 !ruby/object:Gem::Requirement
|
150
|
-
none: false
|
151
|
-
requirements:
|
152
|
-
- - ! '>='
|
153
|
-
- !ruby/object:Gem::Version
|
154
|
-
version: '0'
|
155
|
-
type: :runtime
|
156
|
-
prerelease: false
|
157
|
-
version_requirements: *342946650
|
158
|
-
- !ruby/object:Gem::Dependency
|
159
|
-
name: git
|
160
|
-
requirement: &342946350 !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
|
-
requirements:
|
163
|
-
- - ! '>='
|
164
|
-
- !ruby/object:Gem::Version
|
165
|
-
version: '0'
|
166
|
-
type: :runtime
|
167
|
-
prerelease: false
|
168
|
-
version_requirements: *342946350
|
169
|
-
- !ruby/object:Gem::Dependency
|
170
|
-
name: highline
|
171
|
-
requirement: &342946100 !ruby/object:Gem::Requirement
|
172
|
-
none: false
|
173
|
-
requirements:
|
174
|
-
- - ! '>='
|
175
|
-
- !ruby/object:Gem::Version
|
176
|
-
version: '0'
|
177
|
-
type: :runtime
|
178
|
-
prerelease: false
|
179
|
-
version_requirements: *342946100
|
180
|
-
- !ruby/object:Gem::Dependency
|
181
|
-
name: syslog-logger
|
182
|
-
requirement: &342945840 !ruby/object:Gem::Requirement
|
183
|
-
none: false
|
184
|
-
requirements:
|
185
|
-
- - ! '>='
|
186
|
-
- !ruby/object:Gem::Version
|
187
|
-
version: '0'
|
188
|
-
type: :runtime
|
189
|
-
prerelease: false
|
190
|
-
version_requirements: *342945840
|
112
|
+
version_requirements: *351429650
|
191
113
|
description: Retrieves remote directory via SFTP and stores it in local Git repository.
|
192
114
|
email: argentoff@gmail.com
|
193
115
|
executables:
|
@@ -212,7 +134,6 @@ files:
|
|
212
134
|
- girror.gemspec
|
213
135
|
- lib/girror.rb
|
214
136
|
- profile.pdf
|
215
|
-
has_rdoc: true
|
216
137
|
homepage: http://github.com/argent-smith/girror
|
217
138
|
licenses:
|
218
139
|
- MIT
|
@@ -228,7 +149,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
228
149
|
version: '0'
|
229
150
|
segments:
|
230
151
|
- 0
|
231
|
-
hash:
|
152
|
+
hash: -886150257
|
232
153
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
233
154
|
none: false
|
234
155
|
requirements:
|
@@ -237,9 +158,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
237
158
|
version: '0'
|
238
159
|
requirements: []
|
239
160
|
rubyforge_project:
|
240
|
-
rubygems_version: 1.
|
161
|
+
rubygems_version: 1.7.2
|
241
162
|
signing_key:
|
242
163
|
specification_version: 3
|
243
164
|
summary: Remote -> local directory 'mirror' using SFTP transport and Git storage.
|
244
|
-
test_files:
|
245
|
-
- examples/_girror/config.rb
|
165
|
+
test_files: []
|