VCP-Dest-cvs.stml #6

  • //
  • guest/
  • perforce_software/
  • revml/
  • ui_machines/
  • VCP-Dest-cvs.stml
  • View
  • Commits
  • Open Download .zip Download (2 KB)
<!DOCTYPE author [
  <!ENTITY yes_re "qr/\Ay(es)?\z/i" >
  <!ENTITY no_re "qr/\Ano?\z/i" >
  <!ENTITY non_empty_re "qr/./" >
]>

<machine id="VCP::Dest::cvs" xmlns="http://slaysys.com/StateML/1.0">

  <!-- ================ TRANSITIONS =================== -->

  <state id="dest_cvs_cvsroot_prompt" class-ids="prompt_class">
    <name>cvsroot</name>
    <description>

Enter the cvsroot spec.  Leave empty to use the CVSROOT environment
variable if set.

    </description>

    <arc from="dest_prompt" guard="'cvs'" >
      <description>cvs</description>
      <handler>
        require VCP::Dest::cvs;
        $ui->{Dest} = VCP::Dest::cvs->new;
        $ui->{Dest}->repo_scheme( 'cvs' );
      </handler>
    </arc>

    <arc to="dest_cvs_filespec_prompt"
       guard="sub { die qq{A cvsroot spec is required because the CVSROOT environment variable is not set.\n} unless length or exists $ENV{CVSROOT}; 1; }"
    >
      <description>cvsroot spec</description>
      <handler>
        $ui->{Dest}->repo_server( $answer )
            unless empty $answer;
      </handler>
    </arc>

  </state>


  <state id="dest_cvs_filespec_prompt" class-ids="prompt_class">
    <name>cvs filespec</name>
    <description>

Enter the cvs filespec.  This must be in the form "module/filespec".
The filespec may contain trailing wildcards, like "a/b/..." to extract
an entire directory tree.

    </description>
    <arc to="dest_cvs_init_cvsroot_prompt" guard="&non_empty_re;">
      <handler>
        $ui->{Dest}->repo_filespec( $answer );
      </handler>
    </arc>
  </state>


  <state id="dest_cvs_init_cvsroot_prompt" class-ids="prompt_class">
    <name>Change branch rev #1</name>
    <description>

Initialize a cvs repository in the directory indicated in the cvs
CVSROOT spec?

    </description>

    <arc to="convert" guard="&yes_re;">
      <handler>
        $ui->{Dest}->init;
        $ui->{Dest}->{CVS_INIT_CVSROOT} = 1;
      </handler>
    </arc>
    <arc to="convert" guard="&no_re;">
      <handler>
        $ui->{Dest}->init;
      </handler>
    </arc>

  </state>


</machine>
# Change User Description Committed
#17 4064 Barrie Slaymaker - RevML is no longer offered in the UI
- Sources and dests are given an id in the UI
- The .vcp file name defaulting now works
#16 3859 Barrie Slaymaker - New UI files
#15 3647 Barrie Slaymaker - All UI prompts & descriptions rewritten.
- Minor tweak to VCP::Dest::p4 P4USER defaulting
#14 3644 Barrie Slaymaker - Add Save & Run options to end of UI
#13 3640 Barrie Slaymaker - xmllint no longer require to build UI
- UI now offers multiple choices where appropriate
#12 3547 John Fetkovich Added defaults to yes/no questions (no in all cases)
#11 3521 John Fetkovich default cvsroot from $ENV{CVSROOT}
#10 3502 John Fetkovich removed obsolete commented out (source,dest)->init calls in stml files
#9 3486 John Fetkovich moved (source or dest)->init calls to bin/vcp
#8 3484 John Fetkovich fix a prompt name
#7 3403 John Fetkovich options given on all multiple choice prompts,
       and most free-form prompts where it makes sense
#6 3399 John Fetkovich ui fixes
#5 3395 John Fetkovich various ui refinements
#4 3390 John Fetkovich handlers for cvs ui
#3 3306 Barrie Slaymaker Add StateML namespace support
#2 3254 Barrie Slaymaker Redo machine naminf convention.
#1 3252 John Fetkovich added state machine parts for these destinations