summaryrefslogtreecommitdiff
path: root/DEVNOTES.txt
blob: 1f5a5f2bc566a309c7fcc9423adebe9b439a92a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
====================
Notes for Developers
====================

- Distutils2 has been merged into the CPython repository under the module name
  "packaging", for release with Python 3.3.  The Distutils2 repository is used
  to maintain the backport released on PyPI for older Python versions.  It is
  recommended to work in the CPython repository if possible, but you but you
  can make patches for the Distutils2 repository if you prefer.

  Repo: http://hg.python.org/cpython (default branch)
  More info: http://wiki.python.org/moin/Distutils/Contributing

- Distutils2 runs on Python from 2.5 to 2.7, so make sure you don't use code
  that doesn't work under one of these Python versions.  The version in the
  "python3" branch is compatible with all version from 3.1 to 3.3.

- When merging default into python3, don't keep maximum compatibility with
  Python 2 but use idiomatic 3.x code, as long as it's compatible with all 3.x
  versions.  For difficult conversions like encoding handling with I/O, you can
  have a look or use a diff tool with the same file in distutils or packaging
  from Python 3.3.  If you can't run tests, let someone else do the merge.

- Always run tests.sh before you commit a change.  This implies that you have
  all Python versions installed from 2.5 to 2.7, as well as 3.1-.3.3 if you
  merge into the python3 branch.  Be sure to also have docutils installed on all
  Python versions to avoid skipping tests.

- Don't forget to update CONTRIBUTORS.txt and CHANGES.txt.