s3backup 0.8.6 → 0.8.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,68 +1,72 @@
1
- === 0.0.1 2009-10-21
2
-
3
- * 1 major enhancement:
4
- * Initial release
5
- === 0.6.3 2010-01-16
6
- * mod Access Error if the bucket was not found
7
- * mod bug if directory name has white space
8
-
9
- === 0.6.4 2010-01-18
10
- * mod bug if directory name has non english and shell special char
11
- * retry 5 times if data post fails.
12
-
13
- === 0.6.6 2010-01-19
14
- * add config max_retry_count
15
- * if ocurred "Connection reset by peer",retry max_retry_count times. default 6 waiting (30*try_count) second next post.
16
- * show http://scie.nti.st/2008/3/14/amazon-s3-and-connection-reset-by-peer
17
- * don't use raise,change exit and error log
18
- * config BUFESIZE to buffer_size
19
- * mod bug if directory name has '\'
20
-
21
-
22
- === 0.6.7 2010-01-19
23
- * default max_retry_count 6 to 10
24
- * add config log_level
25
-
26
- === 0.6.8 2010-01-19
27
- * default log level debug to info
28
-
29
- === 0.6.9 2010-01-20
30
- * modify problem for backup taget is huge,memory is burned out
31
- * default max_retry_count 10 to 20
32
-
33
- === 0.6.10 2010-01-25
34
- * mod bug if directory name has '#'
35
-
36
- === 0.7.01 2010-01-27
37
- * mod bug if passward is not set. very sorry.
38
- * change resume function default off. because use huge memory.
39
- * default max_retry_count 20 to 30 because resume function change off.
40
-
41
- === 0.7.2 2010-01-29
42
- * mod bug if directory name is started '-'
43
- * dereese use memory
44
-
45
- === 0.8.1 2010-02-11
46
- * mod bug if directory name is same , that can't restore(because it was not backuped).
47
- * change memory to sqlite3.
48
- * add config temporary. temporary is directory for temporary file
49
- * resume is mandatory.
50
-
51
- === 0.8.2 2010-02-11
52
- * remove dependency sqlite3 from Rakefile. for that reazon you should install sqlite3 manually.
53
- gem install sqlite3
54
-
55
- === 0.8.3 2010-02-12
56
- * change dependency gem sqlite3 to sqlite3-ruby
57
-
58
- === 0.8.4 2010-02-13
59
- * mod bug if directory name is so long,backup is failed.
60
- * mod bug temporary file was remained.
61
-
62
- === 0.8.5 2010-02-15
63
- * mod bug if symbolic link was differed before, backup is failed.
64
- * tar command output information level.
65
-
66
- === 0.8.6 2010-02-17
67
- * add GC.start each directory send.
68
- * change resume timing to each 10 send times. before each 10 directory
1
+ === 0.8.7 2011-12-30
2
+ * Jeweler
3
+ * Time object store integer in sqlite3 because time object couldn't store.
4
+
5
+ === 0.8.6 2010-02-17
6
+ * add GC.start each directory send.
7
+ * change resume timing to each 10 send times. before each 10 directory
8
+
9
+ === 0.8.5 2010-02-15
10
+ * mod bug if symbolic link was differed before, backup is failed.
11
+ * tar command output information level.
12
+
13
+ === 0.8.4 2010-02-13
14
+ * mod bug if directory name is so long,backup is failed.
15
+ * mod bug temporary file was remained.
16
+
17
+ === 0.8.3 2010-02-12
18
+ * change dependency gem sqlite3 to sqlite3-ruby
19
+
20
+ === 0.8.2 2010-02-11
21
+ * remove dependency sqlite3 from Rakefile. for that reazon you should install sqlite3 manually.
22
+ gem install sqlite3
23
+
24
+ === 0.8.1 2010-02-11
25
+ * mod bug if directory name is same , that can't restore(because it was not backuped).
26
+ * change memory to sqlite3.
27
+ * add config temporary. temporary is directory for temporary file
28
+ * resume is mandatory.
29
+
30
+ === 0.7.2 2010-01-29
31
+ * mod bug if directory name is started '-'
32
+ * dereese use memory
33
+
34
+ === 0.7.01 2010-01-27
35
+ * mod bug if passward is not set. very sorry.
36
+ * change resume function default off. because use huge memory.
37
+ * default max_retry_count 20 to 30 because resume function change off.
38
+
39
+ === 0.6.10 2010-01-25
40
+ * mod bug if directory name has '#'
41
+
42
+ === 0.6.9 2010-01-20
43
+ * modify problem for backup taget is huge,memory is burned out
44
+ * default max_retry_count 10 to 20
45
+
46
+ === 0.6.8 2010-01-19
47
+ * default log level debug to info
48
+
49
+ === 0.6.7 2010-01-19
50
+ * default max_retry_count 6 to 10
51
+ * add config log_level
52
+
53
+ === 0.6.6 2010-01-19
54
+ * add config max_retry_count
55
+ * if ocurred "Connection reset by peer",retry max_retry_count times. default 6 waiting (30*try_count) second next post.
56
+ * show http://scie.nti.st/2008/3/14/amazon-s3-and-connection-reset-by-peer
57
+ * don't use raise,change exit and error log
58
+ * config BUFESIZE to buffer_size
59
+ * mod bug if directory name has '\'
60
+
61
+ === 0.6.4 2010-01-18
62
+ * mod bug if directory name has non english and shell special char
63
+ * retry 5 times if data post fails.
64
+
65
+ === 0.6.3 2010-01-16
66
+ * mod Access Error if the bucket was not found
67
+ * mod bug if directory name has white space
68
+
69
+ === 0.0.1 2009-10-21
70
+
71
+ * 1 major enhancement:
72
+ * Initial release
data/Gemfile ADDED
@@ -0,0 +1,14 @@
1
+ source "http://rubygems.org"
2
+ # Add dependencies required to use your gem here.
3
+ # Example:
4
+ # gem "activesupport", ">= 2.3.5"
5
+ gem "aws-s3"
6
+ gem "sqlite3-ruby"
7
+ # Add dependencies to develop your gem here.
8
+ # Include everything needed to run rake, tests, features, etc.
9
+ group :development do
10
+ gem "rspec", "~> 2.3.0"
11
+ gem "bundler", "~> 1.0.0"
12
+ gem "jeweler", "~> 1.6.4"
13
+ gem "rcov", ">= 0"
14
+ end
data/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2011 Takeshi Morita
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile CHANGED
@@ -1,26 +1,49 @@
1
- require 'rubygems'
2
- gem 'hoe', '>= 2.1.0'
3
- require 'hoe'
4
- require 'fileutils'
5
- require './lib/s3backup'
6
-
7
- Hoe.plugin :newgem
8
- # Hoe.plugin :website
9
- # Hoe.plugin :cucumberfeatures
10
-
11
- # Generate all the Rake tasks
12
- # Run 'rake -T' to see list of generated tasks (from gem root directory)
13
- $hoe = Hoe.spec 's3backup' do
14
- self.developer 'Takeshi Morita', 'morita@ibrains.co.jp'
15
- self.post_install_message = 'PostInstall.txt' # TODO remove if post-install message not required
16
- self.rubyforge_name = self.name # TODO this is default value
17
- self.extra_deps << ['aws-s3','>= 0.6.2']
18
- self.extra_deps << ['sqlite3-ruby']
19
- end
20
-
21
- require 'newgem/tasks'
22
- Dir['tasks/**/*.rake'].each { |t| load t }
23
-
24
- # TODO - want other tests/tasks run by default? Add them to the list
25
- # remove_task :default
26
- # task :default => [:spec, :features]
1
+ # encoding: utf-8
2
+
3
+ require 'rubygems'
4
+ require 'bundler'
5
+ begin
6
+ Bundler.setup(:default, :development)
7
+ rescue Bundler::BundlerError => e
8
+ $stderr.puts e.message
9
+ $stderr.puts "Run `bundle install` to install missing gems"
10
+ exit e.status_code
11
+ end
12
+ require 'rake'
13
+
14
+ require 'jeweler'
15
+ Jeweler::Tasks.new do |gem|
16
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
+ gem.name = "s3backup"
18
+ gem.homepage = "http://github.com/takeshy/s3backup"
19
+ gem.license = "MIT"
20
+ gem.summary = %Q{backup tool to Amazon S3 with compressed.}
21
+ gem.description = %Q{backup tool to Amazon S3 with compressed and crypt.}
22
+ gem.email = "laten@nifty.com"
23
+ gem.authors = ["Takeshi Morita"]
24
+ # dependencies defined in Gemfile
25
+ end
26
+ Jeweler::RubygemsDotOrgTasks.new
27
+
28
+ require 'rspec/core'
29
+ require 'rspec/core/rake_task'
30
+ RSpec::Core::RakeTask.new(:spec) do |spec|
31
+ spec.pattern = FileList['spec/**/*_spec.rb']
32
+ end
33
+
34
+ RSpec::Core::RakeTask.new(:rcov) do |spec|
35
+ spec.pattern = 'spec/**/*_spec.rb'
36
+ spec.rcov = true
37
+ end
38
+
39
+ task :default => :spec
40
+
41
+ require 'rake/rdoctask'
42
+ Rake::RDocTask.new do |rdoc|
43
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
44
+
45
+ rdoc.rdoc_dir = 'rdoc'
46
+ rdoc.title = "s3backup #{version}"
47
+ rdoc.rdoc_files.include('README*')
48
+ rdoc.rdoc_files.include('lib/**/*.rb')
49
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.8.7
data/bin/s3backup CHANGED
@@ -4,7 +4,6 @@
4
4
  # Copyright (c) 2009. All rights reserved.
5
5
 
6
6
  require 'rubygems'
7
- require File.expand_path(File.dirname(__FILE__) + "/../lib/s3backup")
8
- require "s3backup/cli"
7
+ require "s3backup"
9
8
 
10
9
  S3backup::CLI.execute(STDOUT, ARGV)
data/lib/s3backup.rb CHANGED
@@ -1,5 +1,11 @@
1
- $:.unshift(File.dirname(__FILE__)) unless
2
- $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
1
+ require 's3backup/backup'
2
+ require 's3backup/cli'
3
+ require 's3backup/crypt'
4
+ require 's3backup/manager'
5
+ require 's3backup/restore'
6
+ require 's3backup/restore'
7
+ require 's3backup/s3log'
8
+ require 's3backup/s3wrapper'
9
+ require 's3backup/tree_info'
3
10
  module S3backup
4
- VERSION = '0.8.6'
5
11
  end
@@ -1,6 +1,3 @@
1
- require 's3backup/s3wrapper'
2
- require 's3backup/s3log'
3
- require 's3backup/manager'
4
1
  module S3backup
5
2
  class Backup
6
3
  def initialize(config)
data/lib/s3backup/cli.rb CHANGED
@@ -1,7 +1,5 @@
1
1
  require 'optparse'
2
2
  require 'yaml'
3
- require 's3backup/s3log'
4
-
5
3
  module S3backup
6
4
  class CLI
7
5
  DEFAULT_CONFIG='./backup.yml'
@@ -52,7 +50,7 @@ module S3backup
52
50
  S3log.set_logfile(File.open(options[:log],"a"))
53
51
  end
54
52
  if options[:restore]
55
- require 's3backup/restore'
53
+ FileUtils.mkdir_p(options[:output_dir])
56
54
  if !File.directory?(options[:output_dir])
57
55
  S3log.error("output directory #{options[:output_dir]} is not exist.")
58
56
  exit(-1)
@@ -60,7 +58,6 @@ module S3backup
60
58
  rt = Restore.new(options[:output_dir],YAML.load_file(options[:config_file]))
61
59
  rt.start
62
60
  else
63
- require 's3backup/backup'
64
61
  bk = Backup.new(YAML.load_file(options[:config_file]))
65
62
  bk.start
66
63
  end
@@ -1,9 +1,6 @@
1
1
  require 'cgi'
2
2
  require 'time'
3
3
  require 'fileutils'
4
- require 's3backup/s3log'
5
- require 's3backup/tree_info'
6
- require 's3backup/crypt'
7
4
  module S3backup
8
5
  class Manager
9
6
  DEFAULT_BUF_READ_SIZE=1024*1024*32
@@ -292,7 +289,7 @@ module S3backup
292
289
  dir_len = k.length
293
290
  relative_path = k.slice(top_dir_len,dir_len - top_dir_len)
294
291
  dir = output_dir + relative_path
295
- File.utime(now,Time.parse(v[:mtime]),dir)
292
+ File.utime(now,Time.at(v[:mtime]),dir)
296
293
  end
297
294
  }
298
295
  end
@@ -1,7 +1,4 @@
1
1
  require 'sqlite3'
2
- require 's3backup/s3wrapper'
3
- require 's3backup/s3log'
4
- require 's3backup/manager'
5
2
  module S3backup
6
3
  class Restore
7
4
  def initialize(output_dir,config)
@@ -29,7 +29,7 @@ module S3backup
29
29
  name = row[1]
30
30
  if File.basename(name) == File.basename(p_name)
31
31
  sql = "insert into file(name,size,mtime,directory_id) values (:name, :size, :mtime,:directory_id)"
32
- @db.execute(sql,:name=>"zetteiarienainamae#{id}",:size=>0,:mtime =>0,:directory_id=>p_id)
32
+ @db.execute(sql,:name=>"absolutely_no_exist_file_name#{id}",:size=>0,:mtime =>0,:directory_id=>p_id)
33
33
  end
34
34
  check_dirs(id,name)
35
35
  end
@@ -38,7 +38,7 @@ module S3backup
38
38
  file_map[:directory].keys().sort{|a,b| a<=>b}.each do |key|
39
39
  file_at = file_map[:directory][key]
40
40
  sql = "insert into directory(name,mtime) values (:name, :mtime)"
41
- @db.execute(sql,:name=>key,:mtime => file_at[:mtime] )
41
+ @db.execute(sql,:name=>key,:mtime => file_at[:mtime].to_i )
42
42
  end
43
43
  @db.execute('select id,name from directory' ) do |row|
44
44
  dir_id = row[0].to_i
@@ -66,7 +66,7 @@ module S3backup
66
66
  next
67
67
  end
68
68
  sql = "insert into file(name,size,mtime,directory_id) values (:name, :size, :mtime,:directory_id)"
69
- @db.execute(sql,:name=>key,:size=>file_at[:size],:mtime => file_at[:date], :directory_id=>dir_id)
69
+ @db.execute(sql,:name=>key,:size=>file_at[:size],:mtime => file_at[:date].to_i, :directory_id=>dir_id)
70
70
  end
71
71
  file_map[:symlink].each do |key,val|
72
72
  file_at = file_map[:symlink][key]
@@ -94,7 +94,7 @@ module S3backup
94
94
  make_table
95
95
  stat = File.stat(opt[:directory])
96
96
  sql = "insert into directory(name,mtime) values (:name, :mtime)"
97
- @db.execute(sql,:name=>opt[:directory],:mtime =>stat.mtime)
97
+ @db.execute(sql,:name=>opt[:directory],:mtime =>stat.mtime.to_i)
98
98
  dir_id = nil
99
99
  @db.execute('select id from directory where name=?',opt[:directory]) do |row|
100
100
  #rowは結果の配列
@@ -115,7 +115,7 @@ module S3backup
115
115
  if File.directory?(name)
116
116
  stat = File.stat(name)
117
117
  sql = "insert into directory(name,mtime,parent_directory_id) values (:name, :mtime,:parent_directory_id)"
118
- @db.execute(sql,:name=>name,:mtime =>stat.mtime,:parent_directory_id=>id)
118
+ @db.execute(sql,:name=>name,:mtime =>stat.mtime.to_i,:parent_directory_id=>id)
119
119
  dir_id = nil
120
120
  @db.execute('select id from directory where name=?',name) do |row|
121
121
  #rowは結果の配列
@@ -128,7 +128,7 @@ module S3backup
128
128
  else
129
129
  stat = File.stat(name)
130
130
  sql = "insert into file(name,size,mtime,directory_id) values (:name, :size, :mtime,:directory_id)"
131
- @db.execute(sql,:name=>name,:size=>stat.size,:mtime => stat.mtime, :directory_id=>id)
131
+ @db.execute(sql,:name=>name,:size=>stat.size,:mtime => stat.mtime.to_i, :directory_id=>id)
132
132
  end
133
133
  end
134
134
  end
@@ -145,16 +145,16 @@ module S3backup
145
145
  @db.execute("delete from symlink where directory_id = #{id}")
146
146
 
147
147
  @db.execute("update directory set mtime = ?,parent_directory_id = ?" +
148
- " where id = ?",dir_info[:mtime],p_id,id)
148
+ " where id = ?",dir_info[:mtime].to_i,p_id,id)
149
149
  else
150
150
  @db.execute("insert into directory(name,mtime,parent_directory_id) values(?,?,?)",
151
- dir_info[:name],dir_info[:mtime],p_id)
151
+ dir_info[:name],dir_info[:mtime].to_i,p_id)
152
152
  result = @db.execute("select id from directory where name = ?",dir_info[:name])
153
153
  id = result[0][0]
154
154
  end
155
155
  dir_info[:files].each do |f|
156
156
  @db.execute("insert into file(name,mtime,size,directory_id) values(?,?,?,?)",
157
- f[:name],f[:mtime],f[:size],id)
157
+ f[:name],f[:mtime].to_i,f[:size],id)
158
158
  end
159
159
  dir_info[:links].each do |f|
160
160
  @db.execute("insert into symlink(name,source,directory_id) values(?,?,?)",f[:name],f[:source],id)
@@ -164,9 +164,9 @@ module S3backup
164
164
  @db.execute('select id,name,mtime from directory where parent_directory_id = ?',p_id) do |row|
165
165
  id = row[0]
166
166
  name = row[1]
167
- mtime = row[2]
167
+ mtime = row[2].to_i
168
168
  tree[level] = {} unless tree[level]
169
- tree[level][name] = {:mtime=>mtime}
169
+ tree[level][name] = {:mtime=>mtime.to_i}
170
170
  get_level_directory(tree,id,level+1)
171
171
  end
172
172
  end
@@ -179,7 +179,7 @@ module S3backup
179
179
  end
180
180
  id = result[0][0]
181
181
  name = result[0][1]
182
- mtime = result[0][2]
182
+ mtime = result[0][2].to_i
183
183
  tree[0] = {}
184
184
  tree[0][name]={:mtime=>mtime}
185
185
  get_level_directory(tree,id,1)
@@ -192,7 +192,7 @@ module S3backup
192
192
  break if result.length == 0
193
193
  now_id = result[0][0].to_i
194
194
  name = result[0][1]
195
- mtime = result[0][2]
195
+ mtime = result[0][2].to_i
196
196
  files = []
197
197
  links = []
198
198
  t_result = target.db.execute("select id,name from directory where name = ?",name)
@@ -210,13 +210,13 @@ module S3backup
210
210
  end
211
211
  file_infos = []
212
212
  files.each do |f|
213
- file_infos.push({:name=>f[0],:size=>f[1],:mtime=>f[2]})
213
+ file_infos.push({:name=>f[0],:size=>f[1],:mtime=>f[2].to_i})
214
214
  end
215
215
  sym_infos = []
216
216
  links.each do |l|
217
217
  sym_infos.push({:name=>l[0],:source=>l[1]})
218
218
  end
219
- yield({:name => name,:mtime=>mtime,:files => file_infos ,:links => sym_infos})
219
+ yield({:name => name,:mtime=>mtime.to_i,:files => file_infos ,:links => sym_infos})
220
220
  end
221
221
  end
222
222
  def remove(target)
data/s3backup.gemspec ADDED
@@ -0,0 +1,74 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "s3backup"
8
+ s.version = "0.8.7"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Takeshi Morita"]
12
+ s.date = "2011-12-30"
13
+ s.description = "backup tool to Amazon S3 with compressed and crypt."
14
+ s.email = "laten@nifty.com"
15
+ s.executables = ["s3backup"]
16
+ s.extra_rdoc_files = [
17
+ "ChangeLog",
18
+ "LICENSE.txt",
19
+ "README.rdoc"
20
+ ]
21
+ s.files = [
22
+ "ChangeLog",
23
+ "Gemfile",
24
+ "LICENSE.txt",
25
+ "README.rdoc",
26
+ "Rakefile",
27
+ "VERSION",
28
+ "backup.yml",
29
+ "bin/s3backup",
30
+ "lib/s3backup.rb",
31
+ "lib/s3backup/backup.rb",
32
+ "lib/s3backup/cli.rb",
33
+ "lib/s3backup/crypt.rb",
34
+ "lib/s3backup/manager.rb",
35
+ "lib/s3backup/restore.rb",
36
+ "lib/s3backup/s3log.rb",
37
+ "lib/s3backup/s3wrapper.rb",
38
+ "lib/s3backup/tree_info.rb",
39
+ "s3backup.gemspec"
40
+ ]
41
+ s.homepage = "http://github.com/takeshy/s3backup"
42
+ s.licenses = ["MIT"]
43
+ s.require_paths = ["lib"]
44
+ s.rubygems_version = "1.8.11"
45
+ s.summary = "backup tool to Amazon S3 with compressed."
46
+
47
+ if s.respond_to? :specification_version then
48
+ s.specification_version = 3
49
+
50
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
51
+ s.add_runtime_dependency(%q<aws-s3>, [">= 0"])
52
+ s.add_runtime_dependency(%q<sqlite3-ruby>, [">= 0"])
53
+ s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
54
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
55
+ s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
56
+ s.add_development_dependency(%q<rcov>, [">= 0"])
57
+ else
58
+ s.add_dependency(%q<aws-s3>, [">= 0"])
59
+ s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
60
+ s.add_dependency(%q<rspec>, ["~> 2.3.0"])
61
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
62
+ s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
63
+ s.add_dependency(%q<rcov>, [">= 0"])
64
+ end
65
+ else
66
+ s.add_dependency(%q<aws-s3>, [">= 0"])
67
+ s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
68
+ s.add_dependency(%q<rspec>, ["~> 2.3.0"])
69
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
70
+ s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
71
+ s.add_dependency(%q<rcov>, [">= 0"])
72
+ end
73
+ end
74
+
metadata CHANGED
@@ -1,84 +1,98 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: s3backup
3
- version: !ruby/object:Gem::Version
4
- version: 0.8.6
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.8.7
5
+ prerelease:
5
6
  platform: ruby
6
- authors:
7
+ authors:
7
8
  - Takeshi Morita
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
-
12
- date: 2010-02-17 00:00:00 +09:00
13
- default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2011-12-30 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: aws-s3
16
+ requirement: &14516100 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
17
22
  type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: 0.6.2
24
- version:
25
- - !ruby/object:Gem::Dependency
23
+ prerelease: false
24
+ version_requirements: *14516100
25
+ - !ruby/object:Gem::Dependency
26
26
  name: sqlite3-ruby
27
+ requirement: &14514160 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
27
33
  type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: "0"
34
- version:
35
- - !ruby/object:Gem::Dependency
36
- name: rubyforge
34
+ prerelease: false
35
+ version_requirements: *14514160
36
+ - !ruby/object:Gem::Dependency
37
+ name: rspec
38
+ requirement: &14513300 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: 2.3.0
37
44
  type: :development
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- version: 2.0.3
44
- version:
45
- - !ruby/object:Gem::Dependency
46
- name: gemcutter
45
+ prerelease: false
46
+ version_requirements: *14513300
47
+ - !ruby/object:Gem::Dependency
48
+ name: bundler
49
+ requirement: &14512300 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 1.0.0
47
55
  type: :development
48
- version_requirement:
49
- version_requirements: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- version: 0.3.0
54
- version:
55
- - !ruby/object:Gem::Dependency
56
- name: hoe
56
+ prerelease: false
57
+ version_requirements: *14512300
58
+ - !ruby/object:Gem::Dependency
59
+ name: jeweler
60
+ requirement: &14527620 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: 1.6.4
57
66
  type: :development
58
- version_requirement:
59
- version_requirements: !ruby/object:Gem::Requirement
60
- requirements:
61
- - - ">="
62
- - !ruby/object:Gem::Version
63
- version: 2.5.0
64
- version:
65
- description: S3Backup is a backup tool to local directory to Amazon S3.
66
- email:
67
- - morita@ibrains.co.jp
68
- executables:
67
+ prerelease: false
68
+ version_requirements: *14527620
69
+ - !ruby/object:Gem::Dependency
70
+ name: rcov
71
+ requirement: &14526560 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *14526560
80
+ description: backup tool to Amazon S3 with compressed and crypt.
81
+ email: laten@nifty.com
82
+ executables:
69
83
  - s3backup
70
84
  extensions: []
71
-
72
- extra_rdoc_files:
73
- - History.txt
74
- - Manifest.txt
75
- - PostInstall.txt
76
- files:
77
- - History.txt
78
- - Manifest.txt
79
- - PostInstall.txt
85
+ extra_rdoc_files:
86
+ - ChangeLog
87
+ - LICENSE.txt
88
+ - README.rdoc
89
+ files:
90
+ - ChangeLog
91
+ - Gemfile
92
+ - LICENSE.txt
80
93
  - README.rdoc
81
94
  - Rakefile
95
+ - VERSION
82
96
  - backup.yml
83
97
  - bin/s3backup
84
98
  - lib/s3backup.rb
@@ -90,42 +104,33 @@ files:
90
104
  - lib/s3backup/s3log.rb
91
105
  - lib/s3backup/s3wrapper.rb
92
106
  - lib/s3backup/tree_info.rb
93
- - script/console
94
- - script/destroy
95
- - script/generate
96
- - spec/s3backup_cli_spec.rb
97
- - spec/s3backup_spec.rb
98
- - spec/spec.opts
99
- - spec/spec_helper.rb
100
- - tasks/rspec.rake
101
- has_rdoc: true
102
- homepage: http://rubyforge.org/projects/s3backup/
103
- licenses: []
104
-
105
- post_install_message: PostInstall.txt
106
- rdoc_options:
107
- - --main
108
- - README.rdoc
109
- require_paths:
107
+ - s3backup.gemspec
108
+ homepage: http://github.com/takeshy/s3backup
109
+ licenses:
110
+ - MIT
111
+ post_install_message:
112
+ rdoc_options: []
113
+ require_paths:
110
114
  - lib
111
- required_ruby_version: !ruby/object:Gem::Requirement
112
- requirements:
113
- - - ">="
114
- - !ruby/object:Gem::Version
115
- version: "0"
116
- version:
117
- required_rubygems_version: !ruby/object:Gem::Requirement
118
- requirements:
119
- - - ">="
120
- - !ruby/object:Gem::Version
121
- version: "0"
122
- version:
115
+ required_ruby_version: !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ segments:
122
+ - 0
123
+ hash: -2878226757988658176
124
+ required_rubygems_version: !ruby/object:Gem::Requirement
125
+ none: false
126
+ requirements:
127
+ - - ! '>='
128
+ - !ruby/object:Gem::Version
129
+ version: '0'
123
130
  requirements: []
124
-
125
- rubyforge_project: s3backup
126
- rubygems_version: 1.3.5
131
+ rubyforge_project:
132
+ rubygems_version: 1.8.11
127
133
  signing_key:
128
134
  specification_version: 3
129
- summary: S3Backup is a backup tool to local directory to Amazon S3.
135
+ summary: backup tool to Amazon S3 with compressed.
130
136
  test_files: []
131
-
data/Manifest.txt DELETED
@@ -1,24 +0,0 @@
1
- History.txt
2
- Manifest.txt
3
- PostInstall.txt
4
- README.rdoc
5
- Rakefile
6
- backup.yml
7
- bin/s3backup
8
- lib/s3backup.rb
9
- lib/s3backup/backup.rb
10
- lib/s3backup/cli.rb
11
- lib/s3backup/crypt.rb
12
- lib/s3backup/manager.rb
13
- lib/s3backup/restore.rb
14
- lib/s3backup/s3log.rb
15
- lib/s3backup/s3wrapper.rb
16
- lib/s3backup/tree_info.rb
17
- script/console
18
- script/destroy
19
- script/generate
20
- spec/s3backup_cli_spec.rb
21
- spec/s3backup_spec.rb
22
- spec/spec.opts
23
- spec/spec_helper.rb
24
- tasks/rspec.rake
data/PostInstall.txt DELETED
@@ -1,7 +0,0 @@
1
-
2
- For more information on s3backup, see http://s3backup.rubyforge.org
3
-
4
- NOTE: Change this information in PostInstall.txt
5
- You can also delete it if you don't want it.
6
-
7
-
data/script/console DELETED
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # File: script/console
3
- irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
4
-
5
- libs = " -r irb/completion"
6
- # Perhaps use a console_lib to store any extra methods I may want available in the cosole
7
- # libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
8
- libs << " -r #{File.dirname(__FILE__) + '/../lib/s3backup.rb'}"
9
- puts "Loading s3backup gem"
10
- exec "#{irb} #{libs} --simple-prompt"
data/script/destroy DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
- APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
-
4
- begin
5
- require 'rubigen'
6
- rescue LoadError
7
- require 'rubygems'
8
- require 'rubigen'
9
- end
10
- require 'rubigen/scripts/destroy'
11
-
12
- ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
- RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
- RubiGen::Scripts::Destroy.new.run(ARGV)
data/script/generate DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
- APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
-
4
- begin
5
- require 'rubigen'
6
- rescue LoadError
7
- require 'rubygems'
8
- require 'rubigen'
9
- end
10
- require 'rubigen/scripts/generate'
11
-
12
- ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
- RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
- RubiGen::Scripts::Generate.new.run(ARGV)
@@ -1,15 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
- require 's3backup/cli'
3
-
4
- describe S3backup::CLI, "execute" do
5
- before(:each) do
6
- @stdout_io = StringIO.new
7
- S3backup::CLI.execute(@stdout_io, [])
8
- @stdout_io.rewind
9
- @stdout = @stdout_io.read
10
- end
11
-
12
- it "should print default output" do
13
- @stdout.should =~ /To update this executable/
14
- end
15
- end
@@ -1,11 +0,0 @@
1
- require File.dirname(__FILE__) + '/spec_helper.rb'
2
-
3
- # Time to add your specs!
4
- # http://rspec.info/
5
- describe "Place your specs here" do
6
-
7
- it "find this spec in spec directory" do
8
- # violated "Be sure to write your specs"
9
- end
10
-
11
- end
data/spec/spec.opts DELETED
@@ -1 +0,0 @@
1
- --colour
data/spec/spec_helper.rb DELETED
@@ -1,10 +0,0 @@
1
- begin
2
- require 'spec'
3
- rescue LoadError
4
- require 'rubygems' unless ENV['NO_RUBYGEMS']
5
- gem 'rspec'
6
- require 'spec'
7
- end
8
-
9
- $:.unshift(File.dirname(__FILE__) + '/../lib')
10
- require 's3backup'
data/tasks/rspec.rake DELETED
@@ -1,21 +0,0 @@
1
- begin
2
- require 'spec'
3
- rescue LoadError
4
- require 'rubygems' unless ENV['NO_RUBYGEMS']
5
- require 'spec'
6
- end
7
- begin
8
- require 'spec/rake/spectask'
9
- rescue LoadError
10
- puts <<-EOS
11
- To use rspec for testing you must install rspec gem:
12
- gem install rspec
13
- EOS
14
- exit(0)
15
- end
16
-
17
- desc "Run the specs under spec/models"
18
- Spec::Rake::SpecTask.new do |t|
19
- t.spec_opts = ['--options', "spec/spec.opts"]
20
- t.spec_files = FileList['spec/**/*_spec.rb']
21
- end