mercurial/pycompat.py
Tue, 29 Mar 2022 23:34:18 -0400 Matt Harbison pycompat: drop the pickle import
Tue, 08 Mar 2022 19:11:03 -0800 Gregory Szorc pycompat: remove json.loads polyfill for Python 3.5
Tue, 08 Mar 2022 19:10:19 -0800 Gregory Szorc pycompat: remove check for Python >= 3.6
Mon, 21 Feb 2022 13:08:28 -0700 Gregory Szorc py3: use class X: instead of class X(object):
Thu, 03 Mar 2022 17:34:00 +0100 Gregory Szorc py2: remove simple from __future__ statements
Sun, 20 Feb 2022 15:03:26 -0700 Gregory Szorc py3: use io.BytesIO directly
Thu, 03 Mar 2022 07:59:42 -0800 Gregory Szorc pycompat: remove large Python 2 block
Wed, 02 Mar 2022 17:51:27 -0800 Gregory Szorc pycompat: remove first not ispy3 block
Wed, 02 Mar 2022 10:24:49 -0500 Augie Fackler cleanup: directly use concurrent.futures instead of via pycompat
Wed, 03 Nov 2021 12:35:57 +0100 Raphaël Gomès compat: don't rely on cpython-specific builtins manipulation
Tue, 21 Sep 2021 00:16:35 -0400 Matt Harbison typing: add a fake `__init__()` to bytestr to distract pytype
Thu, 19 Aug 2021 17:46:46 +0200 Pierre-Yves David template: FileNotFoundError is actually a built in exception stable
Mon, 08 Mar 2021 12:28:53 -0500 Matt Harbison pycompat: fix a bytes vs str issue in `unnamedtempfile()` stable
Mon, 28 Dec 2020 01:40:08 +0100 Joerg Sonnenberger pycompat: fix typos
Wed, 14 Oct 2020 17:51:56 +0200 Pierre-Yves David pycompat: add an entry for unnamedtmpfile
Wed, 14 Oct 2020 21:47:14 +0200 Pierre-Yves David pycompat: update comment about unnamedtempfile
Mon, 06 Jul 2020 17:51:18 +0200 Manuel Jacob pycompat: remove pycompat.{stdin,stdout,stderr}
Sun, 28 Jun 2020 17:52:29 +0200 Manuel Jacob compat: back out a25343d16ebe (initialize LC_CTYPE locale on all Python ...)
Fri, 26 Jun 2020 04:07:50 +0200 Manuel Jacob compat: initialize LC_CTYPE locale on all Python versions and platforms
Wed, 24 Jun 2020 14:44:21 +0200 Manuel Jacob pycompat: use os.fsencode() to re-encode sys.argv
Wed, 24 Jun 2020 04:25:34 +0200 Manuel Jacob pycompat: fix crash when default locale is unknown stable
Fri, 05 Jun 2020 07:20:52 +0200 Manuel Jacob py3: add warning about buffering behavior of pycompat.{stdout,stderr} stable
Sat, 28 Mar 2020 12:18:58 -0700 Gregory Szorc pycompat: change argv conversion semantics
Fri, 06 Mar 2020 13:27:41 -0500 Augie Fackler cleanup: run pyupgrade on our source tree to clean up varying things
Thu, 12 Dec 2019 10:26:09 -0800 Martin von Zweigbergk pycompat: allow pycompat.sysbytes() even if input already is bytes
Tue, 03 Dec 2019 17:17:57 -0800 Kyle Lippincott py3: make a pycompat.osdevnull, use it in extdiff
Tue, 19 Nov 2019 23:49:05 +0900 Yuya Nishihara typing: consolidate "if not globals():" trick
Fri, 22 Nov 2019 23:55:57 -0500 Matt Harbison windows: suppress pytype warnings for Windows imports and functions
Fri, 08 Nov 2019 11:19:20 -0800 Augie Fackler cleanup: remove pointless r-prefixes on single-quoted strings
Thu, 07 Nov 2019 13:18:19 -0500 Augie Fackler cleanup: remove pointless r-prefixes on double-quoted strings
Tue, 05 Nov 2019 13:19:24 -0800 Martin von Zweigbergk merge with stable
Tue, 15 Oct 2019 22:44:55 +0900 Yuya Nishihara py3: enable legacy fs encoding to fix filename compatibility on Windows
Sat, 02 Nov 2019 12:09:35 -0700 Gregory Szorc py3: define and use json.loads polyfill stable
Tue, 08 Oct 2019 15:06:18 -0700 Martin von Zweigbergk cleanup: join string literals that are already on one line
Mon, 07 Oct 2019 00:04:04 -0400 Gregory Szorc py3: finish porting iteritems() to pycompat and remove source transformer
Sun, 06 Oct 2019 19:25:18 -0400 Gregory Szorc py3: define and use pycompat.iteritems() for hgext/
Sun, 06 Oct 2019 17:59:15 -0400 Gregory Szorc py3: define and use pycompat.itervalues()
Sun, 06 Oct 2019 17:45:05 -0400 Gregory Szorc py3: stop normalizing 2nd argument of *attr() to unicode
Wed, 02 Oct 2019 07:35:22 +0900 Yuya Nishihara patchbomb: use procutil.shellquote() instead of shlex to escape email address
Sun, 06 Oct 2019 17:27:51 -0400 Gregory Szorc py3: stop normalizing .encode()/.decode() arguments to unicode
Sun, 06 Oct 2019 16:58:55 -0400 Gregory Szorc py3: manually import pycompat.delattr where it is needed
Sun, 06 Oct 2019 16:55:18 -0400 Gregory Szorc py3: manually import getattr where it is needed
Sun, 06 Oct 2019 16:39:13 -0400 Gregory Szorc py3: stop injecting pycompat.hasattr into modules
Sun, 06 Oct 2019 14:58:42 -0400 Gregory Szorc py3: manually import pycompat.setattr where it is needed
Sun, 06 Oct 2019 13:28:56 -0400 Gregory Szorc py3: manually import pycompat.open into files that need it
Sun, 06 Oct 2019 09:48:39 -0400 Augie Fackler formatting: byteify all mercurial/ and hgext/ string literals
Sun, 06 Oct 2019 09:45:02 -0400 Augie Fackler formatting: blacken the codebase
Mon, 30 Sep 2019 00:01:58 +0200 Floris Bruynooghe patchbomb: protect email addresses from shell
Mon, 05 Nov 2018 19:52:42 -0800 rdamazio pycompat: adding Linux detection and fixing Mac
Fri, 21 Sep 2018 19:48:23 -0400 Matt Harbison py3: rename pycompat.getcwd() to encoding.getcwd() (API)
Thu, 13 Sep 2018 00:39:02 -0400 Matt Harbison py3: byteify strings in pycompat
Tue, 04 Sep 2018 22:29:38 -0400 Matt Harbison cbor: teach the encoder to handle python `long` type for Windows
Sat, 25 Aug 2018 15:33:15 +0900 Yuya Nishihara pycompat: remove membershiprange which is no longer used
Fri, 17 Aug 2018 00:51:46 +0200 Joerg Sonnenberger pycompat: wrap xrange for py2 to provide efficient __contains__
Wed, 01 Aug 2018 12:57:15 -0700 Gregory Szorc pycompat: add xrange alias for Python 2
Sun, 10 Jun 2018 17:07:29 +0900 Yuya Nishihara pycompat: move rapply() from util
Sat, 16 Jun 2018 19:31:07 +0900 Yuya Nishihara py3: ditch email.parser.BytesParser which appears to be plain crap
Wed, 13 Jun 2018 22:51:08 +0530 Pulkit Goyal py3: replace `unicode` with pycompat.unicode
Sat, 26 May 2018 12:38:07 +0900 Yuya Nishihara py3: wrap tempfile.NamedTemporaryFile() to return bytes fp.name
Sat, 26 May 2018 12:20:36 +0900 Yuya Nishihara py3: wrap tempfile.mkdtemp() to use bytes path
Sat, 26 May 2018 12:14:04 +0900 Yuya Nishihara py3: wrap tempfile.mkstemp() to use bytes path
Sat, 05 May 2018 18:35:16 -0700 Gregory Szorc pycompat: export queue module instead of symbols in module (API)
Fri, 13 Apr 2018 18:17:45 -0400 Augie Fackler py3: paper over differences in future exception handling
Mon, 09 Apr 2018 12:28:57 -0700 Gregory Szorc pycompat: export a handle on concurrent.futures
Sat, 24 Mar 2018 14:24:32 +0900 Yuya Nishihara util: make safehasattr() a pycompat function
Mon, 12 Mar 2018 20:45:10 +0900 Yuya Nishihara annotate: do not construct attr.s object per line while computing history
Wed, 14 Mar 2018 11:52:35 -0700 Gregory Szorc util: prefer "bytesio" to "stringio"
Tue, 13 Mar 2018 21:22:14 +0900 Yuya Nishihara pycompat: name maplist() and ziplist() for better traceback message
Sat, 03 Mar 2018 12:36:05 -0500 Yuya Nishihara py3: make os.curdir a bytes
Sat, 03 Mar 2018 12:34:35 -0500 Yuya Nishihara py3: make os.pardir a bytes
Tue, 27 Feb 2018 00:33:46 +0530 Pulkit Goyal pycompat: prevent encoding or decoding values if not required
Thu, 01 Mar 2018 17:46:34 -0500 Augie Fackler pycompat: add support for encoding argument to our wrapper
Tue, 20 Feb 2018 21:37:30 -0500 Matt Harbison pycompat: correct the shlex.split() proxy method signature in py3
Sat, 17 Feb 2018 18:09:56 +0900 Yuya Nishihara py3: factor out byterepr() which returns an asciified value on py3
Tue, 13 Feb 2018 23:00:01 -0700 Augie Fackler py3: introduce and use pycompat.getargspec
Sun, 11 Feb 2018 14:17:23 -0800 Gregory Szorc py3: use email parser that operates on bytes
Sat, 27 Jan 2018 17:46:37 +0900 Yuya Nishihara py3: drop b'' from repr() of smartset
Sat, 27 Jan 2018 17:31:25 +0900 Yuya Nishihara py3: always drop b'' prefix from repr() of bytestr
Mon, 11 Dec 2017 05:56:35 +0530 Pulkit Goyal py3: introduce pycompat.ziplist as zip is a generator on Python 3
Fri, 24 Nov 2017 01:09:00 +0900 Yuya Nishihara fancyopts: use getopt.gnu_getopt()
Thu, 12 Oct 2017 19:20:04 -0700 Jun Wu pycompat: define operating system constants
Wed, 11 Oct 2017 17:27:21 -0700 Jun Wu selectors2: do not use platform.system()
Wed, 04 Oct 2017 11:58:00 -0400 Augie Fackler urllibcompat: move some adapters from pycompat to urllibcompat
Wed, 16 Aug 2017 13:54:24 +0900 Yuya Nishihara py3: select input or raw_input by pycompat
Wed, 02 Aug 2017 22:51:19 +0900 Yuya Nishihara util: fix sortdict.update() to call __setitem__() on PyPy (issue5639) stable
Fri, 16 Jun 2017 03:01:22 +0530 Pulkit Goyal pycompat: move the queue related definitions below queue import
Fri, 16 Jun 2017 02:48:17 +0530 Pulkit Goyal pycompat: move multiline comments above a function to function doc
Fri, 16 Jun 2017 00:36:17 +0530 Pulkit Goyal py3: add a new bytesurl() to convert a str url into bytes
Fri, 16 Jun 2017 00:32:52 +0530 Pulkit Goyal py3: add a new strurl() which will convert a bytes url to str
Thu, 01 Jun 2017 22:24:15 +0900 Yuya Nishihara py3: convert __doc__ back to bytes in help.py
Thu, 04 May 2017 11:51:07 +0900 Yuya Nishihara pycompat: try __bytes__() to convert object to bytestr
Thu, 20 Apr 2017 22:16:12 +0900 Yuya Nishihara pycompat: extract helper to raise exception with traceback
Wed, 12 Apr 2017 18:42:20 -0700 Gregory Szorc pycompat: import correct cookie module on Python 3
Thu, 09 Mar 2017 21:35:21 -0800 Gregory Szorc util: make cookielib module available
Fri, 07 Apr 2017 23:35:51 +0530 Pulkit Goyal py3: add pycompat.unicode and add it to importer
Fri, 07 Apr 2017 16:00:44 +0530 Pulkit Goyal py3: add a bytes version of urllib.parse.urlencode() to pycompat.py
Wed, 05 Apr 2017 00:34:58 +0900 Yuya Nishihara py3: have registrar process docstrings in bytes
Wed, 29 Mar 2017 21:23:28 +0900 Yuya Nishihara pycompat: provide bytes os.linesep
Wed, 29 Mar 2017 21:13:55 +0900 Yuya Nishihara pycompat: introduce identity function as a compat stub
Tue, 21 Mar 2017 22:47:49 -0700 Gregory Szorc py3: stop exporting urlparse from pycompat and util (API)
Tue, 21 Mar 2017 22:34:17 -0700 Gregory Szorc pycompat: define urlreq.urlparse and urlreq.unparse aliases
Tue, 21 Mar 2017 22:28:16 -0700 Gregory Szorc pycompat: remove urlunquote alias
Tue, 21 Mar 2017 22:20:11 -0700 Gregory Szorc pycompat: alias urlreq.unquote to unquote_to_bytes
Sun, 19 Mar 2017 14:12:38 -0400 Augie Fackler pycompat: add maplist alias for old map behavior
Wed, 08 Mar 2017 22:48:26 +0900 Yuya Nishihara pycompat: add bytestr wrapper which mostly acts as a Python 2 str
Wed, 15 Mar 2017 09:32:18 -0700 Martin von Zweigbergk py3: make py3 compat.iterbytestr simpler and faster
Wed, 15 Mar 2017 09:30:50 -0700 Martin von Zweigbergk py3: optimize py3 compat.bytechr using Struct.pack
Mon, 13 Mar 2017 12:16:47 -0700 Gregory Szorc pycompat: custom implementation of urllib.parse.quote()
Mon, 13 Mar 2017 12:14:17 -0700 Gregory Szorc pycompat: alias urllib symbols directly
Sun, 12 Mar 2017 17:04:45 -0700 Yuya Nishihara pycompat: add helper to iterate each char in bytes
Sun, 12 Mar 2017 12:54:11 -0700 Yuya Nishihara pycompat: move imports of cStringIO/io to where they are used
Mon, 13 Mar 2017 00:55:14 +0530 Pulkit Goyal pycompat: default to BytesIO instead of StringIO
Sat, 11 Mar 2017 13:53:14 -0500 Augie Fackler merge with stable
Tue, 07 Mar 2017 13:24:24 -0500 Augie Fackler pycompat: verify sys.argv exists before forwarding it (issue5493) stable
Wed, 08 Mar 2017 22:30:12 +0900 Yuya Nishihara py3: factor out bytechr() function
Fri, 03 Mar 2017 13:04:32 +0530 Pulkit Goyal py3: add pycompat.open and replace open() calls
Sun, 15 Jan 2017 13:17:05 +0530 Pulkit Goyal py3: replace pycompat.getenv with encoding.environ.get
Sun, 25 Dec 2016 03:06:55 +0530 Pulkit Goyal py3: have a bytes version of shlex.split()
Tue, 20 Dec 2016 00:02:24 +0530 Pulkit Goyal py3: have bytes version of sys.executable
Mon, 19 Dec 2016 02:35:38 +0530 Pulkit Goyal py3: have bytes version of os.getenv
less more (0) -120 tip