log

age author description
Tue, 27 Jun 2023 08:39:12 +0200 Mads Kiilerich vfs: handle shutil.rmtree deprecation of onerror in Python 3.12 stable
Tue, 27 Jun 2023 10:09:11 +0200 Mads Kiilerich tests: fix sortdict doctest with Python 3.12 stable
Tue, 27 Jun 2023 13:51:50 +0200 Mads Kiilerich utils: stop using datetime.utcfromtimestamp() deprecated in Python 3.12 stable
Thu, 06 Jul 2023 16:07:34 +0200 Raphaël Gomès branching: merge stable into default
Thu, 06 Jul 2023 16:04:36 +0200 Raphaël Gomès Added signature for changeset 3ffc7209bbae stable
Thu, 06 Jul 2023 16:04:18 +0200 Raphaël Gomès Added tag 6.5 for changeset 3ffc7209bbae stable
Thu, 06 Jul 2023 16:02:59 +0200 Raphaël Gomès relnotes: add 6.5 final stable 6.5
Thu, 06 Jul 2023 11:58:24 +0200 Georges Racinet rust-changelog: removed now useless early conditional for NULL_REVISION stable
Thu, 06 Jul 2023 11:53:40 +0200 Georges Racinet rust-revlog: fix RevlogEntry.data() for NULL_REVISION stable
Thu, 06 Jul 2023 11:43:26 +0200 Georges Racinet rust-revlog: using constant in test stable
Thu, 30 Mar 2023 11:34:30 +0200 Georges Racinet rust-revlog: fix incorrect results with NULL_NODE prefixes stable
Thu, 30 Mar 2023 10:29:29 +0200 Georges Racinet rust-revlog: split out method for `rev_from_node` without persistent nodemap stable
Thu, 08 Jun 2023 00:03:54 -0400 Matt Harbison win32mbcs: unbyteify some strings for py3 support stable
Tue, 04 Jul 2023 12:30:31 +0200 Raphaël Gomès heptapod-ci: turn off pipelines for merge request events stable
Tue, 04 Jul 2023 12:23:05 +0200 Raphaël Gomès heptapod-ci: always make the default run condition explicit stable
Tue, 04 Jul 2023 12:21:45 +0200 Raphaël Gomès heptapod-ci: remove push exception for named branches stable
Mon, 03 Jul 2023 15:28:17 +0200 Raphaël Gomès heptapod-ci: (hopefully) fix the pipeline savings system stable
Mon, 03 Jul 2023 11:02:36 +0200 Raphaël Gomès heptapod-ci: don't run pipelines for topic-less branches stable
Tue, 27 Jun 2023 16:19:42 +0200 Mathias De Mare clonebundles: add warning if auto-generate is enabled without formats stable
Tue, 27 Jun 2023 15:34:24 +0200 Mathias De Mare clonebundles: fix display of auto-generate.on-change lines stable
Mon, 26 Jun 2023 18:00:28 +0200 Mads Kiilerich hgweb: drop references to deprecated cgitb stable
Tue, 27 Jun 2023 12:09:17 +0200 Mads Kiilerich setup: fall back to setuptools setup if distutils isn't available stable
Thu, 23 Mar 2023 16:45:12 +0100 Mads Kiilerich tests: use simple mock smtp server instead of deprecated asyncore smtpd stable
Mon, 26 Jun 2023 16:45:13 +0200 Mads Kiilerich tests: fix dummysmtpd argument check stable
Mon, 26 Jun 2023 15:51:39 +0200 Mads Kiilerich tests: improve test-patchbomb-tls.t by by logging errors and data stable
Thu, 23 Mar 2023 16:48:44 +0100 Mads Kiilerich tests: show test-patchbomb-tls.t smtp server log stable
Wed, 28 Jun 2023 01:31:10 +0200 Mads Kiilerich demandimport: don't delay _distutils_hack import stable
Wed, 22 Mar 2023 16:05:59 +0100 Mads Kiilerich tests: update test-remotefilelog-gc.t for Python 3.11 stable
Mon, 26 Jun 2023 14:54:00 +0200 Mads Kiilerich tests: use grep -F instead of obsolescent fgrep stable
Mon, 26 Jun 2023 14:34:58 +0200 Mads Kiilerich tests: use grep -E instead of obsolescent egrep stable
Mon, 26 Jun 2023 11:15:30 +0100 Arseniy Alekseyev dirstate: avoid leaking disk space in `hg debugrebuilddirstate` stable
Mon, 26 Jun 2023 11:21:43 +0100 Arseniy Alekseyev dirstate-v2: actually fix the dirstate-v2 upgrade race stable
Thu, 22 Jun 2023 14:24:45 +0200 Raphaël Gomès Added signature for changeset bb42988c7e15 stable
Thu, 22 Jun 2023 14:24:21 +0200 Raphaël Gomès Added tag 6.5rc0 for changeset bb42988c7e15 stable
Thu, 22 Jun 2023 12:36:49 +0200 Raphaël Gomès relnotes: add 6.5rc0 stable 6.5rc0
Thu, 22 Jun 2023 11:36:37 +0200 Raphaël Gomès branching: merge default into stable for 6.5rc0 stable
Thu, 22 Jun 2023 11:28:17 +0200 Raphaël Gomès branching: merge stable into default
Thu, 22 Jun 2023 11:18:47 +0200 Raphaël Gomès Added signature for changeset 271a4ab29605 stable
Thu, 22 Jun 2023 11:18:27 +0200 Raphaël Gomès Added tag 6.4.5 for changeset 271a4ab29605 stable
Thu, 22 Jun 2023 11:17:40 +0200 Raphaël Gomès relnotes: add 6.4.5 stable 6.4.5
Wed, 21 Jun 2023 14:00:50 -0400 Jason R. Coombs narrow: indicated the default of 'Yes' when confirming auto-remove-includes
Wed, 21 Jun 2023 15:55:07 +0200 Pierre-Yves David clone-bundles: check we generate a valid specification
Wed, 21 Jun 2023 15:53:33 +0200 Pierre-Yves David bundle-spec: add an official method to format a spec into a string
Mon, 19 Jun 2023 18:15:35 +0200 Pierre-Yves David clonebundles: adds a auto-generate.serve-inline option
Mon, 19 Jun 2023 18:15:27 +0200 Pierre-Yves David clone-bundle: only add the REQUIRESNI bit for http(s)
Tue, 23 May 2023 10:24:57 +0200 Pierre-Yves David stream-clone: add a stream-v3 variant of test-persistent-nodemap.t
Tue, 23 May 2023 10:18:01 +0200 Pierre-Yves David stream-clone: split the stream part out of test-persistent-nodemap.t
Tue, 23 May 2023 03:09:46 +0200 Pierre-Yves David stream-clone: explicitly split debug test output for application per version
Thu, 01 Jun 2023 17:39:22 +0100 Arseniy Alekseyev stream-clone: add a v3 version of the protocol
Thu, 01 Jun 2023 18:20:28 +0100 Pierre-Yves David stream-clone: fix the help for an argument of perf::stream-locked-section
Tue, 20 Jun 2023 02:35:30 +0200 pierre-yves david infinitepush: aggressively deprecated infinite push
Mon, 19 Jun 2023 16:13:16 +0200 Pierre-Yves David clone-bundle: double check that inline clone bundle does not break local case
Mon, 19 Jun 2023 15:48:03 +0200 Pierre-Yves David clone-bundle: drop the now unused `inlineclonebundles` capabilities
Mon, 19 Jun 2023 15:49:35 +0200 Pierre-Yves David clonebundles: introduce a new write protocol command
Mon, 19 Jun 2023 11:28:45 +0200 Pierre-Yves David clone-bundles: reorder some test section and add titles
Mon, 19 Jun 2023 11:04:27 +0200 Pierre-Yves David clone-bundle: rename the methods and wireprotole command
Sun, 18 Jun 2023 00:04:53 +0200 Pierre-Yves David delta-find: remove dead code intended to deal with forced delta reuse
Thu, 20 Apr 2023 15:56:58 -0400 Jason R. Coombs library: incorporate demandimport into runpy invocation
Mon, 17 Apr 2023 09:38:52 -0400 Jason R. Coombs library: enable runpy invocation on mercurial package
Mon, 12 Jun 2023 16:51:08 +0200 Raphaël Gomès match: add `filepath:` pattern to match an exact filepath relative to the root
Sat, 17 Jun 2023 23:47:31 +0200 Pierre-Yves David path: use the next `display` argument to deal with boolean stable
Thu, 15 Jun 2023 09:51:29 +0200 Pierre-Yves David path: display proper user facing value for pulled-delta-reuse-policy stable
Thu, 15 Jun 2023 09:50:46 +0200 Pierre-Yves David paths: add an argument to format the suboption display stable
Fri, 09 Jun 2023 14:32:09 +0100 Arseniy Alekseyev ui: fix crash in `hg paths` when pulled-delta-reuse-policy is in use stable
Fri, 09 Jun 2023 14:31:40 +0100 Arseniy Alekseyev ui: add a test demonstrating a crash in `hg paths` stable
Sat, 17 Jun 2023 04:05:53 +0200 Pierre-Yves David re2: fix reporting of availability in `hg debuginstall` stable
Sat, 17 Jun 2023 04:05:18 +0200 Pierre-Yves David re: make _checkre2 a static method stable
Sat, 17 Jun 2023 04:02:25 +0200 Pierre-Yves David re2: exit `_checkre2` early if calling it is useless stable
Sun, 18 Jun 2023 00:09:39 +0200 Pierre-Yves David branching: merge with stable
Tue, 20 Jun 2023 02:36:52 +0200 Pierre-Yves David backout: remove db9b6ce803a9
Mon, 19 Jun 2023 23:27:18 +0200 pierre-yves david infinitepush: aggressively deprecated infinite push
Tue, 13 Jun 2023 14:35:36 +0200 Raphaël Gomès rust-dependencies: switch from `users` to `whoami`
Mon, 12 Jun 2023 23:41:28 +0200 Raphaël Gomès rust-hg-core: move from `ouroboros` to `self_cell`
Fri, 02 Jun 2023 15:12:05 +0200 Pierre-Yves David debug-revlog-stats: make it use the new store entry API
Fri, 02 Jun 2023 15:10:50 +0200 Pierre-Yves David store: use the revlog type from revlog's constant instead of custom one
Mon, 12 Jun 2023 23:24:41 +0200 Pierre-Yves David repair: use `is_manifestlog` to recognise manifest revlog
Tue, 06 Jun 2023 04:56:54 +0200 Pierre-Yves David perf: add a perf::stream-consume
Tue, 06 Jun 2023 04:09:05 +0200 Pierre-Yves David perf: add a perf::stream-generate command
Mon, 12 Jun 2023 18:04:09 +0200 Pierre-Yves David perf: add a new "context" argument to timer
Tue, 06 Jun 2023 01:48:10 +0200 Pierre-Yves David perf: add support for stream-v3 during benchmark
Tue, 06 Jun 2023 01:43:48 +0200 Pierre-Yves David perf: add a function to find a stream version generator
Thu, 18 May 2023 19:23:59 +0100 Arseniy Alekseyev treemanifest: make `updatecaches` update the nodemaps for all directories
Wed, 31 May 2023 10:37:55 +0100 Arseniy Alekseyev stream-clone: avoid opening a revlog in case we do not need it
Tue, 30 May 2023 17:43:59 +0100 Pierre-Yves David store: stop relying on a `revlog_type` property
Tue, 30 May 2023 16:38:13 +0100 Pierre-Yves David store: directly pass the filesize in the `details` of revlog
Tue, 30 May 2023 16:35:10 +0100 Pierre-Yves David store: explicitly pass file_size when creating StoreFile
Tue, 30 May 2023 16:33:28 +0100 Pierre-Yves David store: have the revlog determine which files are volatile itself
Mon, 12 Jun 2023 10:50:00 +0200 Raphaël Gomès test-dirstate-version-fallback: future-proof the test for a different default stable
Wed, 08 Mar 2023 14:23:43 +0100 Mathias De Mare clonebundles: add support for inline (streaming) clonebundles
Thu, 08 Jun 2023 17:02:04 +0200 Raphaël Gomès Added signature for changeset da372c745e0f stable
Thu, 08 Jun 2023 17:02:00 +0200 Raphaël Gomès Added tag 6.4.4 for changeset da372c745e0f stable
Thu, 08 Jun 2023 17:01:29 +0200 Raphaël Gomès relnotes: add 6.4.4 stable 6.4.4
Thu, 08 Jun 2023 14:28:21 +0200 Pierre-Yves David revlog: avoid possible collision between directory and temporary index stable
Thu, 08 Jun 2023 11:08:19 +0200 Pierre-Yves David revlog: move the computation of the split_index path in a property stable
Mon, 05 Jun 2023 16:43:27 +0200 Raphaël Gomès rust-dirstate: fall back to v1 if reading v2 failed stable
Mon, 05 Jun 2023 17:29:52 +0200 Raphaël Gomès dirstate: add test showing dirstate version mismatch causes an error stable
Mon, 05 Jun 2023 16:30:25 +0200 Raphaël Gomès rust-dirstate: rename `has_dirstate_v2` to `use_dirstate_v2` stable
Mon, 05 Jun 2023 03:11:26 +0200 Pierre-Yves David delta-find: fix pulled-delta-reuse-policy=forced behavior stable
Thu, 08 Jun 2023 03:49:44 +0200 Pierre-Yves David delta-find: display more information about the search in some case stable
Thu, 08 Jun 2023 03:05:10 +0200 Pierre-Yves David deltafind: issue debug information when we fast-path rivial case too stable
Thu, 08 Jun 2023 03:11:51 +0200 Pierre-Yves David delta-find: gather the condition to blindly use a full snapshot together stable
Thu, 08 Jun 2023 02:49:10 +0200 Pierre-Yves David delta-find: initialize the debug information much sooner (when possible) stable
Thu, 08 Jun 2023 02:42:28 +0200 Pierre-Yves David delta-find: fix `parents` round detection stable
Thu, 08 Jun 2023 02:35:03 +0200 Pierre-Yves David delta-find: intrduce a `_one_dbg_data` method stable
Thu, 08 Jun 2023 01:52:35 +0200 Pierre-Yves David delta-find: move final debug processing in a `_dbg_process_data` method stable
Thu, 08 Jun 2023 01:19:01 +0200 Pierre-Yves David delta-fine: use the `_debug_search` attribute directly stable
Thu, 08 Jun 2023 01:11:47 +0200 Pierre-Yves David delta-find: move the `gather_debug` logic in a property stable
Thu, 08 Jun 2023 01:07:00 +0200 Pierre-Yves David tests: check `pulled-delta-reuse-policy=forced` without general delta stable
Wed, 31 May 2023 18:08:56 +0100 Pierre-Yves David tree-manifest: allow `debugupgraderepo` to run on tree manifest repo
Tue, 25 Apr 2023 15:28:40 +0200 Mathias De Mare bundles: clarify streaming v2 bundle usage stable
Wed, 31 May 2023 16:04:16 +0100 Pierre-Yves David stream-clone: update debugcreatestreamclonebundle helps
Thu, 25 May 2023 00:23:05 +0200 Pierre-Yves David rewrite: simplify the `retained_extras` extra logic
Mon, 05 Jun 2023 11:07:08 +0200 Arseniy Alekseyev revlog: fix a bug in revlog splitting stable
Mon, 29 May 2023 18:41:58 +0200 Pierre-Yves David stream-clone: smoothly detect and handle a case were a revlog is split
Mon, 29 May 2023 14:07:58 +0200 Pierre-Yves David stream-clone: implement decidated `get_streams` method for revlog
Sun, 28 May 2023 05:52:58 +0200 Pierre-Yves David stream-clone: make it the responsability of the store entry to stream content
Mon, 29 May 2023 11:42:16 +0200 Pierre-Yves David store: declare a `files` method on BaseStoreEntry
Sun, 28 May 2023 05:23:46 +0200 Pierre-Yves David revlog: add a `get_revlog` method
Mon, 29 May 2023 04:26:39 +0200 Pierre-Yves David stream-clone: drop the _emit_v2 function
Mon, 29 May 2023 04:24:39 +0200 Pierre-Yves David stream-clone: directly use `_entries_walk` to generate stream-v2
Mon, 29 May 2023 04:12:30 +0200 Pierre-Yves David stream-clone: pre-indent some code
Sun, 28 May 2023 04:12:10 +0200 Pierre-Yves David local-clone: perform the hardlink/copy based from _entries_walk returns
Mon, 29 May 2023 04:24:29 +0200 Pierre-Yves David store: cache the file_size when we get it from disk
Sun, 28 May 2023 03:46:48 +0200 Pierre-Yves David store: cache the `files()` return for store entries
Sat, 27 May 2023 04:22:18 +0200 Pierre-Yves David stream-clone: introduce a richer TempCopyManager object
Mon, 29 May 2023 13:29:01 +0200 Pierre-Yves David store: properly compute the targer_id of manifestlog in no-fncache walk
Mon, 29 May 2023 13:28:33 +0200 Pierre-Yves David store: do not drop the final `/` when creating manifestlog instance
Sat, 27 May 2023 04:01:17 +0200 Pierre-Yves David store: add a `get_revlog_instance` method on revlog entries
Mon, 29 May 2023 02:22:20 +0200 Pierre-Yves David stream-clone: add a test that highlight crash on revlog splitting
Mon, 29 May 2023 01:38:59 +0200 Pierre-Yves David stream-clone: remove unused code in test-clone-stream.t
Mon, 29 May 2023 01:38:34 +0200 Pierre-Yves David stream-clone: document the ext-stream-clone-steps.py utility extension
Mon, 29 May 2023 12:15:10 +0200 Pierre-Yves David test-treemanifest: cleanup the test to more easily show server side error
Thu, 01 Jun 2023 22:32:21 +0100 Pierre-Yves David test: make test-contrib-perf.t more robust stable
Thu, 02 Feb 2023 17:26:10 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:37:51 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Fri, 03 Feb 2023 02:57:49 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Fri, 03 Feb 2023 01:05:41 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Fri, 03 Feb 2023 01:04:22 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Fri, 03 Feb 2023 01:03:45 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:38:14 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:38:04 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:37:44 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:37:37 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:37:31 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:37:25 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:37:11 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:37:02 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:36:55 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:36:47 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:36:38 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:36:32 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:36:25 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:36:15 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:36:07 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:35:47 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:35:38 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:35:31 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:35:09 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:35:01 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:34:48 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:34:33 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:34:25 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:34:17 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:34:09 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:33:56 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:32:38 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:30:50 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:30:18 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:29:39 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:28:40 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:28:30 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:28:15 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:28:07 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:27:58 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:27:50 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:27:43 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:27:33 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:27:22 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:27:06 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:26:32 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:26:23 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:24:16 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:24:05 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:23:55 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:23:46 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:23:37 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:37:58 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:23:31 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:23:20 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:23:12 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:23:03 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes
Thu, 02 Feb 2023 17:22:55 +0100 Pierre-Yves David safehasattr: pass attribute name as string instead of bytes