Extending/Modifying KnotTheory`: Difference between revisions

From Knot Atlas
Jump to navigationJump to search
No edit summary
Line 12: Line 12:
** [http://katlas.math.toronto.edu/svn/KnotTheory/trunk/src/ src/...] contains the individual mathematica "modules" that are glued together to make [http://katlas.math.toronto.edu/svn/KnotTheory/trunk/KnotTheory/init.m KnotTheory/init.m], the main executable of <tt>KnotTheory`</tt>.
** [http://katlas.math.toronto.edu/svn/KnotTheory/trunk/src/ src/...] contains the individual mathematica "modules" that are glued together to make [http://katlas.math.toronto.edu/svn/KnotTheory/trunk/KnotTheory/init.m KnotTheory/init.m], the main executable of <tt>KnotTheory`</tt>.
* [http://katlas.math.toronto.edu/svn/KnotTheory/branches/ branches/...] currently unused.
* [http://katlas.math.toronto.edu/svn/KnotTheory/branches/ branches/...] currently unused.
* [http://katlas.math.toronto.edu/svn/KnotTheory/tags/ tags/...] currently unused.
* [http://katlas.math.toronto.edu/svn/KnotTheory/tags/ tags/...]
** [http://katlas.math.toronto.edu/svn/KnotTheory/tags/stable stable/...] contains the last "stable" version of the package. It is a snapshot of the trunk/ directory, at some previous moment in time. "Stable" doesn't necessarily mean any great degree of testing has gone on; it just means that the most recently introduced bugs in the trunk haven't been included. The downloadable package is generated from this directory.


===Writing Your Extension===
===Writing Your Extension===
Line 19: Line 20:


<code>KnotTheory`</code> is a computer program written in an unrestricted language. Meaning that a vicious programmer could use it to do harmful things to the computer running it. Therefore unlike much of the rest of the Knot Atlas, it can be modified directly only by the administrators of this site. If you aren't one, email your extension/modification to [[User:Drorbn|Dror]]. Dror will read through it quickly to confirm that it's not malicious and doesn't do anything obviously wrong and post it in the [[Setup]] section of this manual. Thanks!
<code>KnotTheory`</code> is a computer program written in an unrestricted language. Meaning that a vicious programmer could use it to do harmful things to the computer running it. Therefore unlike much of the rest of the Knot Atlas, it can be modified directly only by the administrators of this site. If you aren't one, email your extension/modification to [[User:Drorbn|Dror]]. Dror will read through it quickly to confirm that it's not malicious and doesn't do anything obviously wrong and post it in the [[Setup]] section of this manual. Thanks!

===Advanced SVN usage===
If you have already made some contributions to the KnotTheory` package, it's possible you have direct commit access to the Subversion server. (Please ask [[User:Dror|Dror]] or [[User:Scott|Scott]] if you think you need it too.) This part of the manual documents some advanced tasks for those with commit access; probably only Dror for now.

====Making a new stable release====
You'll need a working copy that includes both the tags/ and trunk/ directories of the SVN project. Update everything! Go to the /tags/stable directory, and do an svn merge. You need to specify the beginning and end revisions; the beginning revision should be the head of the /tags/stable, the end revision should be either the head, or a recent revision of /trunk.

Please let me know if this works or not!

Revision as of 15:29, 16 February 2006


Anybody is welcome, indeed encouraged, to fix, modify or extend the package KnotTheory` to the benefit of everybody else. This note explains how this can be done and outlines some of the conventions used within KnotTheory`.

Seeing the sources

The source files for KnotTheory` are kept in a Subversion repository whose overall directory structure is as follows:

http://katlas.math.toronto.edu/svn/KnotTheory/...

  • trunk/... contains the current "working" version of the package.
    • KnotTheory/... is an unpacked version of the whole package, as seen by users.
    • src/... contains the individual mathematica "modules" that are glued together to make KnotTheory/init.m, the main executable of KnotTheory`.
  • branches/... currently unused.
  • tags/...
    • stable/... contains the last "stable" version of the package. It is a snapshot of the trunk/ directory, at some previous moment in time. "Stable" doesn't necessarily mean any great degree of testing has gone on; it just means that the most recently introduced bugs in the trunk haven't been included. The downloadable package is generated from this directory.

Writing Your Extension

Submitting Your Extension

KnotTheory` is a computer program written in an unrestricted language. Meaning that a vicious programmer could use it to do harmful things to the computer running it. Therefore unlike much of the rest of the Knot Atlas, it can be modified directly only by the administrators of this site. If you aren't one, email your extension/modification to Dror. Dror will read through it quickly to confirm that it's not malicious and doesn't do anything obviously wrong and post it in the Setup section of this manual. Thanks!

Advanced SVN usage

If you have already made some contributions to the KnotTheory` package, it's possible you have direct commit access to the Subversion server. (Please ask Dror or Scott if you think you need it too.) This part of the manual documents some advanced tasks for those with commit access; probably only Dror for now.

Making a new stable release

You'll need a working copy that includes both the tags/ and trunk/ directories of the SVN project. Update everything! Go to the /tags/stable directory, and do an svn merge. You need to specify the beginning and end revisions; the beginning revision should be the head of the /tags/stable, the end revision should be either the head, or a recent revision of /trunk.

Please let me know if this works or not!