Differences between revisions 4 and 5
Revision 4 as of 2020-07-08 13:57:19
Size: 3868
Comment: update mention of mercurial repository
Revision 5 as of 2020-07-08 18:19:59
Size: 0
Comment: shorter version is now on http://www.fast-downward.org/Releases
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Back to ObtainingAndRunningFastDownward.

= Legacy Subversion repository =

The old Subversion repository that was used prior to our switch to Mercurial and later to Git is still around, and if you're working on a branch of Fast Downward, you can still work with it. At some point we'll probably switch the whole repository to read-only, but right now, only the trunk has been frozen. If you still need access to the Subversion repository, this page is for you. We're assuming an Ubuntu Linux system or similar, but it should not be difficult to adapt these instructions to other Unix-ish systems.

/!\ '''The Subversion repository does not contain current Fast Downward code!'''

If that's what you're looking for, read ObtainingAndRunningFastDownward instead.

== Using and obtaining Subversion ==

If you haven't used Subversion before, you may want to have a look at the [[http://svnbook.red-bean.com/|excellent documentation available online]]. However, you don't really have to understand Subversion to use the planner, unless you also want to use our repository for your development efforts (see [[#Repository_write_access]] below).

If Subversion is not yet installed on your system, {{{
sudo apt-get install subversion}}} should help.

== Obtaining the code ==

To get access to the planner, <<MailTo(malte.helmert@unibas.ch, send me an email)>>. I will then add you to the list of people with access to the Subversion repository, and you will receive an automated email with instructions on how to set up your system to allow checking out the code.

The email will tell you to use the command {{{
svn checkout svn+ssh://downward-svn DIRNAME}}} for the actual check-out, which is not a good command to use since it would check out all the (many) branches of the code, with multiple copies of the benchmark suite etc. Instead, you usually want {{{
svn checkout svn+ssh://downward-svn/branches/the-branch-that-interests-you DIRNAME}}} to only check out the branch you want.

== Compiling and running the code ==

Once you have checked out your working copy, all further steps are the same as described on ObtainingAndRunningFastDownward. Note that the instructions there assume that you chose {{{downward}}} as the {{{DIRNAME}}} above.
/!\ This is probably out of date since we switched the build system to CMake.

== Repository write access ==

By default, we will set up your Subversion account with full write access to the repository. However, please do not commit any changes to the repository without consulting us first.

If you want to develop your own branch of the planner and would like to stay within the same repository, we can set up your own branch of the code in the {{{branches/ext}}} part of the repository. (The {{{ext}}} name part stands for "externally maintained", by which we mean that what you do or don't do in these branches is completely up to you and we won't merge any changes there.) Don't be shy to ask about your own branch; we have hosted literally dozens of branches over the last few years.

Since anything ever committed to a Subversion repositories stays around (and occupies space) forever, we would ask you to follow these three rules:

 1. Don't commit any kind of derived files (object files, executables, preprocessed log files, PDF files, etc.)
 1. Don't commit any binary files without previous consultation.
 1. Don't commit any large files without previous consultation.

Please take into account that a large number of people (as of this writing, more than 50) have unlimited read and write access to the repository. While most people probably don't snoop around in other people's branches, this high level of visibility may be something you are not happy with, e.g. because it might affect your anonymity when submitting papers based on the work in your planner branch.