The Docutils Version Repository (original) (raw)

Lea Wiemann, Docutils developers

Contact:

docutils-develop@lists.sourceforge.net

Revision:

10020

Date:

2025-03-07

Copyright:

This document has been placed in the public domain.

Docutils uses a Subversion (SVN) repository located atdocutils.svn.sourceforge.net.

While Unix and Mac OS X users will probably prefer the standard Subversion command line interface, Windows user may want to tryTortoiseSVN, a convenient explorer extension. The instructions apply analogously.

There is a Git mirror at http://repo.or.cz/docutils.git providingweb access and the base for creating a local Git clone.[1]

For the project policy on repository use (check-in requirements, branching, etc.), please see the Docutils Project Policies.

Contents

Accessing the Repository

Web Access

The repository can be browsed and examined via the web athttps://sourceforge.net/p/docutils/code.

Alternatively, use the web interface at http://repo.or.cz/docutils.git.[1]

Repository Access Methods

To get a checkout, first determine the root of the repository depending on your preferred protocol:

anonymous access: (read only)

Subversion: https://svn.code.sf.net/p/docutils/code

Git: git://repo.or.cz/docutils.git

developer access: (read and write)

svn+ssh://@svn.code.sf.net/p/docutils/code

Checking Out the Repository

Git users can clone a mirror of the docutils repository with

git clone git://repo.or.cz/docutils.git

and proceed according to the Git documentation. Developer access (read and write) is possible with git svn.

Subversion users can use the following commands (substitute your preferred repository root for ROOT):

Note that you probably do not want to check out the ROOT itself (without "/trunk"), because then you'd end up fetching the whole Docutils tree for every branch and tag over and over again.

To update your working copy later on, cd into the working copy and type

svn update

Switching the Repository Root

If you changed your mind and want to use a different repository root,cd into your working copy and type:

svn switch --relocate OLDROOT NEWROOT

Editable installs

There are several ways to ensure that edits to the Docutils code are picked up by Python.

We'll assume that the Docutils "trunk" is checked out under the~/projects/ directory.

  1. Do an editable install with pip:
    python3 -m pip install -e ~/projects/docutils/docutils
  2. Install "manually".
    Ensure that the "docutils" package is in the module search path (sys.path) by one of the following actions:
    1. Set the PYTHONPATH environment variable.
      For the bash shell, add this to your ~/.profile:
      PYTHONPATH=$HOME/projects/docutils/docutils
      export PYTHONPATH
      The first line points to the directory containing the docutilspackage, the second line exports the environment variable.
    2. Create a symlink to the docutils package directory somewhere in thesys.path, e.g.,
      ln -s ~/projects/docutils/docutils \
      /usr/local/lib/python3.9/dist-packages/
    3. Use a path configuration file.
      Optionally, add some or all front-end tools to the binary search path, e.g.:
    4. add the tools directory to the PATH variable:
      PATH=$PATH:$HOME/projects/docutils/docutils/tools
      export PATH
      or
    5. link idividual front-end tools to a suitable place in the binary path:
      ln -s ~/projects/docutils/docutils/tools/docutils-cli.py \
      /usr/local/bin/docutils
  3. Do a regular install. Repeat after any change.

Tip:

A useful addition to the docutils top-level directory in_SVN branches_ and alternate copies of the code is a set-PATHSshell script containing the following lines:

source this file

export PYTHONPATH=$PWD:$PYTHONPATH export PATH=$PWD/tools:$PATH

Open a shell for this branch, cd to the docutils top-level directory, and "source" this file. For example, using the bash shell:

$ cd some-branch/docutils $ . set-PATHS

Information for Developers

If you would like to have write access to the repository, register with SourceForge.net and send your SourceForge.net user names to docutils-develop@lists.sourceforge.net. (Note that there may be a delay of several hours until you can commit changes to the repository.)

Sourceforge SVN access is documented here

Ensure any changes comply with the Docutils Project Policiesbefore checking in,

Setting Up Your Subversion Client For Development

Before committing changes to the repository, please ensure that the following lines are contained (and uncommented) in your local ~/.subversion/config file, so that new files are added with the correct properties set:

[miscellany]

For your convenience:

global-ignores = ... *.pyc ...

For correct properties:

enable-auto-props = yes

[auto-props] *.py = svn:eol-style=native;svn:keywords=Author Date Id Revision *.rst = svn:eol-style=native;svn:keywords=Author Date Id Revision *.txt = svn:eol-style=native;svn:keywords=Author Date Id Revision *.html = svn:eol-style=native;svn:keywords=Author Date Id Revision *.xml = svn:eol-style=native;svn:keywords=Author Date Id Revision *.tex = svn:eol-style=native;svn:keywords=Author Date Id Revision *.css = svn:eol-style=native;svn:keywords=Author Date Id Revision *.patch = svn:eol-style=native *.sh = svn:eol-style=native;svn:executable;svn:keywords=Author Date Id Revision *.png = svn:mime-type=image/png *.jpg = svn:mime-type=image/jpeg *.gif = svn:mime-type=image/gif

Repository Layout

The following tree shows the repository layout:

docutils/ |-- branches/ | |-- branch1/ | | |-- docutils/ | | |-- sandbox/ | | -- web/ | -- branch2/ | |-- docutils/ | |-- sandbox/ | -- web/ |-- tags/ | |-- tag1/ | | |-- docutils/ | | |-- sandbox/ | | -- web/ | -- tag2/ | |-- docutils/ | |-- sandbox/ | -- web/ -- trunk/ |-- docutils/ |-- sandbox/ -- web/

The main source tree lives at docutils/trunk/docutils/, next to the sandboxes (docutils/trunk/sandbox/) and the web site files (docutils/trunk/web/).

docutils/branches/ and docutils/tags/ contain (shallow) copies of either the whole trunk or only the main source tree (docutils/trunk/docutils).