Enable bi-directional stream-spec/*.cbdsst workflow.
Provide a workflow that allows developers to modfiy CBD configurations
via traditional stream spec edits, or via changes to the *.cbdsst file.
A change in either updates the other implicitly via trigger actions.
This change will help make CBD automation somewhat more transparent.
Implementation Detail: Presently, the CBD trims version specifiers
from the versioned form of the stream spec (the *.cbdsst file). This
is done for a few reasons:
* Earlier versions of P4D didn't support version specifiers in
stream specs, so they had to be trimmed off or the server would
reject them. P4D 2015.1 supports changelists only as revision
specifiers.
* CBD supports any valid revision specifier, while P4D 2015.1
supports only changelists. P4D 2015.2 may add support for
automatic labels and timestamps. That leaves only static labels
(important) and workspaces (not so import) as revision
specifiers supported by these CBD scripts outside of P4D.
Decision:
* CBD automation will detect P4D version:
o If P4D < 2014.1, strip all revision specifiers going from
*.cbdsst -> live stream spec.
o If P4D < 2014.2, strip all revision specifiers going from
*.cbdsst -> live stream spec except changelist numbers.
o If P4D < 2015.2, strip all revision specifiers going from
*.cbdsst -> live stream spec except changelist numbers and
automatic labels.
Warning: The ability to update stream specs directly had proven a
helpful workaround to earlier CBD issues which have since been
eliminated. This change would eliminate that flexibility, though it
seems it is longer be needed.