Class: RSCM::ClearCase

Inherits:
Base show all
Defined in:
lib/rscm/scm/clearcase.rb

Constant Summary collapse

LOG_FORMAT =
"Developer:%u\\nTime:%Nd\\nExtendedName:%Xn\\nVersionId:%Vn\\nPreviousVersionId:%PVn\\nElementName:%En\\nOID:%On\\nO:%o\\nMessage:%Nc\\n------------------------------------------\\n"

Instance Attribute Summary

Attributes inherited from Base

#checkout_dir

Instance Method Summary collapse

Methods inherited from Base

#==, #add, #can_create_central?, #central_exists?, #checkout, #checkout_commandline, classes, #create_central, #destroy_central, #edit, #import_central, #install_trigger, #move, register, #supports_trigger?, #to_yaml_properties, #transactional?, #trigger_installed?, #uninstall_trigger, #update_commandline

Instance Method Details

#checked_out?(checkout_dir) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/rscm/scm/clearcase.rb', line 28

def checked_out?(checkout_dir)
  File.exists?("#{checkout_dir}")
end

#commit(checkout_dir, message) ⇒ Object



42
43
44
# File 'lib/rscm/scm/clearcase.rb', line 42

def commit(checkout_dir, message)

end

#diff(checkout_dir, change) ⇒ Object



22
23
24
25
26
# File 'lib/rscm/scm/clearcase.rb', line 22

def diff(checkout_dir, change)
  with_working_dir(checkout_dir) do
    cleartool("diff -diff_format #{change.path}@@#{change.previous_native_revision_identifier} #{change.path}@@#{change.revision}")
  end
end

#importObject



46
47
48
# File 'lib/rscm/scm/clearcase.rb', line 46

def import
  # clearfsimport -preview -recurse -nsetevent <from> <to>
end

#revisions(checkout_dir, from_identifier, to_identifier = Time.infinity) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/rscm/scm/clearcase.rb', line 10

def revisions(checkout_dir, from_identifier, to_identifier=Time.infinity)
  result = Revisions.new
  with_working_dir(checkout_dir) do
    since = from_identifier.strftime("%d-%b-%Y.%H:%M:%S")
    cleartool("lshistory -recurse -nco -since #{since} -fmt #{LOG_FORMAT}") do |io|
      io.each_line {|l| puts l}
      revisions << Revision.new()
    end
  end
  result
end

#uptodate?(checkout_dir, from_identifier) ⇒ Boolean

Returns:

  • (Boolean)


32
33
34
35
36
37
38
39
40
# File 'lib/rscm/scm/clearcase.rb', line 32

def uptodate?(checkout_dir, from_identifier)
  if (!checked_out?(checkout_dir))
    false
  else
    with_working_dir(checkout_dir) do
      false
    end
  end
end