X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/7eeba28595f0089249c006550eab941e9f1521b3..605d99f67ad361a244d3ea699181aa14aca5d9ec:/cookbooks/chef/libraries/subversion.rb diff --git a/cookbooks/chef/libraries/subversion.rb b/cookbooks/chef/libraries/subversion.rb index dec188cec..8e9f1e3d2 100644 --- a/cookbooks/chef/libraries/subversion.rb +++ b/cookbooks/chef/libraries/subversion.rb @@ -29,6 +29,7 @@ class Chef @repo_attrs ||= svn_info.lines.each_with_object({}) do |line, attrs| next unless line =~ SVN_INFO_PATTERN + property = Regexp.last_match[1] value = Regexp.last_match[2] attrs[property] = value @@ -43,6 +44,19 @@ class Chef command = scm(:info) shell_out!(command, run_options(:cwd => cwd, :returns => [0, 1])).stdout end + + def revision_int + @revision_int ||= begin + if new_resource.revision =~ /^\d+$/ + new_resource.revision + else + command = scm(:info, new_resource.repository, new_resource.svn_info_args, authentication, "-r#{new_resource.revision}") + svn_info = shell_out!(command, run_options(:returns => [0, 1])).stdout + + extract_revision_info(svn_info) + end + end + end end end end