/[dtapublic]/pubs/books/ucbka/trunk/c_vct0/c_vct0.tex
ViewVC logotype

Annotation of /pubs/books/ucbka/trunk/c_vct0/c_vct0.tex

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5 - (hide annotations) (download) (as text)
Thu Oct 6 23:27:41 2016 UTC (7 years, 5 months ago) by dashley
File MIME type: application/x-tex
File size: 6969 byte(s)
Initial commit after migrating from CVS.
1 dashley 5 %$Header: /uC Software Multi-Volume Book (A)/Chapter, VCT0, Version Control Extensions/c_vct0.tex 3 12/31/00 7:42p Dashley1 $
2    
3     \chapter{\cvctzerolongtitle{}}
4    
5     \label{cvct0}
6    
7     \beginchapterquote{``\ldots{} Beauty is the first test: there is no permanent
8     place in the world for ugly mathematics.''}
9     {G.H. Hardy \cite{bibref:b:mathematiciansapology:1940},
10     p.85}
11    
12     \section{Introduction}
13     %Section Tag: INT
14     This chapter documents the Tcl/Tk extensions present in IjuScripter and IjuConsole
15     designed to allow a script to determine the version of IjuScripter or IjuConsole under
16     which it is running. At present, there is only one such command, \emph{vcinfo}.
17    
18    
19     \section{vcinfo}
20    
21     \begin{tclcommandname}{vcinfo}%
22     retrieves embedded static version and version control information for IjuScripter or IjuConsole.
23     This allows a script to determine which executable and which version it is
24     running under.
25     \end{tclcommandname}
26    
27     \begin{tclcommandsynopsis}
28     \tclcommandsynopsisline{vcinfo}{-ijutoolsversion}
29     \tclcommandsynopsisline{vcinfo}{?-crconly? -fileversion filename}
30     \tclcommandsynopsisline{vcinfo}{?-crconly? -extensionversion extensionname}
31     \tclcommandsynopsisline{vcinfo}{-buildmanifest}
32     \end{tclcommandsynopsis}
33    
34     \begin{tclcommanddescription}
35     The \emph{vcinfo} command returns information about the version of the
36     IjuScripter or IjuConsole executable program, about the version of
37     a specific source file, or [collectively] about the version of all files
38     which [directly] contribute to the behavior of an embedded Tcl extension.
39     This command can be used to interactively
40     inquire about the version of the executable program or certain of its
41     components.
42    
43     Most commonly, this command is used to help assure reproducibility
44     of a script's behavior by coding a script so that it will
45     run only under a specific version(s) of executable.
46    
47     \begin{tclcommandinternaldescription}{\tclcommanddescsynopsisline{vcinfo}{-ijutoolsversion}}
48     Returns a string identifying the version number of the IjuScripter or IjuConsole
49     executable. The string will be of the form ``vm.nx'', where \emph{v} is the letter
50     ``v'', \emph{m} is the major version number, \emph{n} is the minor version number, and
51     \emph{x} is an optional lower-case letter identifying a service release which fixes defects
52     but adds no new functionality.
53    
54     For example, a return value of ``v1.03'' would identify version 1.03. A return
55     value of ``v1.03c'' would identify the third service release to version 1.03; with
56     the service release designed to correct defects present in version 1.03b, but adding
57     no new functionality.
58     \end{tclcommandinternaldescription}
59    
60     \begin{tclcommandinternaldescription}{\tclcommanddescsynopsisline{vcinfo}{-fileversion filename}}
61     (Not yet implemented.) Returns a string with version control information for the file
62     \emph{filename}, which must be part of the IjuScripter or IjuConsole build.
63     An error is generated if a \emph{filename} which is not part of the build
64     is supplied. This form of the \emph{vcinfo} command is not normally used from a script.
65     \end{tclcommandinternaldescription}
66    
67     \begin{tclcommandinternaldescription}{\tclcommanddescsynopsisline{vcinfo}{-crconly -fileversion filename}}
68     (Not yet implemented.) Returns the CRC32 of the the string result of the command above.
69     Note that the value returned is the CRC of the version control information embedded in the file
70     rather than the CRC of the file.
71     \emph{filename} must be part of the IjuScripter or IjuConsole build, and
72     an error is generated if a \emph{filename} which is not part of the build is supplied.
73     This form is
74     useful because it supplies a terse result of eight hexadecimal digits which can easily
75     establish with a probability of about $1-2^{-32}$ that two versions of IjuScripter or IjuConsole
76     have the same file component; or establish with unity probability that they do not.
77     \end{tclcommandinternaldescription}
78    
79     \begin{tclcommandinternaldescription}{\tclcommanddescsynopsisline{vcinfo}{-extensionversion extensionname}}
80     (Not yet implemented.) Returns a string with version control information for all
81     files which contribute directly to the behavior of the Tcl extension \emph{extensionname},
82     which must be part of the IjuScripter or IjuConsole static build.
83     An error is generated if an \emph{extensionname} which is not part of the build
84     is supplied.
85     \end{tclcommandinternaldescription}
86    
87     \begin{tclcommandinternaldescription}{\tclcommanddescsynopsisline{vcinfo}
88     {-crconly -extensionversion extensionname}}
89     (Not yet implemented.) Returns the CRC32 of the the string result of the command above.
90     Note that the value returned is the CRC of the version control information embedded in the file(s)
91     rather than the CRC(s) of the file(s).
92     \emph{extensionname} must be part of the IjuScripter or IjuConsole build, and
93     an error is generated if an \emph{extensionname} which is not part of the build is supplied.
94     This form is
95     useful because it supplies a terse result of eight hexadecimal digits which can easily
96     establish with a probability of about $1-2^{-32}$ that two versions of IjuScripter or IjuConsole
97     have the same extension component; or establish with unity probability that they do not.
98     \end{tclcommandinternaldescription}
99    
100     \begin{tclcommandinternaldescription}{\tclcommanddescsynopsisline{vcinfo}{-crconly -buildmanifest}}
101     (Not yet implemented.) Returns the full combined build manifest of IjuScripter and IjuConsole.
102     This includes size and CRC information for every file involved in the build. This form
103     of \emph{vcinfo} is provided for assistance in defect diagnosis.
104     \end{tclcommandinternaldescription}
105    
106     \end{tclcommanddescription}
107    
108     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
109     \noindent\begin{figure}[!b]
110     \noindent\rule[-0.25in]{\textwidth}{1pt}
111     \begin{tiny}
112     \begin{verbatim}
113     $Workfile: c_vct0.tex $
114     $Archive: /uC Software Multi-Volume Book (A)/Chapter, VCT0, Version Control Extensions/c_vct0.tex $
115     $Revision: 3 $
116     $Author: Dashley1 $
117     $Date: 12/31/00 7:42p $
118     $Modtime: 12/24/00 2:59a $
119     \end{verbatim}
120     \end{tiny}
121     \noindent\rule[0.25in]{\textwidth}{1pt}
122     \end{figure}
123    
124     %$History: c_vct0.tex $
125     %
126     % ***************** Version 3 *****************
127     % User: Dashley1 Date: 12/31/00 Time: 7:42p
128     % Updated in $/uC Software Multi-Volume Book (A)/Chapter, VCT0, Version Control Extensions
129     %
130     % ***************** Version 2 *****************
131     % User: Dashley1 Date: 12/22/00 Time: 12:57a
132     % Updated in $/uC Software Multi-Volume Book (A)/Chapter, VCT0, Version Control Extensions
133     % Tcl automated method of build refined.
134     %
135     % ***************** Version 1 *****************
136     % User: David Ashley Date: 11/29/00 Time: 7:14p
137     % Created in $/uC Software Multi-Volume Book (A)/Chapter, VCT0, Version Control Extensions
138     % Initial check-in.
139     %
140     %End of file C_VCT0.TEX

dashley@gmail.com
ViewVC Help
Powered by ViewVC 1.1.25