VCP-Dest-cvs.stml #17

  • //
  • guest/
  • perforce_software/
  • revml/
  • ui_machines/
  • VCP-Dest-cvs.stml
  • View
  • Commits
  • Open Download .zip Download (3 KB)
<!DOCTYPE author [
  <!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>Destination CVSROOT</name>
    <description>

Specifies the destination CVS repository location and protocol.
Defaults to the CVSROOT environment variable.  If this is a
local directory, VCP can initialize it for you.

    </description>

    <entry-handler>
      if ( $ui->in_edit_mode ) {
        $default = $ui->dest->repo_server;
        $is_current_value = 1;
      }
      else {
        $default = empty ( $ENV{CVSROOT} ) ? undef : $ENV{CVSROOT};
      }
    </entry-handler>

    <arc from="dest_type_prompt" guard="'cvs'" >
      <description>cvs</description>
      <handler>
        $ui->new_dest( $answer );
      </handler>
    </arc>

    <arc to="dest_cvs_filespec_prompt" guard="&non_empty_re;">
      <handler>
        $ui->dest->repo_server( $answer )
            unless empty $answer;
      </handler>
    </arc>

  </state>


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

Where to copy revisions to in the destination specified by
CVSROOT.  This must start with a CVS module name and may be in a
subdirectory of the result:

    module/...
    module/path/to/directory/...
    module/path/to/file 

For directories, this should contain a trailing "..." wildcard,
like "module/b/..." to indicate that the path is a directory.

    </description>

    <entry-handler>
      if ( $ui->in_edit_mode ) {
        $default = $ui->dest->repo_filespec;
        $is_current_value = 1;
      }

    </entry-handler>

    <arc to="dest_cvs_init_cvsroot_prompt" guard="&non_empty_re;">
      <description>module/filepath/...</description>
      <handler>
        $ui->dest->repo_filespec( $answer );
      </handler>
    </arc>
  </state>


  <state id="dest_cvs_init_cvsroot_prompt" class-ids="prompt_class">
    <name>'cvs init' the destination CVSROOT</name>
    <description>

If the destination CVSROOT is a local directory, should VCP
initialize a cvs repository in it?

    </description>

    <entry-handler>
      if ( $ui->in_edit_mode ) {
        $default = $ui->dest->{CVS_INIT_CVSROOT} ? "yes" : "no" ;
        $is_current_value = 1;
      }
      else {
        $default = "no";
      }
    </entry-handler>

    <arc to="wrapup" guard="'yes'">
      <description>yes</description>
      <handler>
        $ui->dest->{CVS_INIT_CVSROOT} = 1;
      </handler>
    </arc>

    <arc to="wrapup" guard="'no'">
      <description>no</description>
      <handler>
        $ui->dest->{CVS_INIT_CVSROOT} = 0;
      </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