diff options
author | Matti Picus <matti.picus@gmail.com> | 2019-05-20 12:56:07 +0300 |
---|---|---|
committer | Matti Picus <matti.picus@gmail.com> | 2019-05-20 12:56:07 +0300 |
commit | 0e247a0a32ba68f9c3aefb4ea00adf587a577507 (patch) | |
tree | f67580115b429571920c457cbb1ccc9469c057f3 /lib-python | |
parent | update to v2.7.16 (diff) | |
download | pypy-0e247a0a32ba68f9c3aefb4ea00adf587a577507.tar.gz pypy-0e247a0a32ba68f9c3aefb4ea00adf587a577507.tar.bz2 pypy-0e247a0a32ba68f9c3aefb4ea00adf587a577507.zip |
add how-to-update
Diffstat (limited to 'lib-python')
-rw-r--r-- | lib-python/stdlib-upgrade.txt | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/lib-python/stdlib-upgrade.txt b/lib-python/stdlib-upgrade.txt new file mode 100644 index 0000000000..19d1143feb --- /dev/null +++ b/lib-python/stdlib-upgrade.txt @@ -0,0 +1,37 @@ +Process for upgrading the stdlib to a new cpython version +========================================================== + +.. note:: + + overly detailed + +The idea is to +- exactly copy cpython's stdlib to a "vendor" branch on top of the previous + version +- clean up the hg history for moved files so the merge from pypy will work +- branch off that with a new integration branch +- merge default or py3 into that branch, which will update with all the + modifications pypy made to the stdlib + +And in more detail: + +0. make sure your working dir is clean +1. check out the branch vendor/stdlib (for 2.7) or vendor/stdlib-3-* (for py3k) + or create branch vendor/stdlib-3-* +2. upgrade the files there + 2a. remove lib-python/2.7/ or lib-python/3/ + 2b. copy the files from the cpython repo + 2c. hg add lib-python/2.7/ or lib-python/3/ + 2d. hg remove --after + 2e. show copied files in cpython repo by running `hg diff --git -r v<old> -r v<new> Lib | grep '^copy \(from\|to\)'` or `git diff --compact-summary v<old>..v<new> Lib` and search for `=>` + 2f. fix copies / renames manually by running `hg copy --after <from> <to>` for each copied file +3. update stdlib-version.txt with the output of hg -id from the cpython repo +4. commit +5. update to default / py3k +6. create a integration branch for the new stdlib + (just hg branch stdlib-$version) +7. merge vendor/stdlib or vendor/stdlib-3-* +8. commit +10. fix issues +11. commit --close-branch +12. merge to default / py3k |