jeremylightsmith-piston 1.9.3
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +6 -0
- data/History.txt +6 -0
- data/License.txt +20 -0
- data/Manifest.txt +86 -0
- data/README.txt +136 -0
- data/Rakefile +4 -0
- data/bin/piston +5 -0
- data/config/hoe.rb +76 -0
- data/config/requirements.rb +18 -0
- data/lib/piston.rb +18 -0
- data/lib/piston/cli.rb +279 -0
- data/lib/piston/commands.rb +4 -0
- data/lib/piston/commands/base.rb +44 -0
- data/lib/piston/commands/import.rb +69 -0
- data/lib/piston/commands/info.rb +14 -0
- data/lib/piston/commands/lock_unlock.rb +21 -0
- data/lib/piston/commands/update.rb +28 -0
- data/lib/piston/git.rb +12 -0
- data/lib/piston/git/client.rb +77 -0
- data/lib/piston/git/commit.rb +70 -0
- data/lib/piston/git/repository.rb +63 -0
- data/lib/piston/git/working_copy.rb +63 -0
- data/lib/piston/repository.rb +57 -0
- data/lib/piston/revision.rb +48 -0
- data/lib/piston/svn.rb +14 -0
- data/lib/piston/svn/client.rb +88 -0
- data/lib/piston/svn/repository.rb +67 -0
- data/lib/piston/svn/revision.rb +74 -0
- data/lib/piston/svn/working_copy.rb +55 -0
- data/lib/piston/version.rb +9 -0
- data/lib/piston/working_copy.rb +129 -0
- data/lib/subclass_responsibility_error.rb +2 -0
- data/log/.gitignore +0 -0
- data/samples/common.rb +19 -0
- data/samples/import_git_git.rb +39 -0
- data/samples/import_git_svn.rb +36 -0
- data/samples/import_svn_git.rb +29 -0
- data/samples/import_svn_svn.rb +24 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/script/txt2html +74 -0
- data/setup.rb +1585 -0
- data/tasks/deployment.rake +40 -0
- data/tasks/environment.rake +7 -0
- data/tasks/samples.rake +6 -0
- data/tasks/test.rake +30 -0
- data/tasks/website.rake +17 -0
- data/test/integration/test_import_git_git.rb +96 -0
- data/test/integration/test_import_git_svn.rb +131 -0
- data/test/integration/test_import_svn_git.rb +52 -0
- data/test/integration/test_import_svn_svn.rb +43 -0
- data/test/integration_helpers.rb +33 -0
- data/test/test_helper.rb +56 -0
- data/test/unit/git/commit/test_checkout.rb +30 -0
- data/test/unit/git/commit/test_each.rb +36 -0
- data/test/unit/git/commit/test_rememberance.rb +20 -0
- data/test/unit/git/commit/test_validation.rb +33 -0
- data/test/unit/git/repository/test_at.rb +22 -0
- data/test/unit/git/repository/test_basename.rb +12 -0
- data/test/unit/git/repository/test_branchanme.rb +15 -0
- data/test/unit/git/repository/test_guessing.rb +32 -0
- data/test/unit/git/working_copy/test_copying.rb +28 -0
- data/test/unit/git/working_copy/test_creation.rb +26 -0
- data/test/unit/git/working_copy/test_existence.rb +21 -0
- data/test/unit/git/working_copy/test_finalization.rb +18 -0
- data/test/unit/git/working_copy/test_guessing.rb +34 -0
- data/test/unit/git/working_copy/test_rememberance.rb +25 -0
- data/test/unit/svn/repository/test_at.rb +18 -0
- data/test/unit/svn/repository/test_basename.rb +24 -0
- data/test/unit/svn/repository/test_guessing.rb +45 -0
- data/test/unit/svn/revision/test_checkout.rb +27 -0
- data/test/unit/svn/revision/test_each.rb +21 -0
- data/test/unit/svn/revision/test_rememberance.rb +42 -0
- data/test/unit/svn/revision/test_validation.rb +49 -0
- data/test/unit/svn/working_copy/test_copying.rb +29 -0
- data/test/unit/svn/working_copy/test_creation.rb +19 -0
- data/test/unit/svn/working_copy/test_existence.rb +26 -0
- data/test/unit/svn/working_copy/test_finalization.rb +21 -0
- data/test/unit/svn/working_copy/test_guessing.rb +17 -0
- data/test/unit/svn/working_copy/test_rememberance.rb +26 -0
- data/test/unit/test_import.rb +13 -0
- data/test/unit/test_info.rb +36 -0
- data/test/unit/test_lock_unlock.rb +46 -0
- data/test/unit/test_repository.rb +50 -0
- data/test/unit/test_revision.rb +30 -0
- data/test/unit/working_copy/test_guessing.rb +34 -0
- data/test/unit/working_copy/test_info.rb +13 -0
- data/test/unit/working_copy/test_rememberance.rb +48 -0
- data/test/unit/working_copy/test_validate.rb +68 -0
- data/website/index.html +11 -0
- data/website/index.txt +39 -0
- data/website/javascripts/rounded_corners_lite.inc.js +285 -0
- data/website/stylesheets/screen.css +138 -0
- data/website/template.rhtml +48 -0
- metadata +228 -0
@@ -0,0 +1,40 @@
|
|
1
|
+
desc 'Release the website and new gem version'
|
2
|
+
task :deploy => [:check_version, :website, :release] do
|
3
|
+
puts "Remember to create SVN tag:"
|
4
|
+
puts "svn copy svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/trunk " +
|
5
|
+
"svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/tags/REL-#{VERS} "
|
6
|
+
puts "Suggested comment:"
|
7
|
+
puts "Tagging release #{CHANGES}"
|
8
|
+
end
|
9
|
+
|
10
|
+
desc 'Runs tasks website_generate and install_gem as a local deployment of the gem'
|
11
|
+
task :local_deploy => [:website_generate, :install_gem]
|
12
|
+
|
13
|
+
task :check_version do
|
14
|
+
unless ENV['VERSION']
|
15
|
+
puts 'Must pass a VERSION=x.y.z release version'
|
16
|
+
exit
|
17
|
+
end
|
18
|
+
unless ENV['VERSION'] == VERS
|
19
|
+
puts "Please update your version.rb to match the release version, currently #{VERS}"
|
20
|
+
exit
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
desc 'Install the package as a gem, without generating documentation(ri/rdoc)'
|
25
|
+
task :install_gem_no_doc => [:clean, :package] do
|
26
|
+
sh "#{'sudo ' unless Hoe::WINDOZE }gem install pkg/*.gem --no-rdoc --no-ri"
|
27
|
+
end
|
28
|
+
|
29
|
+
namespace :manifest do
|
30
|
+
desc 'Recreate Manifest.txt to include ALL files'
|
31
|
+
task :refresh do
|
32
|
+
`rake check_manifest | patch -p0 > Manifest.txt`
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
desc 'Generate Gemspec file for GitHub'
|
37
|
+
task :refresh_gemspec do
|
38
|
+
gemspec = `rake debug_gem`.split("\n")[1..-1].join("\n")
|
39
|
+
File.open("piston.gemspec", "w") {|f| f << gemspec }
|
40
|
+
end
|
data/tasks/samples.rake
ADDED
data/tasks/test.rake
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
require "rake/testtask"
|
2
|
+
|
3
|
+
namespace :test do
|
4
|
+
Rake::TestTask.new("units") do |t|
|
5
|
+
t.libs << "test"
|
6
|
+
t.test_files = FileList['test/unit/**/test_*.rb']
|
7
|
+
t.verbose = true
|
8
|
+
t.warning = false
|
9
|
+
end
|
10
|
+
|
11
|
+
Rake::TestTask.new("integration") do |t|
|
12
|
+
t.libs << "test"
|
13
|
+
t.test_files = FileList['test/integration/**/test_*.rb']
|
14
|
+
t.verbose = true
|
15
|
+
t.warning = false
|
16
|
+
end
|
17
|
+
|
18
|
+
Rake::TestTask.new("recent") do |t|
|
19
|
+
t.libs << "test"
|
20
|
+
t.verbose = true
|
21
|
+
t.warning = false
|
22
|
+
|
23
|
+
# 10 minutes ago
|
24
|
+
cutoff_at = Time.now - 10 * 60
|
25
|
+
|
26
|
+
t.test_files = FileList["test/integration/**/test_*.rb", "test/unit/**/test_*.rb"].select do |path|
|
27
|
+
File.mtime(path) > cutoff_at
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/tasks/website.rake
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
desc 'Generate website files'
|
2
|
+
task :website_generate => :ruby_env do
|
3
|
+
(Dir['website/**/*.txt'] - Dir['website/version*.txt']).each do |txt|
|
4
|
+
sh %{ #{RUBY_APP} script/txt2html #{txt} > #{txt.gsub(/txt$/,'html')} }
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
desc 'Upload website files to rubyforge'
|
9
|
+
task :website_upload do
|
10
|
+
host = "#{rubyforge_username}@rubyforge.org"
|
11
|
+
remote_dir = "/var/www/gforge-projects/#{PATH}/"
|
12
|
+
local_dir = 'website'
|
13
|
+
sh %{rsync -aCv #{local_dir}/ #{host}:#{remote_dir}}
|
14
|
+
end
|
15
|
+
|
16
|
+
desc 'Generate and upload website files'
|
17
|
+
task :website => [:website_generate, :website_upload, :publish_docs]
|
@@ -0,0 +1,96 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/../test_helper"
|
2
|
+
require File.dirname(__FILE__) + "/../integration_helpers"
|
3
|
+
|
4
|
+
class TestImportGitGit < Test::Unit::TestCase
|
5
|
+
attr_reader :root_path, :repos_path, :wc_path
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@root_path = Pathname.new("/tmp/import_git_git")
|
9
|
+
@wc_path = @root_path + "wc"
|
10
|
+
|
11
|
+
root_path.rmtree rescue nil
|
12
|
+
root_path.mkpath
|
13
|
+
|
14
|
+
wc_path.mkpath
|
15
|
+
Dir.chdir(wc_path) do
|
16
|
+
git(:init)
|
17
|
+
File.open(wc_path + "README", "wb") {|f| f.write "Hello World!"}
|
18
|
+
(wc_path + "vendor").mkdir
|
19
|
+
File.open(wc_path + "vendor/.gitignore", "wb") {|f| f.write "*.swp"}
|
20
|
+
git(:add, ".")
|
21
|
+
git(:commit, "-m", "'first commit'")
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def teardown
|
26
|
+
root_path.rmtree rescue nil
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_import
|
30
|
+
piston(:import, "git://github.com/technoweenie/attachment_fu.git", wc_path + "vendor/attachment_fu")
|
31
|
+
|
32
|
+
Dir.chdir(wc_path) do
|
33
|
+
assert_equal STATUS.split("\n").sort, git(:status).split("\n").sort
|
34
|
+
end
|
35
|
+
|
36
|
+
info = YAML.load(File.read(wc_path + "vendor/attachment_fu/.piston.yml"))
|
37
|
+
assert_equal 1, info["format"]
|
38
|
+
assert_equal "git://github.com/technoweenie/attachment_fu.git", info["repository_url"]
|
39
|
+
assert_equal "Piston::Git::Repository", info["repository_class"]
|
40
|
+
|
41
|
+
response = `git-ls-remote git://github.com/technoweenie/attachment_fu.git`
|
42
|
+
head_commit = response.grep(/HEAD/).first.chomp.split(/\s+/).first
|
43
|
+
assert_equal head_commit, info["handler"][Piston::Git::COMMIT]
|
44
|
+
end
|
45
|
+
|
46
|
+
STATUS = %Q(# On branch master
|
47
|
+
# Changes to be committed:
|
48
|
+
# (use "git reset HEAD <file>..." to unstage)
|
49
|
+
#
|
50
|
+
#\tnew file: vendor/attachment_fu/.piston.yml
|
51
|
+
#\tnew file: vendor/attachment_fu/CHANGELOG
|
52
|
+
#\tnew file: vendor/attachment_fu/README
|
53
|
+
#\tnew file: vendor/attachment_fu/Rakefile
|
54
|
+
#\tnew file: vendor/attachment_fu/amazon_s3.yml.tpl
|
55
|
+
#\tnew file: vendor/attachment_fu/init.rb
|
56
|
+
#\tnew file: vendor/attachment_fu/install.rb
|
57
|
+
#\tnew file: vendor/attachment_fu/lib/geometry.rb
|
58
|
+
#\tnew file: vendor/attachment_fu/lib/technoweenie/attachment_fu.rb
|
59
|
+
#\tnew file: vendor/attachment_fu/lib/technoweenie/attachment_fu/backends/db_file_backend.rb
|
60
|
+
#\tnew file: vendor/attachment_fu/lib/technoweenie/attachment_fu/backends/file_system_backend.rb
|
61
|
+
#\tnew file: vendor/attachment_fu/lib/technoweenie/attachment_fu/backends/s3_backend.rb
|
62
|
+
#\tnew file: vendor/attachment_fu/lib/technoweenie/attachment_fu/processors/core_image_processor.rb
|
63
|
+
#\tnew file: vendor/attachment_fu/lib/technoweenie/attachment_fu/processors/gd2_processor.rb
|
64
|
+
#\tnew file: vendor/attachment_fu/lib/technoweenie/attachment_fu/processors/image_science_processor.rb
|
65
|
+
#\tnew file: vendor/attachment_fu/lib/technoweenie/attachment_fu/processors/mini_magick_processor.rb
|
66
|
+
#\tnew file: vendor/attachment_fu/lib/technoweenie/attachment_fu/processors/rmagick_processor.rb
|
67
|
+
#\tnew file: vendor/attachment_fu/test/backends/db_file_test.rb
|
68
|
+
#\tnew file: vendor/attachment_fu/test/backends/file_system_test.rb
|
69
|
+
#\tnew file: vendor/attachment_fu/test/backends/remote/s3_test.rb
|
70
|
+
#\tnew file: vendor/attachment_fu/test/base_attachment_tests.rb
|
71
|
+
#\tnew file: vendor/attachment_fu/test/basic_test.rb
|
72
|
+
#\tnew file: vendor/attachment_fu/test/database.yml
|
73
|
+
#\tnew file: vendor/attachment_fu/test/extra_attachment_test.rb
|
74
|
+
#\tnew file: vendor/attachment_fu/test/fixtures/attachment.rb
|
75
|
+
#\tnew file: vendor/attachment_fu/test/fixtures/files/fake/rails.png
|
76
|
+
#\tnew file: vendor/attachment_fu/test/fixtures/files/foo.txt
|
77
|
+
#\tnew file: vendor/attachment_fu/test/fixtures/files/rails.png
|
78
|
+
#\tnew file: vendor/attachment_fu/test/geometry_test.rb
|
79
|
+
#\tnew file: vendor/attachment_fu/test/processors/core_image_test.rb
|
80
|
+
#\tnew file: vendor/attachment_fu/test/processors/gd2_test.rb
|
81
|
+
#\tnew file: vendor/attachment_fu/test/processors/image_science_test.rb
|
82
|
+
#\tnew file: vendor/attachment_fu/test/processors/mini_magick_test.rb
|
83
|
+
#\tnew file: vendor/attachment_fu/test/processors/rmagick_test.rb
|
84
|
+
#\tnew file: vendor/attachment_fu/test/schema.rb
|
85
|
+
#\tnew file: vendor/attachment_fu/test/test_helper.rb
|
86
|
+
#\tnew file: vendor/attachment_fu/test/validation_test.rb
|
87
|
+
#\tnew file: vendor/attachment_fu/vendor/red_artisan/core_image/filters/color.rb
|
88
|
+
#\tnew file: vendor/attachment_fu/vendor/red_artisan/core_image/filters/effects.rb
|
89
|
+
#\tnew file: vendor/attachment_fu/vendor/red_artisan/core_image/filters/perspective.rb
|
90
|
+
#\tnew file: vendor/attachment_fu/vendor/red_artisan/core_image/filters/quality.rb
|
91
|
+
#\tnew file: vendor/attachment_fu/vendor/red_artisan/core_image/filters/scale.rb
|
92
|
+
#\tnew file: vendor/attachment_fu/vendor/red_artisan/core_image/filters/watermark.rb
|
93
|
+
#\tnew file: vendor/attachment_fu/vendor/red_artisan/core_image/processor.rb
|
94
|
+
#
|
95
|
+
)
|
96
|
+
end
|
@@ -0,0 +1,131 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/../test_helper"
|
2
|
+
require File.dirname(__FILE__) + "/../integration_helpers"
|
3
|
+
|
4
|
+
class TestImportGitSvn < Test::Unit::TestCase
|
5
|
+
attr_reader :root_path, :repos_path, :wc_path
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@root_path = Pathname.new("/tmp/import_git_svn")
|
9
|
+
@repos_path = @root_path + "repos"
|
10
|
+
@wc_path = @root_path + "wc"
|
11
|
+
|
12
|
+
root_path.rmtree rescue nil
|
13
|
+
root_path.mkpath
|
14
|
+
|
15
|
+
svnadmin :create, repos_path
|
16
|
+
svn :checkout, "file://#{repos_path}", wc_path
|
17
|
+
svn :mkdir, wc_path + "trunk", wc_path + "tags", wc_path + "branches", wc_path + "trunk/vendor"
|
18
|
+
svn :commit, wc_path, "--message", "'first commit'"
|
19
|
+
end
|
20
|
+
|
21
|
+
def teardown
|
22
|
+
root_path.rmtree rescue nil
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_import
|
26
|
+
piston(:import, "git://github.com/technoweenie/attachment_fu.git", wc_path + "trunk/vendor/attachment_fu")
|
27
|
+
|
28
|
+
assert_equal ADD_STATUS.split("\n").sort, svn(:status, wc_path + "trunk/vendor").gsub((wc_path + "trunk/").to_s, "").split("\n").sort
|
29
|
+
|
30
|
+
info = YAML.load(File.read(wc_path + "trunk/vendor/attachment_fu/.piston.yml"))
|
31
|
+
assert_equal 1, info["format"]
|
32
|
+
assert_equal "git://github.com/technoweenie/attachment_fu.git", info["repository_url"]
|
33
|
+
assert_equal "Piston::Git::Repository", info["repository_class"]
|
34
|
+
|
35
|
+
response = `git-ls-remote git://github.com/technoweenie/attachment_fu.git`
|
36
|
+
head_commit = response.grep(/HEAD/).first.chomp.split(/\s+/).first
|
37
|
+
assert_equal head_commit, info["handler"][Piston::Git::COMMIT]
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_import_from_branch
|
41
|
+
piston(:import, "--revision", "origin/rewrite", "git://github.com/technoweenie/attachment_fu.git", wc_path + "trunk/vendor/attachment_fu")
|
42
|
+
|
43
|
+
assert File.directory?(wc_path + "trunk/vendor/attachment_fu/vendor"),
|
44
|
+
"Could not find vendor director in attachment_fu imported directory: please check that there still exists a rewrite branch on GitHub AND that the rewrite branch has a vendor/ directory."
|
45
|
+
|
46
|
+
info = YAML.load(File.read(wc_path + "trunk/vendor/attachment_fu/.piston.yml"))
|
47
|
+
assert_equal 1, info["format"]
|
48
|
+
assert_equal "git://github.com/technoweenie/attachment_fu.git", info["repository_url"]
|
49
|
+
assert_equal "Piston::Git::Repository", info["repository_class"]
|
50
|
+
|
51
|
+
response = `git-ls-remote git://github.com/technoweenie/attachment_fu.git`
|
52
|
+
head_commit = response.grep(/refs\/heads\/rewrite/).first.chomp.split(/\s+/).first
|
53
|
+
assert_equal head_commit, info["handler"][Piston::Git::COMMIT]
|
54
|
+
assert_equal "origin/rewrite", info["handler"][Piston::Git::BRANCH]
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_import_from_tag
|
58
|
+
piston(:import, "--revision", "1.9.1", "git://github.com/francois/piston.git", wc_path + "trunk/vendor/piston")
|
59
|
+
|
60
|
+
info = YAML.load(File.read(wc_path + "trunk/vendor/piston/.piston.yml"))
|
61
|
+
assert_equal 1, info["format"]
|
62
|
+
assert_equal "git://github.com/francois/piston.git", info["repository_url"]
|
63
|
+
assert_equal "Piston::Git::Repository", info["repository_class"]
|
64
|
+
|
65
|
+
assert_equal "684301c8b5cc1c95fe1568fb80e8f4da20c2a235", info["handler"][Piston::Git::COMMIT]
|
66
|
+
assert_equal "1.9.1", info["handler"][Piston::Git::BRANCH]
|
67
|
+
end
|
68
|
+
|
69
|
+
ADD_STATUS = %Q(A vendor/attachment_fu
|
70
|
+
A vendor/attachment_fu/test
|
71
|
+
A vendor/attachment_fu/test/test_helper.rb
|
72
|
+
A vendor/attachment_fu/test/processors
|
73
|
+
A vendor/attachment_fu/test/processors/mini_magick_test.rb
|
74
|
+
A vendor/attachment_fu/test/processors/core_image_test.rb
|
75
|
+
A vendor/attachment_fu/test/processors/image_science_test.rb
|
76
|
+
A vendor/attachment_fu/test/processors/gd2_test.rb
|
77
|
+
A vendor/attachment_fu/test/processors/rmagick_test.rb
|
78
|
+
A vendor/attachment_fu/test/basic_test.rb
|
79
|
+
A vendor/attachment_fu/test/schema.rb
|
80
|
+
A vendor/attachment_fu/test/database.yml
|
81
|
+
A vendor/attachment_fu/test/base_attachment_tests.rb
|
82
|
+
A vendor/attachment_fu/test/fixtures
|
83
|
+
A vendor/attachment_fu/test/fixtures/files
|
84
|
+
A vendor/attachment_fu/test/fixtures/files/foo.txt
|
85
|
+
A vendor/attachment_fu/test/fixtures/files/fake
|
86
|
+
A vendor/attachment_fu/test/fixtures/files/fake/rails.png
|
87
|
+
A vendor/attachment_fu/test/fixtures/files/rails.png
|
88
|
+
A vendor/attachment_fu/test/fixtures/attachment.rb
|
89
|
+
A vendor/attachment_fu/test/backends
|
90
|
+
A vendor/attachment_fu/test/backends/file_system_test.rb
|
91
|
+
A vendor/attachment_fu/test/backends/db_file_test.rb
|
92
|
+
A vendor/attachment_fu/test/backends/remote
|
93
|
+
A vendor/attachment_fu/test/backends/remote/s3_test.rb
|
94
|
+
A vendor/attachment_fu/test/validation_test.rb
|
95
|
+
A vendor/attachment_fu/test/extra_attachment_test.rb
|
96
|
+
A vendor/attachment_fu/test/geometry_test.rb
|
97
|
+
A vendor/attachment_fu/Rakefile
|
98
|
+
A vendor/attachment_fu/init.rb
|
99
|
+
A vendor/attachment_fu/lib
|
100
|
+
A vendor/attachment_fu/lib/technoweenie
|
101
|
+
A vendor/attachment_fu/lib/technoweenie/attachment_fu
|
102
|
+
A vendor/attachment_fu/lib/technoweenie/attachment_fu/processors
|
103
|
+
A vendor/attachment_fu/lib/technoweenie/attachment_fu/processors/mini_magick_processor.rb
|
104
|
+
A vendor/attachment_fu/lib/technoweenie/attachment_fu/processors/core_image_processor.rb
|
105
|
+
A vendor/attachment_fu/lib/technoweenie/attachment_fu/processors/image_science_processor.rb
|
106
|
+
A vendor/attachment_fu/lib/technoweenie/attachment_fu/processors/gd2_processor.rb
|
107
|
+
A vendor/attachment_fu/lib/technoweenie/attachment_fu/processors/rmagick_processor.rb
|
108
|
+
A vendor/attachment_fu/lib/technoweenie/attachment_fu/backends
|
109
|
+
A vendor/attachment_fu/lib/technoweenie/attachment_fu/backends/file_system_backend.rb
|
110
|
+
A vendor/attachment_fu/lib/technoweenie/attachment_fu/backends/db_file_backend.rb
|
111
|
+
A vendor/attachment_fu/lib/technoweenie/attachment_fu/backends/s3_backend.rb
|
112
|
+
A vendor/attachment_fu/lib/technoweenie/attachment_fu.rb
|
113
|
+
A vendor/attachment_fu/lib/geometry.rb
|
114
|
+
A vendor/attachment_fu/CHANGELOG
|
115
|
+
A vendor/attachment_fu/amazon_s3.yml.tpl
|
116
|
+
A vendor/attachment_fu/install.rb
|
117
|
+
A vendor/attachment_fu/.piston.yml
|
118
|
+
A vendor/attachment_fu/vendor
|
119
|
+
A vendor/attachment_fu/vendor/red_artisan
|
120
|
+
A vendor/attachment_fu/vendor/red_artisan/core_image
|
121
|
+
A vendor/attachment_fu/vendor/red_artisan/core_image/processor.rb
|
122
|
+
A vendor/attachment_fu/vendor/red_artisan/core_image/filters
|
123
|
+
A vendor/attachment_fu/vendor/red_artisan/core_image/filters/watermark.rb
|
124
|
+
A vendor/attachment_fu/vendor/red_artisan/core_image/filters/color.rb
|
125
|
+
A vendor/attachment_fu/vendor/red_artisan/core_image/filters/effects.rb
|
126
|
+
A vendor/attachment_fu/vendor/red_artisan/core_image/filters/scale.rb
|
127
|
+
A vendor/attachment_fu/vendor/red_artisan/core_image/filters/quality.rb
|
128
|
+
A vendor/attachment_fu/vendor/red_artisan/core_image/filters/perspective.rb
|
129
|
+
A vendor/attachment_fu/README
|
130
|
+
)
|
131
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/../test_helper"
|
2
|
+
require File.dirname(__FILE__) + "/../integration_helpers"
|
3
|
+
|
4
|
+
class TestImportSvnGit < Test::Unit::TestCase
|
5
|
+
attr_reader :root_path, :repos_path, :wc_path
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@root_path = Pathname.new("/tmp/import_svn_git")
|
9
|
+
@repos_path = @root_path + "repos"
|
10
|
+
@wc_path = @root_path + "wc"
|
11
|
+
|
12
|
+
root_path.rmtree rescue nil
|
13
|
+
root_path.mkpath
|
14
|
+
|
15
|
+
wc_path.mkpath
|
16
|
+
Dir.chdir(wc_path) do
|
17
|
+
git(:init)
|
18
|
+
File.open(wc_path + "README", "wb") {|f| f.write "Hello World!"}
|
19
|
+
(wc_path + "vendor").mkdir
|
20
|
+
File.open(wc_path + "vendor/.gitignore", "wb") {|f| f.write "*.swp"}
|
21
|
+
git(:add, ".")
|
22
|
+
git(:commit, "-m", "'first commit'")
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def teardown
|
27
|
+
root_path.rmtree rescue nil
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_import
|
31
|
+
piston :import, "http://dev.rubyonrails.org/svn/rails/plugins/ssl_requirement/", wc_path + "vendor/ssl_requirement"
|
32
|
+
|
33
|
+
Dir.chdir(wc_path) do
|
34
|
+
assert_equal %Q(# On branch master
|
35
|
+
# Changes to be committed:
|
36
|
+
# (use "git reset HEAD <file>..." to unstage)
|
37
|
+
#
|
38
|
+
#\tnew file: vendor/ssl_requirement/.piston.yml
|
39
|
+
#\tnew file: vendor/ssl_requirement/README
|
40
|
+
#\tnew file: vendor/ssl_requirement/lib/ssl_requirement.rb
|
41
|
+
#\tnew file: vendor/ssl_requirement/test/ssl_requirement_test.rb
|
42
|
+
#
|
43
|
+
).split("\n").sort, git(:status).split("\n").sort
|
44
|
+
end
|
45
|
+
|
46
|
+
info = YAML.load(File.read(wc_path + "vendor/ssl_requirement/.piston.yml"))
|
47
|
+
assert_equal 1, info["format"]
|
48
|
+
assert_equal "http://dev.rubyonrails.org/svn/rails/plugins/ssl_requirement/", info["repository_url"]
|
49
|
+
assert_equal "Piston::Svn::Repository", info["repository_class"]
|
50
|
+
assert_equal "5ecf4fe2-1ee6-0310-87b1-e25e094e27de", info["handler"][Piston::Svn::UUID]
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/../test_helper"
|
2
|
+
require File.dirname(__FILE__) + "/../integration_helpers"
|
3
|
+
|
4
|
+
class TestImportSvnSvn < Test::Unit::TestCase
|
5
|
+
attr_reader :root_path, :repos_path, :wc_path
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@root_path = Pathname.new("/tmp/import_svn_svn")
|
9
|
+
@repos_path = @root_path + "repos"
|
10
|
+
@wc_path = @root_path + "wc"
|
11
|
+
|
12
|
+
root_path.rmtree rescue nil
|
13
|
+
root_path.mkpath
|
14
|
+
|
15
|
+
svnadmin :create, repos_path
|
16
|
+
svn :checkout, "file://#{repos_path}", wc_path
|
17
|
+
svn :mkdir, wc_path + "trunk", wc_path + "tags", wc_path + "branches", wc_path + "trunk/vendor"
|
18
|
+
svn :commit, wc_path, "--message", "'first commit'"
|
19
|
+
end
|
20
|
+
|
21
|
+
def teardown
|
22
|
+
root_path.rmtree rescue nil
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_import
|
26
|
+
piston :import, "http://dev.rubyonrails.org/svn/rails/plugins/ssl_requirement/", wc_path + "trunk/vendor/ssl_requirement"
|
27
|
+
|
28
|
+
assert_equal "A vendor/ssl_requirement
|
29
|
+
A vendor/ssl_requirement/test
|
30
|
+
A vendor/ssl_requirement/test/ssl_requirement_test.rb
|
31
|
+
A vendor/ssl_requirement/lib
|
32
|
+
A vendor/ssl_requirement/lib/ssl_requirement.rb
|
33
|
+
A vendor/ssl_requirement/.piston.yml
|
34
|
+
A vendor/ssl_requirement/README
|
35
|
+
".split("\n").sort, svn(:status, wc_path + "trunk/vendor/").gsub((wc_path + "trunk/").to_s, "").split("\n").sort
|
36
|
+
|
37
|
+
info = YAML.load(File.read(wc_path + "trunk/vendor/ssl_requirement/.piston.yml"))
|
38
|
+
assert_equal 1, info["format"]
|
39
|
+
assert_equal "http://dev.rubyonrails.org/svn/rails/plugins/ssl_requirement/", info["repository_url"]
|
40
|
+
assert_equal "Piston::Svn::Repository", info["repository_class"]
|
41
|
+
assert_equal "5ecf4fe2-1ee6-0310-87b1-e25e094e27de", info["handler"][Piston::Svn::UUID]
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
PISTON_ROOT = Pathname.new(File.dirname(__FILE__)).parent.realpath
|
2
|
+
|
3
|
+
def logger
|
4
|
+
@logger ||= Log4r::Logger["test"]
|
5
|
+
end
|
6
|
+
|
7
|
+
def runcmd(cmd, *args)
|
8
|
+
cmdline = [cmd]
|
9
|
+
cmdline += args
|
10
|
+
cmdline = cmdline.flatten.map {|s| s.to_s}.join(" ")
|
11
|
+
logger.debug "> #{cmdline}"
|
12
|
+
|
13
|
+
output = `#{cmdline}`
|
14
|
+
logger.debug "< #{output}"
|
15
|
+
return output if $?.success?
|
16
|
+
raise output
|
17
|
+
end
|
18
|
+
|
19
|
+
def svn(*args)
|
20
|
+
runcmd(:svn, *args)
|
21
|
+
end
|
22
|
+
|
23
|
+
def svnadmin(*args)
|
24
|
+
runcmd(:svnadmin, *args)
|
25
|
+
end
|
26
|
+
|
27
|
+
def git(*args)
|
28
|
+
runcmd(:git, *args)
|
29
|
+
end
|
30
|
+
|
31
|
+
def piston(*args)
|
32
|
+
runcmd(:ruby, "-I", PISTON_ROOT + "lib", PISTON_ROOT + "bin/piston", *args)
|
33
|
+
end
|