mina-svn-rsync 0.0.1 → 0.0.3
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 +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
|