r10k 3.9.0 → 3.9.1

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.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/.github/pull_request_template.md +1 -1
  3. data/.github/workflows/stale.yml +19 -0
  4. data/CHANGELOG.mkd +5 -0
  5. data/doc/dynamic-environments/configuration.mkd +6 -6
  6. data/lib/r10k/action/base.rb +8 -1
  7. data/lib/r10k/action/deploy/display.rb +39 -9
  8. data/lib/r10k/action/deploy/environment.rb +63 -40
  9. data/lib/r10k/action/deploy/module.rb +47 -28
  10. data/lib/r10k/action/puppetfile/check.rb +3 -1
  11. data/lib/r10k/action/puppetfile/install.rb +20 -23
  12. data/lib/r10k/action/puppetfile/purge.rb +8 -2
  13. data/lib/r10k/content_synchronizer.rb +83 -0
  14. data/lib/r10k/deployment.rb +1 -1
  15. data/lib/r10k/environment/base.rb +21 -1
  16. data/lib/r10k/environment/git.rb +0 -3
  17. data/lib/r10k/environment/svn.rb +4 -6
  18. data/lib/r10k/environment/with_modules.rb +18 -10
  19. data/lib/r10k/module.rb +1 -1
  20. data/lib/r10k/module/base.rb +17 -1
  21. data/lib/r10k/module/forge.rb +24 -18
  22. data/lib/r10k/module/git.rb +22 -13
  23. data/lib/r10k/module/local.rb +1 -0
  24. data/lib/r10k/module/svn.rb +11 -8
  25. data/lib/r10k/puppetfile.rb +55 -70
  26. data/lib/r10k/source/base.rb +4 -0
  27. data/lib/r10k/source/git.rb +14 -6
  28. data/lib/r10k/source/hash.rb +1 -3
  29. data/lib/r10k/source/svn.rb +0 -2
  30. data/lib/r10k/util/cleaner.rb +21 -0
  31. data/lib/r10k/version.rb +1 -1
  32. data/locales/r10k.pot +51 -59
  33. data/spec/r10k-mocks/mock_source.rb +1 -1
  34. data/spec/shared-examples/puppetfile-action.rb +7 -7
  35. data/spec/unit/action/deploy/display_spec.rb +32 -6
  36. data/spec/unit/action/deploy/environment_spec.rb +76 -48
  37. data/spec/unit/action/deploy/module_spec.rb +139 -31
  38. data/spec/unit/action/puppetfile/check_spec.rb +2 -2
  39. data/spec/unit/action/puppetfile/install_spec.rb +31 -10
  40. data/spec/unit/action/puppetfile/purge_spec.rb +25 -5
  41. data/spec/unit/module/forge_spec.rb +15 -13
  42. data/spec/unit/module/git_spec.rb +8 -0
  43. data/spec/unit/module_spec.rb +5 -5
  44. data/spec/unit/puppetfile_spec.rb +40 -26
  45. data/spec/unit/util/purgeable_spec.rb +2 -8
  46. metadata +5 -2
@@ -8,7 +8,7 @@ class R10K::Module::Git < R10K::Module::Base
8
8
  R10K::Module.register(self)
9
9
 
10
10
  def self.implement?(name, args)
11
- args.is_a?(Hash) && (args.has_key?(:git) || args[:type].to_s == 'git')
11
+ args.has_key?(:git) || args[:type].to_s == 'git'
12
12
  rescue
13
13
  false
14
14
  end
@@ -36,27 +36,35 @@ class R10K::Module::Git < R10K::Module::Base
36
36
  include R10K::Util::Setopts
37
37
 
38
38
  def initialize(title, dirname, opts, environment=nil)
39
+
39
40
  super
40
41
  setopts(opts, {
41
42
  # Standard option interface
42
- :version => :desired_ref,
43
- :source => :remote,
44
- :type => ::R10K::Util::Setopts::Ignore,
43
+ :version => :desired_ref,
44
+ :source => :remote,
45
+ :type => ::R10K::Util::Setopts::Ignore,
45
46
 
46
47
  # Type-specific options
47
- :branch => :desired_ref,
48
- :tag => :desired_ref,
49
- :commit => :desired_ref,
50
- :ref => :desired_ref,
51
- :git => :remote,
48
+ :branch => :desired_ref,
49
+ :tag => :desired_ref,
50
+ :commit => :desired_ref,
51
+ :ref => :desired_ref,
52
+ :git => :remote,
52
53
  :default_branch => :default_ref,
53
54
  :default_branch_override => :default_override_ref,
54
55
  })
55
56
 
57
+ force = @overrides.dig(:modules, :force)
58
+ @force = force == false ? false : true
59
+
56
60
  @desired_ref ||= 'master'
57
61
 
58
- if @desired_ref == :control_branch && @environment && @environment.respond_to?(:ref)
59
- @desired_ref = @environment.ref
62
+ if @desired_ref == :control_branch
63
+ if @environment && @environment.respond_to?(:ref)
64
+ @desired_ref = @environment.ref
65
+ else
66
+ logger.warn _("Cannot track control repo branch for content '%{name}' when not part of a git-backed environment, will use default if available." % {name: name})
67
+ end
60
68
  end
61
69
 
62
70
  @repo = R10K::Git::StatefulRepository.new(@remote, @dirname, @name)
@@ -74,9 +82,10 @@ class R10K::Module::Git < R10K::Module::Base
74
82
  }
75
83
  end
76
84
 
85
+ # @param [Hash] opts Deprecated
77
86
  def sync(opts={})
78
- force = opts && opts.fetch(:force, true)
79
- @repo.sync(version, force)
87
+ force = opts[:force] || @force
88
+ @repo.sync(version, force) if should_sync?
80
89
  end
81
90
 
82
91
  def status
@@ -30,6 +30,7 @@ class R10K::Module::Local < R10K::Module::Base
30
30
  :insync
31
31
  end
32
32
 
33
+ # @param [Hash] opts Deprecated
33
34
  def sync(opts={})
34
35
  logger.debug1 _("Module %{title} is a local module, always indicating synced.") % {title: title}
35
36
  end
@@ -7,7 +7,7 @@ class R10K::Module::SVN < R10K::Module::Base
7
7
  R10K::Module.register(self)
8
8
 
9
9
  def self.implement?(name, args)
10
- args.is_a?(Hash) && (args.has_key?(:svn) || args[:type].to_s == 'svn')
10
+ args.has_key?(:svn) || args[:type].to_s == 'svn'
11
11
  end
12
12
 
13
13
  # @!attribute [r] expected_revision
@@ -69,14 +69,17 @@ class R10K::Module::SVN < R10K::Module::Base
69
69
  end
70
70
  end
71
71
 
72
+ # @param [Hash] opts Deprecated
72
73
  def sync(opts={})
73
- case status
74
- when :absent
75
- install
76
- when :mismatched
77
- reinstall
78
- when :outdated
79
- update
74
+ if should_sync?
75
+ case status
76
+ when :absent
77
+ install
78
+ when :mismatched
79
+ reinstall
80
+ when :outdated
81
+ update
82
+ end
80
83
  end
81
84
  end
82
85
 
@@ -3,6 +3,7 @@ require 'pathname'
3
3
  require 'r10k/module'
4
4
  require 'r10k/util/purgeable'
5
5
  require 'r10k/errors'
6
+ require 'r10k/content_synchronizer'
6
7
 
7
8
  module R10K
8
9
  class Puppetfile
@@ -42,17 +43,32 @@ class Puppetfile
42
43
  # @return [Boolean] Overwrite any locally made changes
43
44
  attr_accessor :force
44
45
 
46
+ # @!attribute [r] overrides
47
+ # @return [Hash] Various settings overridden from normal configs
48
+ attr_reader :overrides
49
+
45
50
  # @param [String] basedir
46
- # @param [String] moduledir The directory to install the modules, default to #{basedir}/modules
47
- # @param [String] puppetfile_path The path to the Puppetfile, default to #{basedir}/Puppetfile
48
- # @param [String] puppetfile_name The name of the Puppetfile, default to 'Puppetfile'
49
- # @param [Boolean] force Shall we overwrite locally made changes?
50
- def initialize(basedir, moduledir = nil, puppetfile_path = nil, puppetfile_name = nil, force = nil )
51
+ # @param [Hash, String, nil] options_or_moduledir The directory to install the modules or a Hash of options.
52
+ # Usage as moduledir is deprecated. Only use as options, defaults to nil
53
+ # @param [String, nil] puppetfile_path Deprecated - The path to the Puppetfile, defaults to nil
54
+ # @param [String, nil] puppetfile_name Deprecated - The name of the Puppetfile, defaults to nil
55
+ # @param [Boolean, nil] force Deprecated - Shall we overwrite locally made changes?
56
+ def initialize(basedir, options_or_moduledir = nil, deprecated_path_arg = nil, deprecated_name_arg = nil, deprecated_force_arg = nil)
51
57
  @basedir = basedir
52
- @force = force || false
53
- @moduledir = moduledir || File.join(basedir, 'modules')
54
- @puppetfile_name = puppetfile_name || 'Puppetfile'
55
- @puppetfile_path = puppetfile_path || File.join(basedir, @puppetfile_name)
58
+ if options_or_moduledir.is_a? Hash
59
+ options = options_or_moduledir
60
+ deprecated_moduledir_arg = nil
61
+ else
62
+ options = {}
63
+ deprecated_moduledir_arg = options_or_moduledir
64
+ end
65
+
66
+ @force = deprecated_force_arg || options.delete(:force) || false
67
+ @moduledir = deprecated_moduledir_arg || options.delete(:moduledir) || File.join(basedir, 'modules')
68
+ @puppetfile_name = deprecated_name_arg || options.delete(:puppetfile_name) || 'Puppetfile'
69
+ @puppetfile_path = deprecated_path_arg || options.delete(:puppetfile_path) || File.join(basedir, @puppetfile_name)
70
+
71
+ @overrides = options.delete(:overrides) || {}
56
72
 
57
73
  logger.info _("Using Puppetfile '%{puppetfile}'") % {puppetfile: @puppetfile_path}
58
74
 
@@ -117,19 +133,30 @@ class Puppetfile
117
133
  end
118
134
 
119
135
  # @param [String] name
120
- # @param [*Object] args
136
+ # @param [Hash, String, Symbol] args Calling with anything but a Hash is
137
+ # deprecated. The DSL will now convert String and Symbol versions to
138
+ # Hashes of the shape
139
+ # { version: <String or Symbol> }
140
+ #
121
141
  def add_module(name, args)
122
- if args.is_a?(Hash) && install_path = args.delete(:install_path)
142
+ if !args.is_a?(Hash)
143
+ args = { version: args }
144
+ end
145
+
146
+ args[:overrides] = @overrides
147
+
148
+ if install_path = args.delete(:install_path)
123
149
  install_path = resolve_install_path(install_path)
124
150
  validate_install_path(install_path, name)
125
151
  else
126
152
  install_path = @moduledir
127
153
  end
128
154
 
129
- if args.is_a?(Hash) && @default_branch_override != nil
155
+ if @default_branch_override != nil
130
156
  args[:default_branch_override] = @default_branch_override
131
157
  end
132
158
 
159
+
133
160
  mod = R10K::Module.new(name, install_path, args, @environment)
134
161
  mod.origin = :puppetfile
135
162
 
@@ -181,70 +208,22 @@ class Puppetfile
181
208
  def accept(visitor)
182
209
  pool_size = self.settings[:pool_size]
183
210
  if pool_size > 1
184
- concurrent_accept(visitor, pool_size)
211
+ R10K::ContentSynchronizer.concurrent_accept(modules, visitor, self, pool_size, logger)
185
212
  else
186
- serial_accept(visitor)
187
- end
188
- end
189
-
190
- private
191
-
192
- def serial_accept(visitor)
193
- visitor.visit(:puppetfile, self) do
194
- modules.each do |mod|
195
- mod.accept(visitor)
196
- end
213
+ R10K::ContentSynchronizer.serial_accept(modules, visitor, self)
197
214
  end
198
215
  end
199
216
 
200
- def concurrent_accept(visitor, pool_size)
201
- logger.debug _("Updating modules with %{pool_size} threads") % {pool_size: pool_size}
202
- mods_queue = modules_queue(visitor)
203
- thread_pool = pool_size.times.map { visitor_thread(visitor, mods_queue) }
204
- thread_exception = nil
205
-
206
- # If any threads raise an exception the deployment is considered a failure.
207
- # In that event clear the queue, wait for other threads to finish their
208
- # current work, then re-raise the first exception caught.
209
- begin
210
- thread_pool.each(&:join)
211
- rescue => e
212
- logger.error _("Error during concurrent deploy of a module: %{message}") % {message: e.message}
213
- mods_queue.clear
214
- thread_exception ||= e
215
- retry
216
- ensure
217
- raise thread_exception unless thread_exception.nil?
217
+ def sync
218
+ pool_size = self.settings[:pool_size]
219
+ if pool_size > 1
220
+ R10K::ContentSynchronizer.concurrent_sync(modules, pool_size, logger)
221
+ else
222
+ R10K::ContentSynchronizer.serial_sync(modules)
218
223
  end
219
224
  end
220
225
 
221
- def modules_queue(visitor)
222
- Queue.new.tap do |queue|
223
- visitor.visit(:puppetfile, self) do
224
- modules_by_cachedir = modules.group_by { |mod| mod.cachedir }
225
- modules_without_vcs_cachedir = modules_by_cachedir.delete(:none) || []
226
-
227
- modules_without_vcs_cachedir.each {|mod| queue << Array(mod) }
228
- modules_by_cachedir.values.each {|mods| queue << mods }
229
- end
230
- end
231
- end
232
- public :modules_queue
233
-
234
- def visitor_thread(visitor, mods_queue)
235
- Thread.new do
236
- begin
237
- while mods = mods_queue.pop(true) do
238
- mods.each {|mod| mod.accept(visitor) }
239
- end
240
- rescue ThreadError => e
241
- logger.debug _("Module thread %{id} exiting: %{message}") % {message: e.message, id: Thread.current.object_id}
242
- Thread.exit
243
- rescue => e
244
- Thread.main.raise(e)
245
- end
246
- end
247
- end
226
+ private
248
227
 
249
228
  def puppetfile_contents
250
229
  File.read(@puppetfile_path)
@@ -285,7 +264,13 @@ class Puppetfile
285
264
  end
286
265
 
287
266
  def mod(name, args = nil)
288
- @librarian.add_module(name, args)
267
+ if args.is_a?(Hash)
268
+ opts = args
269
+ else
270
+ opts = { version: args }
271
+ end
272
+
273
+ @librarian.add_module(name, opts)
289
274
  end
290
275
 
291
276
  def forge(location)
@@ -1,8 +1,12 @@
1
+ require 'r10k/logging'
2
+
1
3
  # This class defines a common interface for source implementations.
2
4
  #
3
5
  # @since 1.3.0
4
6
  class R10K::Source::Base
5
7
 
8
+ include R10K::Logging
9
+
6
10
  # @!attribute [r] basedir
7
11
  # @return [String] The path this source will place environments in
8
12
  attr_reader :basedir
@@ -11,8 +11,6 @@ require 'r10k/environment/name'
11
11
  # @since 1.3.0
12
12
  class R10K::Source::Git < R10K::Source::Base
13
13
 
14
- include R10K::Logging
15
-
16
14
  R10K::Source.register(:git, self)
17
15
  # Register git as the default source
18
16
  R10K::Source.register(nil, self)
@@ -99,12 +97,22 @@ class R10K::Source::Git < R10K::Source::Base
99
97
  envs = []
100
98
  branch_names.each do |bn|
101
99
  if bn.valid?
102
- envs << R10K::Environment::Git.new(bn.name, @basedir, bn.dirname,
103
- {:remote => remote, :ref => bn.name, :puppetfile_name => puppetfile_name })
100
+ envs << R10K::Environment::Git.new(bn.name,
101
+ @basedir,
102
+ bn.dirname,
103
+ {remote: remote,
104
+ ref: bn.name,
105
+ puppetfile_name: puppetfile_name,
106
+ overrides: @options[:overrides]})
104
107
  elsif bn.correct?
105
108
  logger.warn _("Environment %{env_name} contained non-word characters, correcting name to %{corrected_env_name}") % {env_name: bn.name.inspect, corrected_env_name: bn.dirname}
106
- envs << R10K::Environment::Git.new(bn.name, @basedir, bn.dirname,
107
- {:remote => remote, :ref => bn.name, :puppetfile_name => puppetfile_name})
109
+ envs << R10K::Environment::Git.new(bn.name,
110
+ @basedir,
111
+ bn.dirname,
112
+ {remote: remote,
113
+ ref: bn.name,
114
+ puppetfile_name: puppetfile_name,
115
+ overrides: @options[:overrides]})
108
116
  elsif bn.validate?
109
117
  logger.error _("Environment %{env_name} contained non-word characters, ignoring it.") % {env_name: bn.name.inspect}
110
118
  end
@@ -120,8 +120,6 @@
120
120
  #
121
121
  class R10K::Source::Hash < R10K::Source::Base
122
122
 
123
- include R10K::Logging
124
-
125
123
  # @param hash [Hash] A hash to validate.
126
124
  # @return [Boolean] False if the hash is obviously invalid. A true return
127
125
  # means _maybe_ it's valid.
@@ -170,7 +168,7 @@ class R10K::Source::Hash < R10K::Source::Base
170
168
 
171
169
  def environments
172
170
  @environments ||= environments_hash.map do |name, hash|
173
- R10K::Environment.from_hash(name, hash)
171
+ R10K::Environment.from_hash(name, hash.merge({overrides: @options[:overrides]}))
174
172
  end
175
173
  end
176
174
 
@@ -103,8 +103,6 @@ class R10K::Source::SVN < R10K::Source::Base
103
103
  @environments.map {|env| env.dirname }
104
104
  end
105
105
 
106
- include R10K::Logging
107
-
108
106
  def filter_branches(branches, ignore_prefixes)
109
107
  filter = Regexp.new("^(#{ignore_prefixes.join('|')})")
110
108
  branches = branches.reject do |branch|
@@ -0,0 +1,21 @@
1
+ require 'r10k/logging'
2
+ require 'r10k/util/purgeable'
3
+
4
+ module R10K
5
+ module Util
6
+ class Cleaner
7
+
8
+ include R10K::Logging
9
+ include R10K::Util::Purgeable
10
+
11
+ attr_reader :managed_directories, :desired_contents, :purge_exclusions
12
+
13
+ def initialize(managed_directories, desired_contents, purge_exclusions = [])
14
+ @managed_directories = managed_directories
15
+ @desired_contents = desired_contents
16
+ @purge_exclusions = purge_exclusions
17
+ end
18
+
19
+ end
20
+ end
21
+ end
data/lib/r10k/version.rb CHANGED
@@ -2,5 +2,5 @@ module R10K
2
2
  # When updating to a new major (X) or minor (Y) version, include `#major` or
3
3
  # `#minor` (respectively) in your commit message to trigger the appropriate
4
4
  # release. Otherwise, a new patch (Z) version will be released.
5
- VERSION = '3.9.0'
5
+ VERSION = '3.9.1'
6
6
  end
data/locales/r10k.pot CHANGED
@@ -6,11 +6,11 @@
6
6
  #, fuzzy
7
7
  msgid ""
8
8
  msgstr ""
9
- "Project-Id-Version: r10k 3.4.1-151-g93d38cb\n"
9
+ "Project-Id-Version: r10k 3.4.1-231-g5574915\n"
10
10
  "\n"
11
11
  "Report-Msgid-Bugs-To: docs@puppetlabs.com\n"
12
- "POT-Creation-Date: 2021-03-15 17:00+0000\n"
13
- "PO-Revision-Date: 2021-03-15 17:00+0000\n"
12
+ "POT-Creation-Date: 2021-05-10 23:18+0000\n"
13
+ "PO-Revision-Date: 2021-05-10 23:18+0000\n"
14
14
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
15
15
  "Language-Team: LANGUAGE <LL@li.org>\n"
16
16
  "Language: \n"
@@ -31,58 +31,38 @@ msgstr ""
31
31
  msgid "Reason: %{write_lock}"
32
32
  msgstr ""
33
33
 
34
- #: ../lib/r10k/action/deploy/environment.rb:57
34
+ #: ../lib/r10k/action/deploy/environment.rb:109
35
35
  msgid "Environment(s) \\'%{environments}\\' cannot be found in any source and will not be deployed."
36
36
  msgstr ""
37
37
 
38
- #: ../lib/r10k/action/deploy/environment.rb:85
38
+ #: ../lib/r10k/action/deploy/environment.rb:139
39
39
  msgid "Environment %{env_dir} does not match environment name filter, skipping"
40
40
  msgstr ""
41
41
 
42
- #: ../lib/r10k/action/deploy/environment.rb:93
42
+ #: ../lib/r10k/action/deploy/environment.rb:147
43
43
  msgid "Deploying environment %{env_path}"
44
44
  msgstr ""
45
45
 
46
- #: ../lib/r10k/action/deploy/environment.rb:96
46
+ #: ../lib/r10k/action/deploy/environment.rb:150
47
47
  msgid "Environment %{env_dir} is now at %{env_signature}"
48
48
  msgstr ""
49
49
 
50
- #: ../lib/r10k/action/deploy/environment.rb:100
50
+ #: ../lib/r10k/action/deploy/environment.rb:154
51
51
  msgid "Environment %{env_dir} is new, updating all modules"
52
52
  msgstr ""
53
53
 
54
- #: ../lib/r10k/action/deploy/environment.rb:143
55
- msgid "Deploying %{origin} content %{path}"
54
+ #: ../lib/r10k/action/deploy/module.rb:78
55
+ msgid "Only updating modules in environment(s) %{opt_env} skipping environment %{env_path}"
56
56
  msgstr ""
57
57
 
58
- #: ../lib/r10k/action/deploy/module.rb:49
59
- msgid "Only updating modules in environment %{opt_env} skipping environment %{env_path}"
60
- msgstr ""
61
-
62
- #: ../lib/r10k/action/deploy/module.rb:51
58
+ #: ../lib/r10k/action/deploy/module.rb:80
63
59
  msgid "Updating modules %{modules} in environment %{env_path}"
64
60
  msgstr ""
65
61
 
66
- #: ../lib/r10k/action/deploy/module.rb:63
67
- msgid "Deploying module %{mod_path}"
68
- msgstr ""
69
-
70
- #: ../lib/r10k/action/deploy/module.rb:70
71
- msgid "Only updating modules %{modules}, skipping module %{mod_name}"
72
- msgstr ""
73
-
74
- #: ../lib/r10k/action/puppetfile/check.rb:14
62
+ #: ../lib/r10k/action/puppetfile/check.rb:16
75
63
  msgid "Syntax OK"
76
64
  msgstr ""
77
65
 
78
- #: ../lib/r10k/action/puppetfile/install.rb:30
79
- msgid "Updating module %{mod_path}"
80
- msgstr ""
81
-
82
- #: ../lib/r10k/action/puppetfile/install.rb:33
83
- msgid "Cannot track control repo branch for content '%{name}' when not part of a 'deploy' action, will use default if available."
84
- msgstr ""
85
-
86
66
  #: ../lib/r10k/action/runner.rb:54 ../lib/r10k/deployment/config.rb:42
87
67
  msgid "Overriding config file setting '%{key}': '%{old_val}' -> '%{new_val}'"
88
68
  msgstr ""
@@ -95,6 +75,18 @@ msgstr ""
95
75
  msgid "No config file explicitly given and no default config file could be found, default settings will be used."
96
76
  msgstr ""
97
77
 
78
+ #: ../lib/r10k/content_synchronizer.rb:13
79
+ msgid "Updating modules with %{pool_size} threads"
80
+ msgstr ""
81
+
82
+ #: ../lib/r10k/content_synchronizer.rb:24
83
+ msgid "Error during concurrent deploy of a module: %{message}"
84
+ msgstr ""
85
+
86
+ #: ../lib/r10k/content_synchronizer.rb:52
87
+ msgid "Module thread %{id} exiting: %{message}"
88
+ msgstr ""
89
+
98
90
  #: ../lib/r10k/deployment.rb:90
99
91
  msgid "Environment collision at %{env_path} between %{source}:%{env_name} and %{osource}:%{oenv_name}"
100
92
  msgstr ""
@@ -103,7 +95,7 @@ msgstr ""
103
95
  msgid "Unable to load sources; the supplied configuration does not define the 'sources' key"
104
96
  msgstr ""
105
97
 
106
- #: ../lib/r10k/environment/base.rb:61 ../lib/r10k/environment/base.rb:77 ../lib/r10k/environment/base.rb:86 ../lib/r10k/source/base.rb:69
98
+ #: ../lib/r10k/environment/base.rb:65 ../lib/r10k/environment/base.rb:81 ../lib/r10k/environment/base.rb:90 ../lib/r10k/source/base.rb:69
107
99
  msgid "%{class} has not implemented method %{method}"
108
100
  msgstr ""
109
101
 
@@ -327,19 +319,31 @@ msgstr ""
327
319
  msgid "Module %{name} with args %{args} doesn't have an implementation. (Are you using the right arguments?)"
328
320
  msgstr ""
329
321
 
330
- #: ../lib/r10k/module/base.rb:118
322
+ #: ../lib/r10k/module/base.rb:75
323
+ msgid "Deploying module to %{path}"
324
+ msgstr ""
325
+
326
+ #: ../lib/r10k/module/base.rb:78
327
+ msgid "Only updating modules %{modules}, skipping module %{name}"
328
+ msgstr ""
329
+
330
+ #: ../lib/r10k/module/base.rb:134
331
331
  msgid "Module name (%{title}) must match either 'modulename' or 'owner/modulename'"
332
332
  msgstr ""
333
333
 
334
- #: ../lib/r10k/module/forge.rb:81 ../lib/r10k/module/forge.rb:110
334
+ #: ../lib/r10k/module/forge.rb:88 ../lib/r10k/module/forge.rb:117
335
335
  msgid "The module %{title} does not exist on %{url}."
336
336
  msgstr ""
337
337
 
338
- #: ../lib/r10k/module/forge.rb:185
338
+ #: ../lib/r10k/module/forge.rb:192
339
339
  msgid "Forge module names must match 'owner/modulename', instead got #{title}"
340
340
  msgstr ""
341
341
 
342
- #: ../lib/r10k/module/local.rb:34
342
+ #: ../lib/r10k/module/git.rb:66
343
+ msgid "Cannot track control repo branch for content '%{name}' when not part of a git-backed environment, will use default if available."
344
+ msgstr ""
345
+
346
+ #: ../lib/r10k/module/local.rb:35
343
347
  msgid "Module %{title} is a local module, always indicating synced."
344
348
  msgstr ""
345
349
 
@@ -347,39 +351,27 @@ msgstr ""
347
351
  msgid "Could not read metadata.json"
348
352
  msgstr ""
349
353
 
350
- #: ../lib/r10k/puppetfile.rb:57
354
+ #: ../lib/r10k/puppetfile.rb:73
351
355
  msgid "Using Puppetfile '%{puppetfile}'"
352
356
  msgstr ""
353
357
 
354
- #: ../lib/r10k/puppetfile.rb:71
358
+ #: ../lib/r10k/puppetfile.rb:87
355
359
  msgid "Puppetfile %{path} missing or unreadable"
356
360
  msgstr ""
357
361
 
358
- #: ../lib/r10k/puppetfile.rb:84
362
+ #: ../lib/r10k/puppetfile.rb:100
359
363
  msgid "Failed to evaluate %{path}"
360
364
  msgstr ""
361
365
 
362
- #: ../lib/r10k/puppetfile.rb:98
366
+ #: ../lib/r10k/puppetfile.rb:114
363
367
  msgid "Puppetfiles cannot contain duplicate module names."
364
368
  msgstr ""
365
369
 
366
- #: ../lib/r10k/puppetfile.rb:100
370
+ #: ../lib/r10k/puppetfile.rb:116
367
371
  msgid "Remove the duplicates of the following modules: %{dupes}"
368
372
  msgstr ""
369
373
 
370
- #: ../lib/r10k/puppetfile.rb:201
371
- msgid "Updating modules with %{pool_size} threads"
372
- msgstr ""
373
-
374
- #: ../lib/r10k/puppetfile.rb:212
375
- msgid "Error during concurrent deploy of a module: %{message}"
376
- msgstr ""
377
-
378
- #: ../lib/r10k/puppetfile.rb:241
379
- msgid "Module thread %{id} exiting: %{message}"
380
- msgstr ""
381
-
382
- #: ../lib/r10k/puppetfile.rb:300
374
+ #: ../lib/r10k/puppetfile.rb:276
383
375
  msgid "unrecognized declaration '%{method}'"
384
376
  msgstr ""
385
377
 
@@ -470,19 +462,19 @@ msgstr ""
470
462
  msgid "Unable to determine current branches for Git source '%{name}' (%{basedir})"
471
463
  msgstr ""
472
464
 
473
- #: ../lib/r10k/source/git.rb:105
465
+ #: ../lib/r10k/source/git.rb:110
474
466
  msgid "Environment %{env_name} contained non-word characters, correcting name to %{corrected_env_name}"
475
467
  msgstr ""
476
468
 
477
- #: ../lib/r10k/source/git.rb:109
469
+ #: ../lib/r10k/source/git.rb:119
478
470
  msgid "Environment %{env_name} contained non-word characters, ignoring it."
479
471
  msgstr ""
480
472
 
481
- #: ../lib/r10k/source/git.rb:128 ../lib/r10k/source/svn.rb:113
473
+ #: ../lib/r10k/source/git.rb:138 ../lib/r10k/source/svn.rb:113
482
474
  msgid "Branch %{branch} filtered out by ignore_branch_prefixes %{ibp}"
483
475
  msgstr ""
484
476
 
485
- #: ../lib/r10k/source/git.rb:139
477
+ #: ../lib/r10k/source/git.rb:149
486
478
  msgid "Branch `%{name}:%{branch}` filtered out by filter_command %{cmd}"
487
479
  msgstr ""
488
480