Class | RSCM::Darcs |
In: |
lib/rscm/scm/darcs.rb
|
Parent: | Base |
dir | [RW] | See progetti.arstecnica.it/tailor/browser/vcpx/darcs.py |
# File lib/rscm/scm/darcs.rb, line 19 19: def initialize(dir=".") 20: @dir = File.expand_path(dir) 21: end
# File lib/rscm/scm/darcs.rb, line 59 59: def add(relative_filename) 60: with_working_dir(@checkout_dir) do 61: darcs("add #{relative_filename}") 62: end 63: end
# File lib/rscm/scm/darcs.rb, line 65 65: def checked_out? 66: File.exists?("#{@checkout_dir}/_darcs") 67: end
# File lib/rscm/scm/darcs.rb, line 48 48: def commit(message) 49: logfile = Tempfile.new("darcs_logfile") 50: logfile.print("something nice\n") 51: logfile.print(message + "\n") 52: logfile.close 53: 54: with_working_dir(@checkout_dir) do 55: darcs("record --all --logfile #{PathConverter.filepath_to_nativepath(logfile.path, false)}") 56: end 57: end
# File lib/rscm/scm/darcs.rb, line 27 27: def create_central 28: with_working_dir(@dir) do 29: darcs("initialize") 30: end 31: end
# File lib/rscm/scm/darcs.rb, line 33 33: def import_central(dir, message) 34: ENV["EMAIL"] = "dcontrol@codehaus.org" 35: FileUtils.cp_r(Dir.glob("#{dir}/*"), @dir) 36: with_working_dir(@dir) do 37: darcs("add --recursive .") 38: 39: logfile = Tempfile.new("darcs_logfile") 40: logfile.print("something nice\n") 41: logfile.print(message + "\n") 42: logfile.close 43: 44: darcs("record --all --logfile #{PathConverter.filepath_to_nativepath(logfile.path, false)}") 45: end 46: end
# File lib/rscm/scm/darcs.rb, line 10 10: def installed? 11: begin 12: darcs("--version", {}) 13: true 14: rescue 15: false 16: end 17: end
# File lib/rscm/scm/darcs.rb, line 87 87: def revisions(from_identifier, to_identifier=Time.infinity) 88: from_identifier = Time.epoch if from_identifier.nil? 89: to_identifier = Time.infinity if to_identifier.nil? 90: with_working_dir(@checkout_dir) do 91: darcs("changes --summary --xml-output") do |stdout| 92: DarcsLogParser.new.parse_revisions(stdout, from_identifier, to_identifier) 93: end 94: end 95: end
# File lib/rscm/scm/darcs.rb, line 69 69: def uptodate?(from_identifier) 70: if (!checked_out?(@checkout_dir)) 71: false 72: else 73: with_working_dir(@checkout_dir) do 74: darcs("pull --dry-run #{@dir}") do |io| 75: io.each_line do |line| 76: if (line =~ /No remote changes to pull in!/) 77: true 78: else 79: false 80: end 81: end 82: end 83: end 84: end 85: end
# File lib/rscm/scm/darcs.rb, line 103 103: def checkout_silent(to_identifier) # :yield: file 104: with_working_dir(File.dirname(checkout_dir)) do 105: darcs("get --repo-name #{File.basename(checkout_dir)} #{@dir}") 106: end 107: end