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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: eaeebaf8af69586975639e7bab86bee813a26144
4
- data.tar.gz: f21d207967fe39cb95816ef9101b11126743faba
3
+ metadata.gz: 68607d1ed0cb78b3bd7b5c555bf550e1fa2e0889
4
+ data.tar.gz: d3b604369606426005330b29a2f7d69a8f7fca87
5
5
  SHA512:
6
- metadata.gz: 730732f49f1afbc4c394ca8dd8854f9db20ca9f7c56d99eeb8606011b16cfcb19f7968da5fd7581093b54ea6d0423510a7e8854fa21a843dca1d05bca0ef0540
7
- data.tar.gz: 2faa97440fb22b0e366210df64292aa91e40d4da4f291c65da15e8bf5f2842c8a36631118c8551a394141bbae623ceef549cdd092c20197b7ff27b78ed0a2ac9
6
+ metadata.gz: 30d60216cfce82ec82bad2dbfd9516be769f0bff0af9580a0ce1fb5e63dfe42e097629bc0ce8ceb001e43c5074704352eb54fa868afea2e10e12e8158a4cfcef
7
+ data.tar.gz: 68a55edef05a0283558bdb5c7fc9ffbeed3467cae4ddff715d1b00d46a017232b7bef14ab7fa75f8976baa971d955498bea377317654aecbae91387a4d02de2a
@@ -1,9 +1,65 @@
1
1
  require "mina/svn/rsync/version"
2
2
 
3
- module Mina
4
- module Svn
5
- module Rsync
6
- # Your code goes here...
7
- end
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
@@ -1,7 +1,7 @@
1
1
  module Mina
2
2
  module Svn
3
3
  module Rsync
4
- VERSION = "0.0.1"
4
+ VERSION = "0.0.3"
5
5
  end
6
6
  end
7
7
  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.1
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.0.rc.1
77
+ rubygems_version: 2.2.2
77
78
  signing_key:
78
79
  specification_version: 4
79
80
  summary: mina svn and rsync gem