Move the 2.6 reST doc tree in place.
diff --git a/Doc/library/trace.rst b/Doc/library/trace.rst
new file mode 100644
index 0000000..91cf1a4
--- /dev/null
+++ b/Doc/library/trace.rst
@@ -0,0 +1,128 @@
+
+:mod:`trace` --- Trace or track Python statement execution
+==========================================================
+
+.. module:: trace
+   :synopsis: Trace or track Python statement execution.
+
+
+The :mod:`trace` module allows you to trace program execution, generate
+annotated statement coverage listings, print caller/callee relationships and
+list functions executed during a program run.  It can be used in another program
+or from the command line.
+
+
+.. _trace-cli:
+
+Command Line Usage
+------------------
+
+The :mod:`trace` module can be invoked from the command line.  It can be as
+simple as ::
+
+   python -m trace --count somefile.py ...
+
+The above will generate annotated listings of all Python modules imported during
+the execution of :file:`somefile.py`.
+
+The following command-line arguments are supported:
+
+:option:`--trace`, :option:`-t`
+   Display lines as they are executed.
+
+:option:`--count`, :option:`-c`
+   Produce a set of  annotated listing files upon program completion that shows how
+   many times each statement was executed.
+
+:option:`--report`, :option:`-r`
+   Produce an annotated list from an earlier program run that used the
+   :option:`--count` and :option:`--file` arguments.
+
+:option:`--no-report`, :option:`-R`
+   Do not generate annotated listings.  This is useful if you intend to make
+   several runs with :option:`--count` then produce a single set of annotated
+   listings at the end.
+
+:option:`--listfuncs`, :option:`-l`
+   List the functions executed by running the program.
+
+:option:`--trackcalls`, :option:`-T`
+   Generate calling relationships exposed by running the program.
+
+:option:`--file`, :option:`-f`
+   Name a file containing (or to contain) counts.
+
+:option:`--coverdir`, :option:`-C`
+   Name a directory in which to save annotated listing files.
+
+:option:`--missing`, :option:`-m`
+   When generating annotated listings, mark lines which were not executed with
+   '``>>>>>>``'.
+
+:option:`--summary`, :option:`-s`
+   When using :option:`--count` or :option:`--report`, write a brief summary to
+   stdout for each file processed.
+
+:option:`--ignore-module`
+   Ignore the named module and its submodules (if it is a package).  May be given
+   multiple times.
+
+:option:`--ignore-dir`
+   Ignore all modules and packages in the named directory and subdirectories.  May
+   be given multiple times.
+
+
+.. _trace-api:
+
+Programming Interface
+---------------------
+
+
+.. class:: Trace([count=1[, trace=1[, countfuncs=0[, countcallers=0[, ignoremods=()[, ignoredirs=()[, infile=None[, outfile=None]]]]]]]])
+
+   Create an object to trace execution of a single statement or expression. All
+   parameters are optional.  *count* enables counting of line numbers. *trace*
+   enables line execution tracing.  *countfuncs* enables listing of the functions
+   called during the run.  *countcallers* enables call relationship tracking.
+   *ignoremods* is a list of modules or packages to ignore.  *ignoredirs* is a list
+   of directories whose modules or packages should be ignored.  *infile* is the
+   file from which to read stored count information.  *outfile* is a file in which
+   to write updated count information.
+
+
+.. method:: Trace.run(cmd)
+
+   Run *cmd* under control of the Trace object with the current tracing parameters.
+
+
+.. method:: Trace.runctx(cmd[, globals=None[, locals=None]])
+
+   Run *cmd* under control of the Trace object with the current tracing parameters
+   in the defined global and local environments.  If not defined, *globals* and
+   *locals* default to empty dictionaries.
+
+
+.. method:: Trace.runfunc(func, *args, **kwds)
+
+   Call *func* with the given arguments under control of the :class:`Trace` object
+   with the current tracing parameters.
+
+This is a simple example showing the use of this module::
+
+   import sys
+   import trace
+
+   # create a Trace object, telling it what to ignore, and whether to
+   # do tracing or line-counting or both.
+   tracer = trace.Trace(
+       ignoredirs=[sys.prefix, sys.exec_prefix],
+       trace=0,
+       count=1)
+
+   # run the new command using the given tracer
+   tracer.run('main()')
+
+   # make a report, placing output in /tmp
+   r = tracer.results()
+   r.write_results(show_missing=True, coverdir="/tmp")
+