= TOL Development = Experienced users and developers of TOL use several resources available in this pages to access the TOL source code and to develop in a collaborative way. == Are you a experienced user? == If you feel you are an advanced TOL user and are interested in helping the TOL team, you can do it! If you want to contribute to the TOL project, please contact devel at tol-project.org. == Will we ever use other languages? == TOL is being developed by a spanish-speaking community of mathematicians, economists and software engineers. Nevertheless, TOL language's syntax has been done in English, and TOLBase interface can be used in both languages, english and spanish. You can also find some of the documentation in both languages. All TOL users worldwide are welcome to translate TOL and TOLBase into all other languages. If you want to contribute, please check the state of TOL translation to read about how you can help us translating the project into your language. == SVN usage == The version control used by TOL develpoment team to share code and resources is [http://subversion.tigris.org/ Subversion (SVN)]. You can find [http://en.wikipedia.org/wiki/Subversion_(software) here] a good introduction to SVN. The best interface of SVN for Windows is [http://tortoisesvn.tigris.org/ Tortoise SVN] using [http://winmerge.org/ WinMerge] as diff tool. The recommended interface for Linux is [http://rapidsvn.tigris.org/ RapidSVN] using [http://www.tol-project.org:8081 meld] as diff tool. On commit [http://www.topazproject.org/trac/wiki/CommitGuidelines guidelines] === Starting === Put [source:/tolp/config this] configuration file on your SVN installation or merge it with your configuration if you are using SVN for other purposes than TOL. Download all TOL-related code from the main baseline: {{{ svn co https://www.tol-project.org/svn/tolp/trunk }}} just the TOL interpreter: {{{ svn co https://www.tol-project.org/svn/tolp/trunk/tol }}} from a branch: {{{ svn co https://www.tol-project.org/svn/tolp/branches/tol_v_1_1_7 }}} === TOLBase Runtime === TOLBase is a GUI for interacting with TOL. It is implemented in Tcl/Tk and is portable to Windows and Linux. In [wiki:TclRuntime Tcl Runtime] page it is described the configuration of the runtime. === Creating a branch === When trunk version is released as Official version a branch must be created to allow parallel evolution. Another posible use of branches is trying new features. 1. Move to the tolp root of your local copy 1. Update remote changes 1. Comit all local changes 1. Make the remote branch as a copy of current trunk, for example {{{ svn copy https://www.tol-project.org/svn/tolp/trunk \ https://www.tol-project.org/svn/tolp/branches/tol_v_1_1_7 \ -m "Branch for official version TOL v.1.1.7" }}} 1. Gets a local copy of new branch {{{ svn update branches/tol_v_1_1_7 }}} === Merging changes === See [http://svnbook.red-bean.com/en/1.0/re16.html] Located in working copy of a branch for instance tol_v_1_1_7 execute {{{ svn merge -r 660:HEAD https://www.tol-project.org/svn/tolp/trunk }}} this will merge in the working copy the changes in trunk since the revision 660 until the last revision. === Reverting changes === See [http://aralbalkan.com/1381] to see what changes will be applied, do a diff, for instance in located in tol_v_1_1_7/windows/build_tools {{{ svn diff -r 672:638 README }}} to do the actual merge: {{{ svn merge -r 672:638 README }}}