Class | RSCM::Darcs |
In: |
lib/rscm/scm/darcs.rb
|
Parent: | Base |
dir | [RW] |
# File lib/rscm/scm/darcs.rb, line 9 9: def initialize(dir=".") 10: @dir = File.expand_path(dir) 11: end
# File lib/rscm/scm/darcs.rb, line 49 49: def add(relative_filename) 50: with_working_dir(@checkout_dir) do 51: darcs("add #{relative_filename}") 52: end 53: end
# File lib/rscm/scm/darcs.rb, line 55 55: def checked_out? 56: File.exists?("#{@checkout_dir}/_darcs") 57: end
# File lib/rscm/scm/darcs.rb, line 38 38: def commit(message) 39: logfile = Tempfile.new("darcs_logfile") 40: logfile.print("something nice\n") 41: logfile.print(message + "\n") 42: logfile.close 43: 44: with_working_dir(@checkout_dir) do 45: darcs("record --all --logfile #{PathConverter.filepath_to_nativepath(logfile.path, false)}") 46: end 47: end
# File lib/rscm/scm/darcs.rb, line 17 17: def create_central 18: with_working_dir(@dir) do 19: darcs("initialize") 20: end 21: end
# File lib/rscm/scm/darcs.rb, line 23 23: def import_central(dir, message) 24: ENV["EMAIL"] = "dcontrol@codehaus.org" 25: FileUtils.cp_r(Dir.glob("#{dir}/*"), @dir) 26: with_working_dir(@dir) do 27: darcs("add --recursive .") 28: 29: logfile = Tempfile.new("darcs_logfile") 30: logfile.print("something nice\n") 31: logfile.print(message + "\n") 32: logfile.close 33: 34: darcs("record --all --logfile #{PathConverter.filepath_to_nativepath(logfile.path, false)}") 35: end 36: end
# File lib/rscm/scm/darcs.rb, line 77 77: def revisions(from_identifier, to_identifier=Time.infinity) 78: from_identifier = Time.epoch if from_identifier.nil? 79: to_identifier = Time.infinity if to_identifier.nil? 80: with_working_dir(@checkout_dir) do 81: darcs("changes --summary --xml-output") do |stdout| 82: DarcsLogParser.new.parse_revisions(stdout, from_identifier, to_identifier) 83: end 84: end 85: end
# File lib/rscm/scm/darcs.rb, line 59 59: def uptodate?(from_identifier) 60: if (!checked_out?(@checkout_dir)) 61: false 62: else 63: with_working_dir(@checkout_dir) do 64: darcs("pull --dry-run #{@dir}") do |io| 65: io.each_line do |line| 66: if (line =~ /No remote changes to pull in!/) 67: true 68: else 69: false 70: end 71: end 72: end 73: end 74: end 75: end
# File lib/rscm/scm/darcs.rb, line 93 93: def checkout_silent(to_identifier) # :yield: file 94: with_working_dir(File.dirname(checkout_dir)) do 95: darcs("get --repo-name #{File.basename(checkout_dir)} #{@dir}") 96: end 97: end