- init
 
  - Initialize the machine
    
Next state: source_id_prompt
   
  - source_id_prompt:
    Source id
 
  - A symbolic name for the source repository. This is used to organize the
      VCP databases and to refer to the source repository in other places.
    
Must consist of a leading letter then letters, numbers,
        underscores and dashes only.
    Valid answers:
    
         => source_type_prompt
    
   
  - source_type_prompt:
    Source type
 
  - The kind of repository to copy data from.
    
Valid answers:
    
        p4 => source_p4_run_p4d_prompt
    vss => source_vss_vssroot_prompt
    cvs => source_cvs_cvsroot_prompt
    
   
  - dest_id_prompt:
    Destination id
 
  - A symbolic name for the destination repository. This is used to organize
      the VCP databases and to refer to the destination repository in other
      places.
    
Must consist of a leading letter then letters, numbers,
        underscores and dashes only.
    Valid answers:
    
         => dest_type_prompt
    
   
  - dest_type_prompt:
    Destination SCM type
 
  - The kind of repository to copy data to.
    
Valid answers:
    
        cvs => dest_cvs_cvsroot_prompt
    p4 => dest_p4_run_p4d_prompt
    vss => dest_vss_vssroot_prompt
    
   
  - wrapup: Next
    step
 
  - What to do with all of the entered options.
    
Valid answers:
    
        Save config file and run => save_config_file
    Save config file and exit => save_config_file
    
   
  - save_config_file:
    Config file name
 
  - What filename to write the configuration file to.
    
Valid answers:
    
        Config filename => convert
    
   
  - convert
 
  - Run VCP with the options entered
 
  - dest_p4_run_p4d_prompt:
    Launch a p4d for the destination
 
  - If you would like to insert into an offline repository in a local
      directory, vcp can launch a 'p4d' daemon for you in that directory. It
      will use a random high numbered TCP port.
    
Valid answers:
    
        yes => dest_p4_p4d_dir_prompt
    no => dest_p4_host_prompt
    
   
  - dest_p4_p4d_dir_prompt:
    Destination P4ROOT
 
  - The directory of the destination repository, p4d will be launched here.
    
Valid answers:
    
         => dest_p4_user_prompt
    
   
  - dest_p4_host_prompt:
    Destination P4PORT
 
  - The hostname/IP address and port of the p4d to write to, separated by a
      colon. Defaults to the default P4PORT variable as reported by the 'p4 set'
      command (with a final default to "perforce:1666" if the p4 set
      command does not return anything).
    
Valid answers:
    
        perforce:1666 => dest_p4_user_prompt
    
   
  - dest_p4_user_prompt:
    Destination P4USER
 
  - The username to connect to the destination p4d with. Defaults to the user
      reported by the 'p4 set' command (with a final default to the USER
      environment variable if the p4 set command does not return anything).
    
Valid answers:
    
         => dest_p4_password_prompt
    
   
  - dest_p4_password_prompt:
    Destination P4PASSWD
 
  - The P4PASSWD needed to access the server. Leave blank to use the default
      reported by P4PASSWD.
    
WARNING: entering a password will cause it to be echoed in
        plain text to the terminal.
    Valid answers:
    
         => dest_p4_filespec_prompt
    
   
  - dest_p4_filespec_prompt:
    Destination File Specification
 
  - Where to place the transferred revisions. This is a perforce repository
      spec and must begin with "//" and a depot name
      ("//depot"), not a local filesystem spec or a
      "//client" or "//label" spec.
    
Valid answers:
    
        //depot/directory-path/... => wrapup
    
   
  - dest_cvs_cvsroot_prompt:
    Destination CVSROOT
 
  - 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.
    
Valid answers:
    
         => dest_cvs_filespec_prompt
    
   
  - dest_cvs_filespec_prompt:
    Destination CVS filespec
 
  - 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.
    Valid answers:
    
        module/filepath/... => dest_cvs_init_cvsroot_prompt
    
   
  - dest_cvs_init_cvsroot_prompt:
    'cvs init' the destination CVSROOT
 
  - If the destination CVSROOT is a local directory, should VCP initialize a
      cvs repository in it?
    
Valid answers:
    
        yes => wrapup
    no => wrapup
    
   
  - dest_vss_vssroot_prompt:
    Destination SSDIR
 
  - The directory that will contain the srcsafe.ini file for the destination
      repostiory.
    
Valid answers:
    
         => dest_vss_user_prompt
    
   
  - dest_vss_user_prompt:
    Destination SSUSER
 
  - Enter the SSUSER value needed to access the destination server. Defaults
      to the current environment's SSUSER or 'Admin'.
    
Valid answers:
    
         => dest_vss_password_prompt
    
   
  - dest_vss_password_prompt:
    Destination SSPWD
 
  - If a password (SSPWD) is needed to access the destination server, enter it
      here. Defaults to the current SSPWD if one is set.
    
WARNING: entering a password will cause it to be echoed in
        plain text to the terminal.
    Valid answers:
    
         => dest_vss_filespec_prompt
    
   
  - dest_vss_filespec_prompt:
    Destination VSS filespec
 
  - Enter the vss filespec of the destination directory, with or without a
      leading "$/" or "/" (all names are taken as absolute).
    
Valid answers:
    
         => dest_vss_mkss_prompt
    
   
  - dest_vss_mkss_prompt:
    'mkss' the destination SSDIR
 
  - If the destination SSDIR is a local directory, should VCP use mkss to
      initialize a vss repository in it?
    
Valid answers:
    
        yes => wrapup
    no => wrapup
    
   
  - source_p4_run_p4d_prompt:
    Launch a p4d for the source
 
  - If you would like to extract from an offline repository in a local
      directory, vcp can launch a 'p4d' daemon for you in that directory. It
      will use a random high numbered TCP port.
    
Valid answers:
    
        no => source_p4_host_prompt
    yes => source_p4_p4d_dir_prompt
    
   
  - source_p4_p4d_dir_prompt:
    Source P4ROOT
 
  - The directory of the source repository. The source p4d will be launched
      here.
    
Valid answers:
    
         => source_p4_user_prompt
    
   
  - source_p4_host_prompt:
    Source P4PORT
 
  - Enter the name and port of the p4d to read from, separated by a colon.
      Defaults to what is in config file, then the P4HOST environment variable
      if set or "perforce:1666" if not.
    
Valid answers:
    
        perforce:1666 => source_p4_user_prompt
    
   
  - source_p4_user_prompt:
    Source P4USER
 
  - Enter the P4USER value needed to access the server. Defaults to the P4USER
      value reported by p4 set (with a final default to the USER environment
      variable if p4 set does not return anything).
    
Valid answers:
    
         => source_p4_password_prompt
    
   
  - source_p4_password_prompt:
    Source P4PASSWD
 
  - If a password (P4PASSWD) is needed to access the server, enter it here.
      Defaults to the current P4PASSWD if one is set.
    
WARNING: entering a password will cause it to be echoed in
        plain text to the terminal.
    Valid answers:
    
         => source_p4_filespec_prompt
    
   
  - source_p4_filespec_prompt:
    Source File specification
 
  - If you want to copy a portion of the source repository, enter a p4
      filespec starting with the depot name. Do not enter any revision or change
      number information.
    
Valid answers:
    
        //depot/directory-path/... => dest_id_prompt
    
   
  - source_cvs_cvsroot_prompt:
    Source CVSROOT
 
  - The CVSROOT to read revisions from. Defaults to the CVSROOT environment
      variable.
    
Valid answers:
    
        cvsroot spec => source_cvs_filespec_prompt
    
   
  - source_cvs_filespec_prompt:
    Source CVS filespec
 
  - Enter the cvs filespec of the file(s) to copy. This must start with a CVS
      module name and end in a filename, directory name, or "..."
      wildcard:
    
    
    module/...
    module/file
    module/path/to/subdir/...
    module/path/to/subdir/file
    
    Valid answers:
    
        module/filepath/... => source_cvs_working_directory_prompt
    
   
  - source_cvs_working_directory_prompt:
    Source CVS working directory
 
  - Enter the CVS working directory (Optional). VCP::Source::cvs will cd to
      this directory before calling cvs and won't initialize a CVS workspace of
      its own. Leave blank to allow VCP to use a temporary directory.
    
Valid answers:
    
         => source_cvs_binary_checkout_prompt
    
   
  - source_cvs_binary_checkout_prompt:
    Force binary checkout
 
  - Pass the -kb option to cvs, to force a binary checkout. This is useful
      when you want a text file to be checked out with Unix linends, or if you
      know that some files in the repository are not flagged as binary files and
      should be.
    
Valid answers:
    
        no => source_cvs_use_cvs_prompt
    yes => source_cvs_use_cvs_prompt
    
   
  - source_cvs_use_cvs_prompt:
    Use cvs executable
 
  - This forces VCP to use the cvs executable rather than read local CVSROOT
      directories directly. This is slower, but may be used to work around any
      limitations that might crop up in VCP's RCS file parser.
    
Valid answers:
    
        yes => dest_id_prompt
    no => dest_id_prompt
    
   
  - source_vss_vssroot_prompt:
    Source SSDIR
 
  - The directory containing the srcsafe.ini file for the source repository.
    
Valid answers:
    
         => source_vss_user_prompt
    
   
  - source_vss_user_prompt:
    Source SSUSER
 
  - Enter the SSUSER value needed to access the server. Defaults to the
      current environment's SSUSER or 'Admin'.
    
Valid answers:
    
         => source_vss_password_prompt
    
   
  - source_vss_password_prompt:
    Source SSPWD
 
  - If a password (SSPWD) is needed to access the server, enter it here.
      Defaults to the current SSPWD if one is set.
    
WARNING: entering a password will cause it to be echoed in
        plain text to the terminal.
    Valid answers:
    
         => source_vss_filespec_prompt
    
   
  - source_vss_filespec_prompt:
    Source VSS filespec
 
  - Enter the vss filespec of the file(s) to copy, with or without a leading
      "$/" or "/" (all names are taken as absolute). To copy
      more than one file, use a "..." or "*" wildcard:
    
    
    ...                      Copy entire repository
    project1/...             Copy entire project
    project1/file            Copy one file
    project1/dir/...         Copy a subdirectory
    project1/dir/file*.bas   Copy a set of files
    
    Valid answers:
    
         => source_vss_undocheckout_prompt
    
   
  - source_vss_undocheckout_prompt:
    Issue "ss undocheckout" as needed
 
  - If set, VCP will undo users' checkouts when it runs in to the "File
      ... is checked out by ..." error. This occurs, at least, when
      scanning metadata for a checked-out file when there is also a deleted
      version of the same file.
    
Valid answers:
    
        yes => dest_id_prompt
    no => dest_id_prompt