As you've probably already noticed all of our specification files
have rcsversion="$
Revision$"
and
rcsdate="$
Date$"
when the files are
stored in a control version system such as CVS, the
$
Revision$
is replaced by something
like $Revision 1.2 $
and
$
Date$
with something like
$Date 2006/11/13 15:16:47 $
. This is particularly
useful when you want to keep track of the version and the date of the last
changes of the specification.
XINS allows you also to freeze the different parts of the specification. This is particularly useful if the person or department using the API is not the same as the one designing it or implementing the API. This way the different parties can assume the required input or output parameters. If for some reasons a function or a type changes, the specification documentation would mark the function or type in red with a tag "broken freeze".
To freeze a function, a type or a result code add the attribute
freeze next to the name in api.xml
. The value of this
attribute should be the version of the frozen specification.
For example
<api name="myproject" owner="johnd" rcsversion="$Revision: 1.3$" rcsdate="$Date: 2007/09/04 15:18:07 $"> <function name="MyFunction" freeze="1.3" /> <type name="Gender" freeze="1.1" /> <type name="LastName" /> <resultcode name="NoVowel" freeze="1.2" /> </api>
You can also specify in the xins-projects.xml
the root of the cvsweb
location:
<cvsweb href="http://cvs.mycompany.com/cvsweb/myprojects" />
If this element is provided, broken freeze will provide you with a
link where you will be able to see the changes done for this item since it
has been frozen. If you use viewcvs
only the first
provided link will work.