Initialize the machine 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. source_repo_id && $ui->source_repo_id; $is_current_value = $ui->{EditMode} = 1 unless empty $default; ]]> ## Set the UI's source_repo_id. This will write-through to ## the underlying source if it's been loaded already, ## otherwise the call to new_source() will do the write-through ## when it is loaded later. $ui->source_repo_id( $answer ) unless ! empty $ui->source_repo_id and empty $answer; Source type The kind of repository to copy data from. source && $ui->source->repo_scheme; $is_current_value = $ui->{EditMode} = 1 unless empty $default; ]]> 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. dest_repo_id && $ui->dest_repo_id; $is_current_value = $ui->{EditMode} = 1 unless empty $default; ]]> ## Set the UI's dest_repo_id. This will write-through to ## the underlying destination if it's been loaded already, ## otherwise the call to new_dest() will do the write-through ## when it is loaded later. $ui->dest_repo_id( $answer ) unless ! empty $ui->dest_repo_id and empty $answer; Destination SCM type The kind of repository to copy data to. dest && $ui->dest->repo_scheme; $is_current_value = $ui->{EditMode} = 1 unless empty $default; ]]> Next step What to do with all of the entered options. $default = "Save config file and run"; Save config file and run $ui->{Run} = 1; Save config file and exit Run without saving config file $ui->{Run} = 1; Config file name What filename to write the configuration file to. if ( ! empty $ui->{Filename} ) { $default = $ui->{Filename}; $is_current_value = 1; } else { $default = $ui->source->repo_id . "_to_" . $ui->dest->repo_id . ".vcp"; } Config filename $ui->{SaveAsConfigFileName} = $answer; if ( -e $answer ) { die "Warning: '$answer' exists but is a directory!\n" if -d $answer; die "Warning: '$answer' exists but is not a regular file!\n" unless -f $answer; die "Warning: '$answer' exists but is not writable!\n" unless -w $answer; die "Warning: '$answer' already exists!\n"; } Run VCP with the options entered