Subversion (SVN) allows multiple people to work on code development at one time. You can get a lot more information on Subversion and/or download the code from its home page. We strongly recommend that you read the documentation and the Subversion FAQ.
There are three active modules in the current Subversion repository:
While they are not in use anymore, these ones are kept for their historical interest:
.lyx files
that may be useful for testing purposes.devel of
www-userdoc
directory before release. It is not used anymore for the main trunk,
since the documentation has been moved in the lyx-devel
module.Using SVN, you can download a whole module with just one command. If you want to look at just one SVN file, consider using Trac source browser. Trac is a tool that allows, among other things, for browsing an SVN repository and gives the possibility to browse diffs between arbitrary versions as well as reading log files and the like.
The Trac source browser for the LyX SVN repository is at the LyX home page. Most probably, though, you want to download a whole module. If so, read on.
From within the directory where you want to place your local copy of the sources, do:
svn co svn://svn.lyx.org/lyx/lyx-devel/trunk lyx-devel
This will make a directory lyx-devel and download lots of files
into that directory. (A fresh copy will need about 150MB. However, depending on which frontends you are compiling, you will need a lot more space for the compiled version, up to 800MB).
Of course you can say svn co svn://svn.lyx.org/lyx/www-user/trunk www-user
instead, depending on which module you'd like to download.
If the code is updated, just cd to the lyx-devel
directory and say:
svn update
This will magically download or patch only those files which have been changed or added, saving you (and the server) lots of time.
If you just want to check what's changed in your local copy as opposed to the repository, do:
svn status
If you want to check what's changed on the server, but not yet updated to your local copy, do:
svn status -u
Just follow the directions in INSTALL, as if you had downloaded a
tar file. For the stable module, this is pretty much just
configure, make, and make install.
If you want to compile and run the development module, things are
somewhat more complicated than for the release module. You're
going to need automake, autoconf, and
gettext, which can be downloaded from your favorite GNU ftp site.
(Start at gnu.org to find a mirror.) Once
you've installed all of that stuff, just run the autogen.sh script
written by Allan Rae, which will do things in the right order, and then tell
you to run configure and make.
We strongly support any creative impulses you may have. Bug fixes,
documentation, and new features will always be looked at carefully, and will
usually be accepted, with a number of exceptions. New features will rarely be
accepted for the stable release version. Documentation which does not follow
the requirements of the
DocStyle document will not be accepted.
Aside from that, though, we love getting new
contributions!
If you'd like to make changes to LyX, it will make everyone's life easier if you change the latest SVN sources rather than the latest release. Here's a quick rundown of what you would do:
svn update. A
patch to old sources will be much harder to apply, and is therefore
more likely to be ignored.svn diff > mypatch.diff to create a patch gzip the patch, and send to
the LyX developers' mailing list.If you find yourself creating lots of patches that the LyX team incorporates into the code, you may be granted SVN access. In that case, your life becomes even easier. Instead of the above anonymous login, you can checkout the sources with
svn co svn+ssh://svn.lyx.org/lyx/lyx-devel/trunk lyx-devel
If the user name on your operating system differs from your svn login, do instead:
svn co svn+ssh://username@svn.lyx.org/lyx/lyx-devel/trunk lyx-devel
Then you just run a svn commit to check changes in to
the Subversion tree, instead of creating a patch and mailing it in.
The LyX developers web site and the LyX Home Page are also under Subversion. They're
probably not worth downloading unless you have write access, of course.
They're both in the www-user module.
The main development in LyX is done in SVN branches, this is done to ensure the stability of the main branch (HEAD). If you are interested in helping develop or test work on these branches, you can check out a copy with a command like:
svn co svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_5_X lyx-1.5.x
| Branch Name | Maintainer | Status | Comment |
| trunk | JMatos | unstable | Main Branch |
| BRANCH_1_5_X | JSpitzm | stable | Stable 1.5 series branch |
There are also some older obsolete branches:
| Branch Name | Maintainer | Status | Comment |
| BRANCH_1_4_X | JM | stable | Stable 1.4 series branch |
| BRANCH_1_3_X | JM | stable | Stable 1.3 series branch |
| BRANCH-1_2_X | JM | stable | Stable 1.2 series branch |
| BRANCH_1_1_6 | JM | stable | Stabilizing of 1.1.6 |
| BRANCH_new_insets | Lgb | initial | make the NEW_INSETS current |
| BRANCH_NATBIB | Angus | initial | add support for natbib |
| BRANCH_GUII | John Levon | unstable | Original branch for GUI independence work |
dante e.V. the German TeX User Group, sponsored the 7th International LyX Developers Meeting. Thanks to ANSOL for kindly hosting the meeting.
Page last updated on 2008-03-17 (year-month-day).