VCP-Source-p4.stml #6

  • //
  • guest/
  • perforce_software/
  • revml/
  • ui_machines/
  • VCP-Source-p4.stml
  • View
  • Commits
  • Open Download .zip Download (3 KB)
<!DOCTYPE author [
  <!ENTITY yes_re "qr/\Ay(es)?\z/i" >
  <!ENTITY no_re "qr/\Ano?\z/i" >
  <!ENTITY yes_no_re "qr/\A(y(es)?|no?)\z/i" >
]>

<machine id="vcp">

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

  <state id="source_p4_run_p4d_prompt" class-ids="prompt_class">
    <name>Launch a private p4d in a local directory?</name>
    <description>
    
If you are working with an offline repository in a local directory, vcp
can launch a p4d in that directory on a random hi-numbered TCP port for
you.

    </description>

    <arc from="source_prompt">
      <description>p4</description>
    </arc>

    <arc to="source_p4_p4d_dir_prompt" guard="&yes_re;">
      <description>yes</description>
    </arc>

    <arc to="source_p4_host_prompt" guard="&no_re;">
      <description>No</description>
    </arc>

  </state>


  <state id="source_p4_p4d_dir_prompt" class-ids="prompt_class">
    <name>Directory to run p4d in?</name>
    <description>

Enter the directory to launch the p4d in.  VCP will test to see
if this is a valid directory when you hit Enter.
    
    </description>

    <arc to="dest_prompt"
        guard="sub { -d $_ ? 1 : die qw{'$_' is not a valid directory} }"
    />

  </state>

  <state id="source_p4_host_prompt" class-ids="prompt_class">
    <arc to="dest_prompt" />
  </state>


  <state id="rev_root" class-ids="prompt_state_class">
    <name>Enter rev-root</name>
    <description>
      sets the revisions root of the source tree being extracted.
    </description>
    <arc to="run_p4d" guard="validate rev-root"/>
  </state>


  <state id="run_p4d" class-ids="prompt_state_class">
    <name>Run p4d flag</name>
    <description>
      run a p4d instance in the directory indicated by repo_server.
    </description>
    <arc to="bootstrap" guard="&yes_no_re;"/>
  </state>


  <state id="bootstrap" class-ids="prompt_state_class">
    <name>Bootstrap mode export (Enter file wildcard)</name>
    <description>
      Forces bootstrap mode for an entire export (-b ...) or for certain
      files. Filenames may contain wildcards, see the Regexp::Shellish
      manpage for details on what wildcards are accepted.
    </description>
    <arc to="continue" guard="validate Regexp::Shellish wildcard"/>
  </state>


  <state id="continue" class-ids="prompt_state_class">
    <name>Continue Flag</name>
    <description>
      Starts this transfer where the previous one (to the same
      destination) left off. This uses the destination's state database to
      detect what was transferred last time and to begin this transfer
      where the previous one left off.
    </description>
    <arc to="follow_branch_into" guard="&yes_no_re;"/>
  </state>


  <state id="follow_branch_into" class-ids="prompt_state_class">
    <name>Follow 'branch into' flag</name>
    <description>
      Causes VCP to notice "branch into" messages in the output of p4's
      filelog command and. If the file that's the target of the p4
      integrate (branch) command is revision number #1, adds the target to
      the list of exported files. This usually needs a --rev-root option
      to set the rev root to be high enough in the directory tree to
      include all branches (it's an error to export a file that is not
      under the rev root).
    </description>
    <arc to="exit" guard="&yes_no_re;"/>
  </state>

</machine>
# Change User Description Committed
#37 5397 Barrie Slaymaker - Update P4PASSWD prompts to allow for not setting P4PASSWD
#36 4581 Barrie Slaymaker - user prompts have been improved, but not tested
#35 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
#34 3859 Barrie Slaymaker - New UI files
#33 3669 Barrie Slaymaker - VCP-Source-*.stml now use new_source
#32 3647 Barrie Slaymaker - All UI prompts & descriptions rewritten.
- Minor tweak to VCP::Dest::p4 P4USER defaulting
#31 3640 Barrie Slaymaker - xmllint no longer require to build UI
- UI now offers multiple choices where appropriate
#30 3547 John Fetkovich Added defaults to yes/no questions (no in all cases)
#29 3538 John Fetkovich bug fix P4PASSWD defaulting
#28 3518 John Fetkovich more interactive ui improvements
#27 3515 John Fetkovich added P4HOST default
#26 3514 John Fetkovich p4 password defaulting
#25 3513 John Fetkovich defaulting of p4 user variable
#24 3512 John Fetkovich enhanced ui checks on repo_server
#23 3502 John Fetkovich removed obsolete commented out (source,dest)->init calls in stml files
#22 3486 John Fetkovich moved (source or dest)->init calls to bin/vcp
#21 3403 John Fetkovich options given on all multiple choice prompts,
       and most free-form prompts where it makes sense
#20 3398 John Fetkovich prompt language improvement
#19 3395 John Fetkovich various ui refinements
#18 3383 John Fetkovich removed setting of repo_id, it's now done in 'sub init'
       in the sources and dests
#17 3375 John Fetkovich more ui changes
#16 3306 Barrie Slaymaker Add StateML namespace support
#15 3305 John Fetkovich added calls to set fields in p4 source and dest
       state machines, and then call to init
#14 3289 John Fetkovich
#13 3260 John Fetkovich Improve some help texts
#12 3255 Barrie Slaymaker Add in support for <arc> <handler>s.
       Requires latest StateML.
       See VCP-Source-p4.stml for an example.       
       Calls VCP::Source::p4 in an unsupported way resulting in death.
#11 3254 Barrie Slaymaker Redo machine naminf convention.
#10 3249 John Fetkovich small fix
#9 3248 John Fetkovich Created VCP-Source-cvs.stml.
Small changes VCP-Source-p4.stml.
#8 3240 Barrie Slaymaker UI definition cleanup
#7 3239 Barrie Slaymaker Fix VCP-Source-p4 stml buglets.
#6 3238 John Fetkovich small changes
#5 3237 Barrie Slaymaker More work on the UI StateML conventions
#4 3236 John Fetkovich added more states, but not complete
#3 3234 Barrie Slaymaker More updates, passes make ui now.
#2 3231 Barrie Slaymaker work on STML->source code conventions
#1 3229 Barrie Slaymaker Add more .stml files