<!DOCTYPE author [
<!ENTITY non_empty_re "qr/./" >
]>
<machine id="VCP::Source::vss" xmlns="http://slaysys.com/StateML/1.0">
<!-- ================ TRANSITIONS =================== -->
<state id="source_vss_vssroot_prompt" class-ids="prompt_class">
<name>Source SSDIR</name>
<description>
The directory containing the srcsafe.ini file for the source
repository.
</description>
<entry-handler>
if ( $ui->in_edit_mode ) {
$default = $ui->source->repo_server;
$is_current_value = 1;
}
else {
$default = empty( $ENV{SSDIR} ) ? undef : $ENV{SSDIR};
}
</entry-handler>
<arc from="source_type_prompt" guard="'vss'" >
<description>vss</description>
<handler>
$ui->new_source( $answer );
</handler>
</arc>
<arc to="source_vss_user_prompt" guard="&non_empty_re;">
<handler>
$ui->source->repo_server( $answer )
unless empty $answer;
</handler>
</arc>
</state>
<state id="source_vss_user_prompt" class-ids="prompt_class">
<name>Source SSUSER</name>
<description>
Enter the SSUSER value needed to access the server. Defaults to
the current environment's SSUSER or 'Admin'.
</description>
<entry-handler>
if ( $ui->in_edit_mode ) {
$default = $ui->source->repo_user;
$is_current_value = 1;
}
else {
$default = empty( $ENV{SSUSER} ) ? "Admin" : $ENV{SSUSER} ;
}
</entry-handler>
<arc to="source_vss_password_prompt" guard="&non_empty_re;">
<handler>
$ui->source->repo_user( $answer )
unless empty $answer;
</handler>
</arc>
</state>
<state id="source_vss_password_prompt" class-ids="prompt_class">
<name>Source SSPWD</name>
<description>
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.
</description>
<entry-handler>
if ( $ui->in_edit_mode ) {
unless ( empty $ui->source->repo_password ) {
$default = "** current password **";
$is_current_value = 1;
}
}
else {
$default = "** current SSPWD **"
unless empty $ENV{SSPWD};
}
</entry-handler>
<arc to="source_vss_filespec_prompt">
<handler>
if ( $ui->in_edit_mode ) {
$answer = $ui->source->repo_password
if $answer eq "** current password **";
}
else {
$answer = $ENV{SSPWD}
if $answer eq "** current SSPWD **";
}
$ui->source->repo_password( $answer )
unless empty $answer;
</handler>
</arc>
</state>
<state id="source_vss_filespec_prompt" class-ids="prompt_class">
<name>Source VSS filespec</name>
<description>
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
</description>
<entry-handler>
if ( $ui->in_edit_mode ) {
$default = $ui->source->repo_filespec;
$is_current_value = 1;
}
else {
$default = "...";
}
</entry-handler>
<arc to="source_vss_undocheckout_prompt" guard="&non_empty_re;">
<handler>
$ui->source->repo_filespec( $answer );
</handler>
</arc>
</state>
<state id="source_vss_undocheckout_prompt" class-ids="prompt_class">
<name>Issue "ss undocheckout" as needed</name>
<description>
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.
</description>
<entry-handler>
if ( $ui->in_edit_mode ) {
$default = $ui->source->{VSS_UNDOCHECKOUT} ? "yes" : "no";
$is_current_value = 1;
}
else {
$default = "no";
}
</entry-handler>
<arc to="dest_id_prompt" guard="'yes'">
<description>yes</description>
<handler>
$ui->source->{VSS_UNDOCHECKOUT} = 1;
</handler>
</arc>
<arc to="dest_id_prompt" guard="'no'">
<description>no</description>
<handler>
$ui->source->{VSS_UNDOCHECKOUT} = 0;
</handler>
</arc>
</state>
</machine>
| # | Change | User | Description | Committed | |
|---|---|---|---|---|---|
| #13 | 5398 | Barrie Slaymaker |
- Tweak source .stml files to re-enable a multiple choice listing. |
||
| #12 | 4581 | Barrie Slaymaker | - user prompts have been improved, but not tested | ||
| #11 | 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 |
||
| #10 | 3859 | Barrie Slaymaker | - New UI files | ||
| #9 | 3675 | Barrie Slaymaker | - More of a .vcp file is now editable | ||
| #8 | 3669 | Barrie Slaymaker | - VCP-Source-*.stml now use new_source | ||
| #7 | 3654 | Barrie Slaymaker |
- VCP-Source-vss UI prompt is more clear - VCP::Source::vss' --cd option removed until a need is found |
||
| #6 | 3647 | Barrie Slaymaker |
- All UI prompts & descriptions rewritten. - Minor tweak to VCP::Dest::p4 P4USER defaulting |
||
| #5 | 3640 | Barrie Slaymaker |
- xmllint no longer require to build UI - UI now offers multiple choices where appropriate |
||
| #4 | 3395 | John Fetkovich | various ui refinements | ||
| #3 | 3306 | Barrie Slaymaker | Add StateML namespace support | ||
| #2 | 3254 | Barrie Slaymaker | Redo machine naminf convention. | ||
| #1 | 3253 | John Fetkovich | Added source::vss user interface |