Sha256: 7a250ae55eed32ad7f062600eceece6d3704a66b3add33ffad1687e12e0adf22
Contents?: true
Size: 1.62 KB
Versions: 1
Compression:
Stored size: 1.62 KB
Contents
module OhlohScm::Adapters class BzrAdapter < AbstractAdapter def exist? begin head_token.to_s.length > 0 rescue logger.debug { $! } false end end def ls_tree(token) run("cd #{path} && bzr ls -V -r #{to_rev_param(token)}").split("\n") end def to_rev_param(r=nil) case r when nil 1 when Fixnum r.to_s when /^\d+$/ r else "'revid:#{r.to_s}'" end end def is_merge_commit?(commit) parent_tokens(commit).size > 1 end def export_tag(dest_dir, tag_name) run "cd '#{path}' && bzr export -r #{tag_name} #{dest_dir}" end def export(dest_dir, token=head_token) # Unlike other SCMs, Bzr doesn't simply place the contents into dest_dir. # It actually *creates* dest_dir. Since it should already exist at this point, # first we have to delete it. Dir.delete(dest_dir) if File.exist?(dest_dir) run "cd '#{url}' && bzr export --format=dir -r #{to_rev_param(token)} '#{dest_dir}'" end def tags tag_strings = run("cd '#{url}' && bzr tags").split(/\n/) tag_strings.map do |tag_string| parse_tag_names_and_revision = tag_string.split(/\s+/) if parse_tag_names_and_revision.size > 1 tag_name, rev = parse_tag_names_and_revision[0..-2].join(' '), parse_tag_names_and_revision.last else tag_name, rev = parse_tag_names_and_revision.first, nil end next if rev == '?' || tag_name == '....' time_string = run("cd '#{ url }' && bzr log -r #{ rev } | grep 'timestamp:' | sed 's/timestamp://'") [tag_name, rev, Time.parse(time_string)] end.compact end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ohloh_scm-2.5.1 | lib/ohloh_scm/adapters/bzr/misc.rb |