mina-svn-rsync 0.0.1 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/mina/svn/rsync.rb +61 -5
- data/lib/mina/svn/rsync/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 68607d1ed0cb78b3bd7b5c555bf550e1fa2e0889
|
4
|
+
data.tar.gz: d3b604369606426005330b29a2f7d69a8f7fca87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 30d60216cfce82ec82bad2dbfd9516be769f0bff0af9580a0ce1fb5e63dfe42e097629bc0ce8ceb001e43c5074704352eb54fa868afea2e10e12e8158a4cfcef
|
7
|
+
data.tar.gz: 68a55edef05a0283558bdb5c7fc9ffbeed3467cae4ddff715d1b00d46a017232b7bef14ab7fa75f8976baa971d955498bea377317654aecbae91387a4d02de2a
|
data/lib/mina/svn/rsync.rb
CHANGED
@@ -1,9 +1,65 @@
|
|
1
1
|
require "mina/svn/rsync/version"
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
set_default :repository, "."
|
4
|
+
set_default :rsync_options, []
|
5
|
+
set_default :rsync_copy, "rsync --archive --acls --xattrs"
|
6
|
+
set_default :svn_username, settings.user
|
7
|
+
|
8
|
+
# Stage is used on your local machine for rsyncing from.
|
9
|
+
set_default :rsync_stage, "tmp/deploy"
|
10
|
+
|
11
|
+
# Cache is used on the server to copy files to from to the release directory.
|
12
|
+
# Saves you rsyncing your whole app folder each time.
|
13
|
+
set_default :rsync_cache, "shared/deploy"
|
14
|
+
|
15
|
+
run = lambda do |*cmd|
|
16
|
+
cmd = cmd[0] if cmd[0].is_a?(Array)
|
17
|
+
print_command cmd.join(" ") if simulate_mode? || verbose_mode?
|
18
|
+
Kernel.system *cmd unless simulate_mode?
|
19
|
+
end
|
20
|
+
|
21
|
+
rsync_cache = lambda do
|
22
|
+
cache = settings.rsync_cache
|
23
|
+
raise TypeError, "Please set rsync_cache." unless cache
|
24
|
+
cache = settings.deploy_to + "/" + cache if cache && cache !~ /^\//
|
25
|
+
cache
|
26
|
+
end
|
27
|
+
|
28
|
+
desc "Stage and rsync to the server (or its cache)."
|
29
|
+
task :rsync => %w[rsync:stage] do
|
30
|
+
print_status "Rsyncing to #{rsync_cache.call}..."
|
31
|
+
|
32
|
+
rsync = %w[rsync]
|
33
|
+
rsync.concat settings.rsync_options
|
34
|
+
rsync << settings.rsync_stage + "/"
|
35
|
+
|
36
|
+
user = settings.user + "@" if settings.user
|
37
|
+
host = settings.domain
|
38
|
+
rsync << "#{user}#{host}:#{rsync_cache.call}"
|
39
|
+
|
40
|
+
run.call rsync
|
41
|
+
end
|
42
|
+
|
43
|
+
namespace :rsync do
|
44
|
+
task :create_stage do
|
45
|
+
next if File.directory?(settings.rsync_stage)
|
46
|
+
print_status "Cloning repository for the first time..."
|
47
|
+
|
48
|
+
clone = %w[svn co]
|
49
|
+
clone << settings.repository
|
50
|
+
clone << settings.rsync_stage
|
51
|
+
run.call clone
|
8
52
|
end
|
53
|
+
|
54
|
+
desc "Stage the repository in a local directory."
|
55
|
+
task :stage => %w[create_stage] do
|
56
|
+
end
|
57
|
+
|
58
|
+
task :build do
|
59
|
+
queue %(echo "-> Copying from cache directory to build path")
|
60
|
+
queue! %(#{settings.rsync_copy} "#{rsync_cache.call}/" ".")
|
61
|
+
end
|
62
|
+
|
63
|
+
desc "Stage, rsync and copy to the build path."
|
64
|
+
task :deploy => %w[rsync build]
|
9
65
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mina-svn-rsync
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- robbinhan
|
@@ -52,6 +52,7 @@ files:
|
|
52
52
|
- Rakefile
|
53
53
|
- lib/mina/svn/rsync.rb
|
54
54
|
- lib/mina/svn/rsync/version.rb
|
55
|
+
- mina-svn-rsync-0.0.1.gem
|
55
56
|
- mina-svn-rsync.gemspec
|
56
57
|
homepage: ''
|
57
58
|
licenses:
|
@@ -73,7 +74,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
73
74
|
version: '0'
|
74
75
|
requirements: []
|
75
76
|
rubyforge_project:
|
76
|
-
rubygems_version: 2.2.
|
77
|
+
rubygems_version: 2.2.2
|
77
78
|
signing_key:
|
78
79
|
specification_version: 4
|
79
80
|
summary: mina svn and rsync gem
|