Software Version Control (SVC) |
|
Overview |
About the projectThis documentation is, as SVC is as well, a quick hack. It is open for ideas and discussion. This XML language is a data format in which information on a software package is defined. It stores information on three aspects of software development: release versions, bugs, and specification fullfillment. On version controlMaybe version management is more appropriate. In SVC you can specifacally tell which version of a program, module, Java class/package or even complete projects has which functionality. An example: <softpkg> <name>FunctionConversion</name> <implementation> <!-- a distro need not be a distribution, but can also reflect a private developers version --> <distro version="0.2"> <release-date>19991214</release-date> <!-- the diff section lists the differences with the previous version --> <diffs> <!-- this defines a function called smooth() --> <func name="smooth"/> </diffs> </distro> <distro version="0.1"> <release-date>19991208</release-date> <diffs> <func name="new"/> <func name="abs"> <!-- Note that child elements of desc(ription) are supposed to be passed on by SVC software or XSLT stylesheets. Thus, within the desc element you can use XHTML or MathML. (Which is very cool IMHO.) This also holds for other elements like abstract and remark (see DTD). --> <desc>Does the following conversion: <!-- should use MathML here, but had no Amaya available today --> <ul>f'(x) = abs(f(x))</ul> The function f is supposed to be <i>function_first</i> as set with setFunctionOne. </desc> </func> </diffs> </distro> </implementation> </softpkg> It's a bit cryptic now, but full documentation will follow. But as a XML should be, i think it is rather straight forward. Convert this SVC doc with the svc2html.xsl XSLT stylesheet to a HTML file to see the result. This stylesheet can be downloaded below. On Specs fullfilmentEach SVC document can contain a quick summary of the specifications that this project must comply to: <softpkg> <name>XML::SVC::DBStore</name> <abstract>This Perl module can be used to store SVC documents into MySQL databases</abstract> <specification> <!-- note that the rule id's match a hypothetical specification. 1.1 references to Chapter 1, Section 1, for example. You are able make up usefull id's as it comes, i.e. you might want to choose an id that would reference specification numbers, etc --> <rule id="1.1">This module must be able to accept SVC document.</rule> <rule id="1.2">This module must be able to parse and validate SVC docs.</rule> <rule id="2.1">It must be able to store XML data into a MySQL database.</rule> <!-- etc --> <specification> <implementation> <distro version="0.1.0"> <diffs> <func name="parse"> <param name="parse" type="XML document">SVC document to parse</param> <desc> </func> <spec id="1.1"> <!-- the next line states how much of the spec rule with id 1.1 is if fullfiled. --> <support mark="partly" percentage="45%">Internal representation is not complete</support> <!-- this element could beter have the name remark and will soon. Reason: there is already an element remark used in func etc --> <comment>highest priority</comment> </spec> </diffs> </disro> </implementation> </softpkg> On bug managementThis part is very beta. See the DTD on current support. This will be major however. But I haven't gotten to it yet. Software will probably be written soon to have a webinterface for a bug SVC. Keep watching this page! Element descriptionsTo be done. What to expect in the near future?As I wrote earlier SVC is very young. But i think the DTD will *not* change a lot. Consider this DTD a beta version for SVC 1.0. A lot of tools will have to be developed. An example XSLT sheet is given to convert SVC to HTML or XSA.
Dicussion ListThe list homepage can be found at http://svclist.listbot.com/. DownloadThe software below can be downloaded under the GNU license. Info on this well known license can be found at http://www.gnu.org/. The changelog and buglist are both autogenerated from this SVC file with the SVC 2 HTML stylesheets below. Links
|