pristine:e08808e3950317cff7e8c491c9f286edc016014fb1bdc06b124b389812cde9f9 Starting with inventory: 0000000511-5c25b3e5d6208e4fe98fcb44793ce56231307d9b9d74bd46fe81f0c69fff4d8f [TAG 1.2 Alberto Bertogli **20201120181348 Ignore-this: cbeb9407469896a01281c61851073b36 ] hash: 0000000368-1ac0f7241e2ca46c82e532e172d5a7459a6ada96f41f2cfb321faae4422c820a [Make Darcsweb compatible with Python 2.7 and Python3 ernst@creagraphy.nl**20201121084932 Ignore-this: 172dbeb873f8cd61b5c4e1f637e44cb3 - Some changes in imports, also for backward compatibility with Python 2.7 - Exceptions now need parentheses - print is now a function and needs parentheses (this is the bulk) - Skipping the newline with print now explicitly requires the option end='' - Strings are default UTF, so some conversion may be removed - Conversion from number to string changed, added int() for rounding (round gave different results) - Octal numbers now must be indicated with 0o, instead of just a 0. - The has_key function is removed, now uses the “in” keyword. - The sorted() function no longer has a “cmp” option, now uses “key” - The keys() function now returns a dictionary, and must be explicitly converted to list - Python3 is more picky about tabs versus spaces for identing, so some spaces were replaces by tabs ] hash: 0000024177-3baa5a0e2550c1d45e033c1e30108e94f196ff6306dcd3b2e27854298cba30f8 [Fix for XML encoding problems in Python 2.7 ernst@creagraphy.nl**20201121135504 Ignore-this: 81f5e215e2d2e95a0c0855afed08dc73 - No change in Python 3, but in 2.7 we replace special characters by their ascii equivalent: ï becames i, etc. - Also I fixed a problem if Darcs generated the 000...000 patch as first line, leading to a crash. ] hash: 0000001549-b99258dc416a306bb98f62e14887d416ff5f6fd0141587e8c49e32f81519f93a [Auto-format code Alberto Bertogli **20201127195925 Ignore-this: 330883d3058d4693371c51a37db6d2e3 This patch applies an auto-formatting pass, using the `black` tool to make the coding style more uniform and PEP8 compliant. A new configuration file, pyproject.toml, is added to set the defaults for the tool. ] hash: 0000134288-9df6a34fdc556f1eb7bb8f7a4009c98cbf932c81b91cb8aa77ddb0ed481a520b [Remove Python 2 support, leave Python 3 only Alberto Bertogli **20201128000205 Ignore-this: 1965f8ded388c79b7da889889a804c60 This patch moves the codebase to Python 3, since Python 2 is no longer supported. Most of the work adding Python 3 support was done in the previous patch by ernst@creagraphy.nl. This patch: - Where there was ambiguity, removes Python 2 code, leaving only 3. - Adds type annotations so darcsweb now passes mypy. Some gaps still remain in UTF8 handling, but those are pre-existing and will be addressed in subsequent patches. ] hash: 0000007835-152dff84413ebcd6e72c5fe681464908ba77bf91603e458e18348bb602e667fe [Remove unused "raw" variants Alberto Bertogli **20201128001033 Ignore-this: e9773077e5612edcfebea1e927c8af93 Some actions like "commitdiff" used to support "raw" variants, some which are no longer useful in the new darcs repository format, and others were removed long ago but some dead code remains. This patch cleans up the unused variants and dead code. ] hash: 0000001894-c1dc067ce85ea5bc3eee2297c1afab7796516e30ebf2413717a7b640bdddad42 [Fix pygments invocation for Python 3 Alberto Bertogli **20201128013728 Ignore-this: d02506d3a43d311fa87cde4a889f402 Remove workaround for ancient pygments, and fix the call for Python 3. ] hash: 0000000586-878386e90993cd30e8dda85b26b2b8239b1e05d6f44fa8cffaff759b369770ee [Remove old darcs repo format path handling Alberto Bertogli **20201128013906 Ignore-this: a25c35609c3b2081d78126ba3ff276ac Some of the path handling is aware of the old darcs repo format and will try to use it to speed some things up, but the code is obsolete and no longer works on new repositories. This patch simplifies the code by removing the obsolete paths. ] hash: 0000000853-7d229ec473de7b672ee73eda7b89693cea2499f1b124905ed4feafa8e0b5b0c9 [Handle non-utf8 filenames and content properly Alberto Bertogli **20201128025551 Ignore-this: 69bd09f08b2a8b7dd6f03f776c6128c2 As part of the Python 3 migration, some bugs surfaced surrounding the handling of non-utf8 file names and content. This patch fixes the issues found, and cleans up the code a bit by unifying the escaping/unescaping mechanisms a bit more. This is not particularly pretty overall, but at least it's functional. ] hash: 0000009320-cdb27443c1ca6c46087f7cc0553701b47835a33b65b66086d7a1f4a6ce18508b [Fix file size display Alberto Bertogli **20201128025913 Ignore-this: 51ee5e51bc8f067558c60f6e24585d24 Minor bug fix for Python 3, where the division would result in a float where we want an int for readability. ] hash: 0000000444-fa5c88d31a02e87b08b52bd1fe1316eb891d48c6851377eb455d2bd2d56c3d23 [Fix RSS and Atom feeds Alberto Bertogli **20201128033214 Ignore-this: 28ac218c75af467ec79a24755b2d54f1 The Python 3 migration left the RSS and Atom feeds broken due to minor differences in dictionary APIs. This patch fixes those issues. ] hash: 0000000793-25759e008f729d2a63251323357e1851c27e84e82862482e2982f077393edf10 [Drop Python 2.7 version check Alberto Bertogli **20201130125848 Ignore-this: 910084fb7bd0c593ed800c55e61611fa The version check for Python 2.7 is no longer needed, now that Python 3 is a requirement. Thanks to ernst@creagraphy.nl for reporting this! ] hash: 0000000435-3b59d2c617c043b9de4c49dc20487c2443c4be9ac9d2c5a2aca038c9620b88ab [Support Python 3.5 Alberto Bertogli **20201207221243 Ignore-this: 2de449ae0da6d0c8a9b7365bf4b34980 Some type annotations required Python 3.7, which is alright, but some users are running Python 3.5. Since the code is otherwise compatible, replace the annotations with declarations. Those are still useful for type checking, and are 3.5 compatible. ] hash: 0000001387-2c568f20fddf64685563f3b4a8adafca154692ef471ac9f86dae5e20831cbd52 [Add README support E. Bosch **20220325224919 Ignore-this: 4a10d3362cbc708a00891ee7a70ecaf1 Show README file (in markdown or plain text) from the project in summary and tree views. This is controlled by the "readme" option in config.py (by default not enabled). ] hash: 0000001901-09298dfe17b39651847e2ed2a80faca3cc4f43e6ca2337ada266c248e1d6d49f [Auto-format the new print_readme() function Alberto Bertogli **20220326090804 Ignore-this: 84a9401d7945b64fc1a3b48d1673f6b9 This patch auto-formats the new print_readme() function, and also adds some guards in case the markdown format isn't available. ] hash: 0000000887-83b9f0820eba15398aecb7bbd4a6afd2c379b6dad83c5132bfa442e2a140285e [Fix URL separators in Python >=3.9.2 Alberto Bertogli **20220326094149 Ignore-this: 4dcd8c4a4c0d23f42d343fa654386858 In Python 3.9.2 and above, the ';' is no longer a valid separator by default, which breaks the links we use. A new "separator" parameter is introduced to allow to adjust this behaviour. Since darcsweb uses ';' as separator, that change breaks darcsweb. This patch fixes the problem by passing the corresponding parameter on newer Python versions, so we don't break any links and darcsweb continues to be functional. In the future we may change the links to use "&" instead. However, that would break pre-existing links, so for now do the least intrusive change, which is more backwards-compatible. ] hash: 0000001190-109497789133fe9b6195d294069468eb5b0b5a0c3d125dad1da07d4eb4c968c0