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 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