r10k 2.6.9 → 3.0.0
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 +5 -5
- data/.gitignore +1 -0
- data/.travis.yml +9 -16
- data/CHANGELOG.mkd +23 -36
- data/Gemfile +2 -1
- data/MAINTAINERS +18 -0
- data/README.mkd +1 -5
- data/bin/r10k +2 -2
- data/doc/common-patterns.mkd +2 -2
- data/doc/dynamic-environments/configuration.mkd +1 -2
- data/doc/dynamic-environments/quickstart.mkd +3 -3
- data/doc/dynamic-environments/usage.mkd +0 -12
- data/doc/puppetfile.mkd +0 -18
- data/docker/Gemfile +13 -0
- data/docker/ci/build +72 -0
- data/docker/distelli-manifest.yml +4 -0
- data/docker/r10k/Dockerfile +41 -0
- data/docker/r10k/spec/dockerfile_spec.rb +16 -0
- data/integration/Gemfile +4 -2
- data/integration/Rakefile +3 -2
- data/integration/pre-suite/00_pe_install.rb +0 -1
- data/integration/pre-suite/30_test_utils.rb +17 -0
- data/integration/scripts/README.mkd +86 -0
- data/integration/scripts/setup_r10k_env_centos5.sh +23 -0
- data/integration/scripts/setup_r10k_env_centos6.sh +23 -0
- data/integration/scripts/setup_r10k_env_rhel7.sh +23 -0
- data/integration/scripts/setup_r10k_env_sles11.sh +23 -0
- data/integration/scripts/setup_r10k_env_sles12.sh +23 -0
- data/integration/scripts/setup_r10k_env_ubuntu1004.sh +23 -0
- data/integration/scripts/setup_r10k_env_ubuntu1204.sh +23 -0
- data/integration/scripts/setup_r10k_env_ubuntu1404.sh +23 -0
- data/integration/tests/basic_functionality/install_pe_only_module_with_puppetfile.rb +2 -2
- data/integration/tests/basic_functionality/negative/attempt_to_install_peonly_module_without_license.rb +71 -0
- data/integration/tests/basic_functionality/proxy_with_pe_only_module.rb +2 -2
- data/integration/tests/git_source/HTTP_proxy_and_git_source.rb +2 -2
- data/integration/tests/i18n/deploy_module_with_unicode_in_file_name.rb +64 -0
- data/integration/tests/purging/does_not_purge_files_on_white_list.rb +93 -0
- data/integration/tests/purging/invalid_whitelist_types.rb +63 -0
- data/integration/tests/user_scenario/basic_workflow/negative/neg_disk_full.rb +12 -2
- data/integration/tests/user_scenario/basic_workflow/negative/neg_duplicate_module_names.rb +1 -8
- data/integration/tests/user_scenario/basic_workflow/single_env_10000_files.rb +11 -2
- data/integration/tests/user_scenario/basic_workflow/single_env_large_files.rb +12 -2
- data/lib/r10k/action/deploy/environment.rb +2 -15
- data/lib/r10k/action/puppetfile/check.rb +1 -1
- data/lib/r10k/action/puppetfile/cri_runner.rb +1 -13
- data/lib/r10k/action/puppetfile/purge.rb +1 -1
- data/lib/r10k/cli/deploy.rb +0 -1
- data/lib/r10k/cli/puppetfile.rb +4 -0
- data/lib/r10k/environment/base.rb +7 -1
- data/lib/r10k/environment/svn.rb +1 -1
- data/lib/r10k/forge/module_release.rb +2 -2
- data/lib/r10k/git/rugged/base_repository.rb +6 -3
- data/lib/r10k/git/rugged/working_repository.rb +10 -1
- data/lib/r10k/git/shellgit/base_repository.rb +27 -8
- data/lib/r10k/git/shellgit/working_repository.rb +20 -6
- data/lib/r10k/git/stateful_repository.rb +0 -1
- data/lib/r10k/module/git.rb +0 -5
- data/lib/r10k/puppetfile.rb +22 -27
- data/lib/r10k/source/base.rb +6 -0
- data/lib/r10k/source/git.rb +2 -2
- data/lib/r10k/source/svn.rb +4 -2
- data/lib/r10k/util/purgeable.rb +4 -2
- data/lib/r10k/util/subprocess/runner/posix.rb +3 -3
- data/lib/r10k/version.rb +1 -4
- data/locales/r10k.pot +23 -19
- data/r10k.gemspec +4 -8
- data/r10k.yaml.example +6 -0
- data/spec/fixtures/unit/puppetfile/duplicate-module-error/Puppetfile +10 -0
- data/spec/fixtures/unit/puppetfile/name-error/Puppetfile +1 -0
- data/spec/shared-examples/git/working_repository.rb +46 -0
- data/spec/unit/action/deploy/environment_spec.rb +0 -63
- data/spec/unit/action/puppetfile/check_spec.rb +24 -9
- data/spec/unit/action/puppetfile/cri_runner_spec.rb +2 -20
- data/spec/unit/action/puppetfile/install_spec.rb +16 -16
- data/spec/unit/action/puppetfile/purge_spec.rb +29 -6
- data/spec/unit/forge/module_release_spec.rb +10 -6
- data/spec/unit/git/stateful_repository_spec.rb +1 -4
- data/spec/unit/puppetfile_spec.rb +43 -36
- metadata +33 -48
- data/.github/pull_request_template.md +0 -4
- data/.github/workflows/release.yml +0 -36
- data/CODEOWNERS +0 -1
- data/spec/fixtures/unit/puppetfile/default-branch-override/Puppetfile +0 -5
data/lib/r10k/environment/svn.rb
CHANGED
@@ -43,7 +43,7 @@ class R10K::Environment::SVN < R10K::Environment::Base
|
|
43
43
|
def initialize(name, basedir, dirname, options = {})
|
44
44
|
super
|
45
45
|
|
46
|
-
setopts(options, {:remote => :self, :username => :self, :password => :self})
|
46
|
+
setopts(options, {:remote => :self, :username => :self, :password => :self, :puppetfile_name => :self })
|
47
47
|
|
48
48
|
@working_dir = R10K::SVN::WorkingDir.new(Pathname.new(@full_path), :username => @username, :password => @password)
|
49
49
|
end
|
@@ -181,14 +181,14 @@ module R10K
|
|
181
181
|
# Remove the temporary directory used for unpacking the module.
|
182
182
|
def cleanup_unpack_path
|
183
183
|
if unpack_path.exist?
|
184
|
-
unpack_path.rmtree
|
184
|
+
unpack_path.parent.rmtree
|
185
185
|
end
|
186
186
|
end
|
187
187
|
|
188
188
|
# Remove the downloaded module release.
|
189
189
|
def cleanup_download_path
|
190
190
|
if download_path.exist?
|
191
|
-
download_path.
|
191
|
+
download_path.parent.rmtree
|
192
192
|
end
|
193
193
|
end
|
194
194
|
|
@@ -34,10 +34,13 @@ class R10K::Git::Rugged::BaseRepository
|
|
34
34
|
|
35
35
|
# @return [Symbol] The type of the given ref, one of :branch, :tag, :commit, or :unknown
|
36
36
|
def ref_type(pattern)
|
37
|
-
|
38
|
-
|
39
|
-
|
37
|
+
# Try to match and resolve SHA refs as quickly as possible.
|
38
|
+
if pattern =~ /^[0-9a-f]{5,40}$/i && @_rugged_repo.include?(pattern)
|
39
|
+
:commit
|
40
|
+
elsif @_rugged_repo.tags[pattern]
|
40
41
|
:tag
|
42
|
+
elsif @_rugged_repo.branches[pattern]
|
43
|
+
:branch
|
41
44
|
elsif resolve(pattern)
|
42
45
|
:commit
|
43
46
|
else
|
@@ -118,7 +118,16 @@ class R10K::Git::Rugged::WorkingRepository < R10K::Git::Rugged::BaseRepository
|
|
118
118
|
end
|
119
119
|
|
120
120
|
def dirty?
|
121
|
-
with_repo
|
121
|
+
with_repo do |repo|
|
122
|
+
diff = repo.diff_workdir('HEAD')
|
123
|
+
|
124
|
+
diff.each_patch do |p|
|
125
|
+
logger.debug(_("Found local modifications in %{file_path}" % {file_path: File.join(@path, p.delta.old_file[:path])}))
|
126
|
+
logger.debug1(p.to_s)
|
127
|
+
end
|
128
|
+
|
129
|
+
return diff.size > 0
|
130
|
+
end
|
122
131
|
end
|
123
132
|
|
124
133
|
private
|
@@ -30,21 +30,40 @@ class R10K::Git::ShellGit::BaseRepository
|
|
30
30
|
for_each_ref('refs/heads')
|
31
31
|
end
|
32
32
|
|
33
|
+
def is_branch?(pattern)
|
34
|
+
result = git ['rev-parse', '-q', '--verify', "refs/heads/#{pattern}"], :git_dir => git_dir.to_s, :raise_on_fail => false
|
35
|
+
|
36
|
+
result.success?
|
37
|
+
end
|
38
|
+
|
33
39
|
# @return [Array<String>] All tags in this repository
|
34
40
|
def tags
|
35
41
|
for_each_ref('refs/tags')
|
36
42
|
end
|
37
43
|
|
44
|
+
def is_tag?(pattern)
|
45
|
+
result = git ['rev-parse', '-q', '--verify', "refs/tags/#{pattern}"], :git_dir => git_dir.to_s, :raise_on_fail => false
|
46
|
+
|
47
|
+
result.success?
|
48
|
+
end
|
49
|
+
|
38
50
|
# @return [Symbol] The type of the given ref, one of :branch, :tag, :commit, or :unknown
|
39
51
|
def ref_type(pattern)
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
52
|
+
@_ref_type_cache ||= {}
|
53
|
+
|
54
|
+
@_ref_type_cache[pattern] ||= begin
|
55
|
+
# Try to match and resolve SHA refs as quickly as possible.
|
56
|
+
if pattern =~ /^[0-9a-f]{5,40}$/i && resolve(pattern)
|
57
|
+
:commit
|
58
|
+
elsif is_tag? pattern
|
59
|
+
:tag
|
60
|
+
elsif is_branch? pattern
|
61
|
+
:branch
|
62
|
+
elsif resolve(pattern)
|
63
|
+
:commit
|
64
|
+
else
|
65
|
+
:unknown
|
66
|
+
end
|
48
67
|
end
|
49
68
|
end
|
50
69
|
|
@@ -49,14 +49,14 @@ class R10K::Git::ShellGit::WorkingRepository < R10K::Git::ShellGit::BaseReposito
|
|
49
49
|
# @param ref [String] The git reference to check out
|
50
50
|
# @param opts [Hash] Optional hash of additional options.
|
51
51
|
def checkout(ref, opts = {})
|
52
|
+
argv = ['checkout', ref]
|
53
|
+
|
52
54
|
# :force defaults to true
|
53
55
|
if !opts.has_key?(:force) || opts[:force]
|
54
|
-
|
55
|
-
else
|
56
|
-
force_opt = ''
|
56
|
+
argv << '--force'
|
57
57
|
end
|
58
58
|
|
59
|
-
git
|
59
|
+
git argv, :path => @path.to_s
|
60
60
|
end
|
61
61
|
|
62
62
|
def fetch(remote_name='origin')
|
@@ -91,7 +91,21 @@ class R10K::Git::ShellGit::WorkingRepository < R10K::Git::ShellGit::BaseReposito
|
|
91
91
|
|
92
92
|
# does the working tree have local modifications to tracked files?
|
93
93
|
def dirty?
|
94
|
-
result = git(['diff-index', '--
|
95
|
-
|
94
|
+
result = git(['diff-index', '--exit-code', '--name-only', 'HEAD'], :path => @path.to_s, :raise_on_fail => false)
|
95
|
+
|
96
|
+
if result.exit_code != 0
|
97
|
+
dirty_files = result.stdout.split('\n')
|
98
|
+
|
99
|
+
dirty_files.each do |file|
|
100
|
+
logger.debug(_("Found local modifications in %{file_path}" % {file_path: File.join(@path, file)}))
|
101
|
+
|
102
|
+
# Do this in a block so that the extra subprocess only gets invoked when needed.
|
103
|
+
logger.debug1 { git(['diff-index', '-p', 'HEAD', file], :path => @path.to_s, :raise_on_fail => false).stdout }
|
104
|
+
end
|
105
|
+
|
106
|
+
return true
|
107
|
+
else
|
108
|
+
return false
|
109
|
+
end
|
96
110
|
end
|
97
111
|
end
|
data/lib/r10k/module/git.rb
CHANGED
@@ -23,11 +23,6 @@ class R10K::Module::Git < R10K::Module::Base
|
|
23
23
|
# @return [String]
|
24
24
|
attr_reader :desired_ref
|
25
25
|
|
26
|
-
# @!attribute [r] default_ref
|
27
|
-
# @api private
|
28
|
-
# @return [String]
|
29
|
-
attr_reader :default_ref
|
30
|
-
|
31
26
|
def initialize(title, dirname, args, environment=nil)
|
32
27
|
super
|
33
28
|
|
data/lib/r10k/puppetfile.rb
CHANGED
@@ -46,7 +46,10 @@ class Puppetfile
|
|
46
46
|
@basedir = basedir
|
47
47
|
@force = force || false
|
48
48
|
@moduledir = moduledir || File.join(basedir, 'modules')
|
49
|
-
@
|
49
|
+
@puppetfile_name = puppetfile_name || 'Puppetfile'
|
50
|
+
@puppetfile_path = puppetfile_path || File.join(basedir, @puppetfile_name)
|
51
|
+
|
52
|
+
logger.info _("Using Puppetfile '%{puppetfile}'") % {puppetfile: @puppetfile_path}
|
50
53
|
|
51
54
|
@modules = []
|
52
55
|
@managed_content = {}
|
@@ -55,42 +58,42 @@ class Puppetfile
|
|
55
58
|
@loaded = false
|
56
59
|
end
|
57
60
|
|
58
|
-
def load
|
61
|
+
def load
|
59
62
|
if File.readable? @puppetfile_path
|
60
|
-
self.load!
|
63
|
+
self.load!
|
61
64
|
else
|
62
65
|
logger.debug _("Puppetfile %{path} missing or unreadable") % {path: @puppetfile_path.inspect}
|
63
66
|
end
|
64
67
|
end
|
65
68
|
|
66
|
-
def load!
|
67
|
-
@default_branch_override = default_branch_override
|
68
|
-
|
69
|
+
def load!
|
69
70
|
dsl = R10K::Puppetfile::DSL.new(self)
|
70
71
|
dsl.instance_eval(puppetfile_contents, @puppetfile_path)
|
71
|
-
|
72
72
|
validate_no_duplicate_names(@modules)
|
73
73
|
@loaded = true
|
74
|
-
rescue SyntaxError, LoadError, ArgumentError => e
|
74
|
+
rescue SyntaxError, LoadError, ArgumentError, NameError => e
|
75
75
|
raise R10K::Error.wrap(e, _("Failed to evaluate %{path}") % {path: @puppetfile_path})
|
76
76
|
end
|
77
77
|
|
78
|
-
# @param [String] forge
|
79
|
-
def set_forge(forge)
|
80
|
-
@forge = forge
|
81
|
-
end
|
82
|
-
|
83
78
|
# @param [Array<String>] modules
|
84
79
|
def validate_no_duplicate_names(modules)
|
85
80
|
dupes = modules
|
86
81
|
.group_by { |mod| mod.name }
|
87
|
-
.select { |_, v| v.size > 1 }
|
82
|
+
.select { |_, v| v.size > 1 }
|
83
|
+
.map(&:first)
|
88
84
|
unless dupes.empty?
|
89
|
-
|
90
|
-
|
85
|
+
msg = _('Puppetfiles cannot contain duplicate module names.')
|
86
|
+
msg += ' '
|
87
|
+
msg += _("Remove the duplicates of the following modules: %{dupes}" % { dupes: dupes.join(' ') })
|
88
|
+
raise R10K::Error.new(msg)
|
91
89
|
end
|
92
90
|
end
|
93
91
|
|
92
|
+
# @param [String] forge
|
93
|
+
def set_forge(forge)
|
94
|
+
@forge = forge
|
95
|
+
end
|
96
|
+
|
94
97
|
# @param [String] moduledir
|
95
98
|
def set_moduledir(moduledir)
|
96
99
|
@moduledir = if Pathname.new(moduledir).absolute?
|
@@ -110,10 +113,6 @@ class Puppetfile
|
|
110
113
|
install_path = @moduledir
|
111
114
|
end
|
112
115
|
|
113
|
-
if args.is_a?(Hash) && @default_branch_override != nil
|
114
|
-
args[:default_branch] = @default_branch_override
|
115
|
-
end
|
116
|
-
|
117
116
|
# Keep track of all the content this Puppetfile is managing to enable purging.
|
118
117
|
@managed_content[install_path] = Array.new unless @managed_content.has_key?(install_path)
|
119
118
|
|
@@ -128,9 +127,7 @@ class Puppetfile
|
|
128
127
|
def managed_directories
|
129
128
|
self.load unless @loaded
|
130
129
|
|
131
|
-
|
132
|
-
dirs.delete(real_basedir)
|
133
|
-
dirs
|
130
|
+
@managed_content.keys
|
134
131
|
end
|
135
132
|
|
136
133
|
# Returns an array of the full paths to all the content being managed.
|
@@ -182,6 +179,8 @@ class Puppetfile
|
|
182
179
|
end
|
183
180
|
|
184
181
|
def validate_install_path(path, modname)
|
182
|
+
real_basedir = Pathname.new(basedir).cleanpath.to_s
|
183
|
+
|
185
184
|
unless /^#{Regexp.escape(real_basedir)}.*/ =~ path
|
186
185
|
raise R10K::Error.new("Puppetfile cannot manage content '#{modname}' outside of containing environment: #{path} is not within #{real_basedir}")
|
187
186
|
end
|
@@ -189,10 +188,6 @@ class Puppetfile
|
|
189
188
|
true
|
190
189
|
end
|
191
190
|
|
192
|
-
def real_basedir
|
193
|
-
Pathname.new(basedir).cleanpath.to_s
|
194
|
-
end
|
195
|
-
|
196
191
|
class DSL
|
197
192
|
# A barebones implementation of the Puppetfile DSL
|
198
193
|
#
|
data/lib/r10k/source/base.rb
CHANGED
@@ -16,6 +16,11 @@ class R10K::Source::Base
|
|
16
16
|
# Defaults to nil.
|
17
17
|
attr_reader :prefix
|
18
18
|
|
19
|
+
# @!attribute [r] puppetfile_name
|
20
|
+
# @return [String, nil] The Name of the puppetfile
|
21
|
+
# Defaults to nil.
|
22
|
+
attr_reader :puppetfile_name
|
23
|
+
|
19
24
|
# Initialize the given source.
|
20
25
|
#
|
21
26
|
# @param name [String] The identifier for this source.
|
@@ -30,6 +35,7 @@ class R10K::Source::Base
|
|
30
35
|
@name = name
|
31
36
|
@basedir = Pathname.new(basedir).cleanpath.to_s
|
32
37
|
@prefix = options.delete(:prefix)
|
38
|
+
@puppetfile_name = options.delete(:puppetfile_name)
|
33
39
|
@options = options
|
34
40
|
end
|
35
41
|
|
data/lib/r10k/source/git.rb
CHANGED
@@ -95,11 +95,11 @@ class R10K::Source::Git < R10K::Source::Base
|
|
95
95
|
branch_names.each do |bn|
|
96
96
|
if bn.valid?
|
97
97
|
envs << R10K::Environment::Git.new(bn.name, @basedir, bn.dirname,
|
98
|
-
{:remote => remote, :ref => bn.name})
|
98
|
+
{:remote => remote, :ref => bn.name, :puppetfile_name => puppetfile_name })
|
99
99
|
elsif bn.correct?
|
100
100
|
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}
|
101
101
|
envs << R10K::Environment::Git.new(bn.name, @basedir, bn.dirname,
|
102
|
-
{:remote => remote, :ref => bn.name})
|
102
|
+
{:remote => remote, :ref => bn.name, :puppetfile_name => puppetfile_name})
|
103
103
|
elsif bn.validate?
|
104
104
|
logger.error _("Environment %{env_name} contained non-word characters, ignoring it.") % {env_name: bn.name.inspect}
|
105
105
|
end
|
data/lib/r10k/source/svn.rb
CHANGED
@@ -55,10 +55,11 @@ class R10K::Source::SVN < R10K::Source::Base
|
|
55
55
|
# @option options [String] :remote The URL to the base directory of the SVN repository
|
56
56
|
# @option options [String] :username The SVN username
|
57
57
|
# @option options [String] :password The SVN password
|
58
|
+
# @option options [String] :puppetfile_name The puppetfile name
|
58
59
|
def initialize(name, basedir, options = {})
|
59
60
|
super
|
60
61
|
|
61
|
-
setopts(options, {:remote => :self, :username => :self, :password => :self})
|
62
|
+
setopts(options, {:remote => :self, :username => :self, :password => :self, :puppetfile_name => :self })
|
62
63
|
@environments = []
|
63
64
|
@svn_remote = R10K::SVN::Remote.new(@remote, :username => @username, :password => @password)
|
64
65
|
@ignore_branch_prefixes = options[:ignore_branch_prefixes]
|
@@ -88,7 +89,8 @@ class R10K::Source::SVN < R10K::Source::Base
|
|
88
89
|
options = {
|
89
90
|
:remote => path,
|
90
91
|
:username => @username,
|
91
|
-
:password => @password
|
92
|
+
:password => @password,
|
93
|
+
:puppetfile_name => puppetfile_name
|
92
94
|
}
|
93
95
|
R10K::Environment::SVN.new(branch.name, @basedir, branch.dirname, options)
|
94
96
|
end
|
data/lib/r10k/util/purgeable.rb
CHANGED
@@ -45,10 +45,12 @@ module R10K
|
|
45
45
|
|
46
46
|
# @return [Array<String>] Directory contents that are present but not expected
|
47
47
|
def stale_contents(recurse, exclusions, whitelist)
|
48
|
+
fn_match_opts = File::FNM_PATHNAME | File::FNM_DOTMATCH
|
49
|
+
|
48
50
|
(current_contents(recurse) - desired_contents).reject do |item|
|
49
|
-
if exclusion_match = exclusions.find { |ex_item| File.fnmatch?(ex_item, item,
|
51
|
+
if exclusion_match = exclusions.find { |ex_item| (ex_item == item) || File.fnmatch?(ex_item, item, fn_match_opts) }
|
50
52
|
logger.debug2 _("Not purging %{item} due to internal exclusion match: %{exclusion_match}") % {item: item, exclusion_match: exclusion_match}
|
51
|
-
elsif whitelist_match = whitelist.find { |wl_item| File.fnmatch?(wl_item, item,
|
53
|
+
elsif whitelist_match = whitelist.find { |wl_item| (wl_item == item) || File.fnmatch?(wl_item, item, fn_match_opts) }
|
52
54
|
logger.debug _("Not purging %{item} due to whitelist match: %{whitelist_match}") % {item: item, whitelist_match: whitelist_match}
|
53
55
|
end
|
54
56
|
|
@@ -28,15 +28,15 @@ class R10K::Util::Subprocess::Runner::POSIX < R10K::Util::Subprocess::Runner
|
|
28
28
|
|
29
29
|
@stdout_pump = R10K::Util::Subprocess::Runner::Pump.new(@stdout_r)
|
30
30
|
@stderr_pump = R10K::Util::Subprocess::Runner::Pump.new(@stderr_r)
|
31
|
+
@stdout_pump.start
|
32
|
+
@stderr_pump.start
|
33
|
+
|
31
34
|
pid = fork do
|
32
35
|
exec_r.close
|
33
36
|
execute_child(exec_w)
|
34
37
|
end
|
35
38
|
|
36
39
|
exec_w.close
|
37
|
-
@stdout_pump.start
|
38
|
-
@stderr_pump.start
|
39
|
-
|
40
40
|
execute_parent(exec_r, pid)
|
41
41
|
|
42
42
|
@result
|
data/lib/r10k/version.rb
CHANGED
@@ -1,6 +1,3 @@
|
|
1
1
|
module R10K
|
2
|
-
|
3
|
-
# `#minor` (respectively) in your commit message to trigger the appropriate
|
4
|
-
# release. Otherwise, a new patch (Z) version will be released.
|
5
|
-
VERSION = '2.6.9'
|
2
|
+
VERSION = '3.0.0'
|
6
3
|
end
|
data/locales/r10k.pot
CHANGED
@@ -6,11 +6,11 @@
|
|
6
6
|
#, fuzzy
|
7
7
|
msgid ""
|
8
8
|
msgstr ""
|
9
|
-
"Project-Id-Version: r10k 2.6.
|
9
|
+
"Project-Id-Version: r10k 2.6.3-141-gc7f57d5\n"
|
10
10
|
"\n"
|
11
11
|
"Report-Msgid-Bugs-To: docs@puppetlabs.com\n"
|
12
|
-
"POT-Creation-Date: 2018-
|
13
|
-
"PO-Revision-Date: 2018-
|
12
|
+
"POT-Creation-Date: 2018-08-02 19:06+0000\n"
|
13
|
+
"PO-Revision-Date: 2018-08-02 19:06+0000\n"
|
14
14
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
15
15
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
16
16
|
"Language: \n"
|
@@ -75,10 +75,6 @@ msgstr ""
|
|
75
75
|
msgid "Syntax OK"
|
76
76
|
msgstr ""
|
77
77
|
|
78
|
-
#: ../lib/r10k/action/puppetfile/cri_runner.rb:19
|
79
|
-
msgid "The use of the PUPPETFILE and PUPPETFILE_DIR environment variables is deprecated."
|
80
|
-
msgstr ""
|
81
|
-
|
82
78
|
#: ../lib/r10k/action/puppetfile/install.rb:30
|
83
79
|
msgid "Updating module %{mod_path}"
|
84
80
|
msgstr ""
|
@@ -107,7 +103,7 @@ msgstr ""
|
|
107
103
|
msgid "Unable to load sources; the supplied configuration does not define the 'sources' key"
|
108
104
|
msgstr ""
|
109
105
|
|
110
|
-
#: ../lib/r10k/environment/base.rb:
|
106
|
+
#: ../lib/r10k/environment/base.rb:59 ../lib/r10k/environment/base.rb:75 ../lib/r10k/environment/base.rb:84 ../lib/r10k/source/base.rb:64
|
111
107
|
msgid "%{class} has not implemented method %{method}"
|
112
108
|
msgstr ""
|
113
109
|
|
@@ -247,6 +243,10 @@ msgstr ""
|
|
247
243
|
msgid "Fetching remote '%{remote}' at %{path}"
|
248
244
|
msgstr ""
|
249
245
|
|
246
|
+
#: ../lib/r10k/git/rugged/working_repository.rb:125 ../lib/r10k/git/shellgit/working_repository.rb:100
|
247
|
+
msgid "Found local modifications in %{file_path}"
|
248
|
+
msgstr ""
|
249
|
+
|
250
250
|
#: ../lib/r10k/git/stateful_repository.rb:40
|
251
251
|
msgid "Unable to sync repo to unresolvable ref '%{ref}'"
|
252
252
|
msgstr ""
|
@@ -319,23 +319,27 @@ msgstr ""
|
|
319
319
|
msgid "Could not read metadata.json"
|
320
320
|
msgstr ""
|
321
321
|
|
322
|
-
#: ../lib/r10k/puppetfile.rb:
|
322
|
+
#: ../lib/r10k/puppetfile.rb:52
|
323
|
+
msgid "Using Puppetfile '%{puppetfile}'"
|
324
|
+
msgstr ""
|
325
|
+
|
326
|
+
#: ../lib/r10k/puppetfile.rb:65
|
323
327
|
msgid "Puppetfile %{path} missing or unreadable"
|
324
328
|
msgstr ""
|
325
329
|
|
326
|
-
#: ../lib/r10k/puppetfile.rb:
|
330
|
+
#: ../lib/r10k/puppetfile.rb:75
|
327
331
|
msgid "Failed to evaluate %{path}"
|
328
332
|
msgstr ""
|
329
333
|
|
330
|
-
#: ../lib/r10k/puppetfile.rb:
|
331
|
-
msgid "Puppetfiles
|
334
|
+
#: ../lib/r10k/puppetfile.rb:85
|
335
|
+
msgid "Puppetfiles cannot contain duplicate module names."
|
332
336
|
msgstr ""
|
333
337
|
|
334
338
|
#: ../lib/r10k/puppetfile.rb:87
|
335
339
|
msgid "Remove the duplicates of the following modules: %{dupes}"
|
336
340
|
msgstr ""
|
337
341
|
|
338
|
-
#: ../lib/r10k/puppetfile.rb:
|
342
|
+
#: ../lib/r10k/puppetfile.rb:213
|
339
343
|
msgid "unrecognized declaration '%{method}'"
|
340
344
|
msgstr ""
|
341
345
|
|
@@ -415,7 +419,7 @@ msgstr ""
|
|
415
419
|
msgid "Environment %{env_name} contained non-word characters, ignoring it."
|
416
420
|
msgstr ""
|
417
421
|
|
418
|
-
#: ../lib/r10k/source/git.rb:123 ../lib/r10k/source/svn.rb:
|
422
|
+
#: ../lib/r10k/source/git.rb:123 ../lib/r10k/source/svn.rb:113
|
419
423
|
msgid "Branch %{branch} filtered out by ignore_branch_prefixes %{ibp}"
|
420
424
|
msgstr ""
|
421
425
|
|
@@ -443,23 +447,23 @@ msgstr ""
|
|
443
447
|
msgid "pe_license feature is not available, PE only Puppet modules will not be downloadable."
|
444
448
|
msgstr ""
|
445
449
|
|
446
|
-
#: ../lib/r10k/util/purgeable.rb:
|
450
|
+
#: ../lib/r10k/util/purgeable.rb:52
|
447
451
|
msgid "Not purging %{item} due to internal exclusion match: %{exclusion_match}"
|
448
452
|
msgstr ""
|
449
453
|
|
450
|
-
#: ../lib/r10k/util/purgeable.rb:
|
454
|
+
#: ../lib/r10k/util/purgeable.rb:54
|
451
455
|
msgid "Not purging %{item} due to whitelist match: %{whitelist_match}"
|
452
456
|
msgstr ""
|
453
457
|
|
454
|
-
#: ../lib/r10k/util/purgeable.rb:
|
458
|
+
#: ../lib/r10k/util/purgeable.rb:71
|
455
459
|
msgid "No unmanaged contents in %{managed_dirs}, nothing to purge"
|
456
460
|
msgstr ""
|
457
461
|
|
458
|
-
#: ../lib/r10k/util/purgeable.rb:
|
462
|
+
#: ../lib/r10k/util/purgeable.rb:76
|
459
463
|
msgid "Removing unmanaged path %{path}"
|
460
464
|
msgstr ""
|
461
465
|
|
462
|
-
#: ../lib/r10k/util/purgeable.rb:
|
466
|
+
#: ../lib/r10k/util/purgeable.rb:81
|
463
467
|
msgid "Unable to remove unmanaged path: %{path}"
|
464
468
|
msgstr ""
|
465
469
|
|