log mercurial/util.py @ 51689:39e2b2d062c1

age author description
Thu, 18 Jul 2024 12:03:29 +0200 Raphaël Gomès pytype: work around wrong ImportError flagging
Mon, 08 Jul 2024 15:48:34 +0200 Pierre-Yves David revlog: use mmap by default is pre-population is available
Thu, 11 Apr 2024 00:02:07 +0200 Pierre-Yves David mmap: populate the mapping by default
Wed, 03 Jul 2024 12:22:48 +0200 Pierre-Yves David mmap: add a `is_mmap_safe` method to vfs stable
Mon, 06 May 2024 18:50:21 +0200 Raphaël Gomès branching: merge stable into default
Thu, 02 May 2024 02:20:42 +0200 Pierre-Yves David re2: make errors quiet stable
Tue, 26 Mar 2024 13:28:52 +0000 Pierre-Yves David nocg: make the utility work are both a decorator and context manager
Wed, 17 Jan 2024 14:26:58 +0100 Georges Racinet vfs: have tryunlink tell what it did
Thu, 21 Dec 2023 00:19:19 +0100 Pierre-Yves David pytype: add the couple annotations for pytype to understands the lrunode
Tue, 19 Dec 2023 21:34:47 +0100 Pierre-Yves David pytype: ignore attribute error for time.clock
Tue, 19 Dec 2023 21:29:34 +0100 Pierre-Yves David pytype: move some type comment to proper annotation
Wed, 20 Dec 2023 12:51:20 +0100 Pierre-Yves David pytype: import typing directly
Fri, 01 Sep 2023 00:09:55 +0200 Pierre-Yves David pycompat: drop usage of hasattr/getattr/setattr/delatt proxy
Thu, 31 Aug 2023 23:56:15 +0200 Pierre-Yves David safehasattr: drop usage in favor of hasattr
Tue, 27 Jun 2023 10:09:11 +0200 Mads Kiilerich tests: fix sortdict doctest with Python 3.12 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
Thu, 05 Jan 2023 19:42:45 -0500 Matt Harbison typing: adjust `mercurial.util.iterlines()` to accept any `Iterable`
Fri, 16 Dec 2022 14:24:02 -0500 Matt Harbison util: fix the signature of observedbufferedinputpipe._fillbuffer()
Fri, 16 Dec 2022 14:15:09 -0500 Matt Harbison tests: drop some obsolete py2 handling in util.py doctest
Fri, 04 Nov 2022 17:35:44 -0400 Matt Harbison util: implement `writelines()` on atomictempfile
Tue, 31 May 2022 23:41:15 +0200 Manuel Jacob py3: catch PermissionError instead of checking errno == EPERM
Tue, 31 May 2022 22:50:01 +0200 Manuel Jacob py3: catch FileNotFoundError instead of checking errno == ENOENT
Thu, 02 Jun 2022 23:57:56 +0200 Manuel Jacob chg: replace mercurial.util.recvfds() by simpler pure Python implementation
Tue, 10 May 2022 20:30:26 +0100 Arseniy Alekseyev clone: use better names for temp files
Tue, 29 Mar 2022 23:31:37 -0400 Matt Harbison util: drop a duplicate import
Tue, 29 Mar 2022 22:22:36 -0400 Matt Harbison util: restore the util.pickle symbol
Mon, 21 Feb 2022 13:08:28 -0700 Gregory Szorc py3: use class X: instead of class X(object):
Thu, 03 Mar 2022 07:56:47 -0800 Gregory Szorc util: remove iterfile() variant for buggy EINTR handling
Thu, 03 Mar 2022 18:28:30 -0800 Gregory Szorc global: bulk replace simple pycompat.iteritems(x) with x.items()
Mon, 21 Feb 2022 10:35:42 -0700 Gregory Szorc util: remove superfluous ispy3 test
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
Tue, 01 Mar 2022 20:29:03 -0800 Gregory Szorc py3: use pickle directly
Thu, 23 Dec 2021 14:47:52 +0100 Raphaël Gomès urls: remove deprecated APIs
Mon, 20 Sep 2021 11:05:30 -0400 Matt Harbison util: eliminate the possibility of returning None from `versiontuple()`
Mon, 20 Sep 2021 10:46:35 -0400 Matt Harbison util: avoid a name-error warning in the `mmapread` exception handler
Sat, 10 Jul 2021 13:46:24 +0200 Pierre-Yves David windows: introduce a `util.abspath` to replace os.path.abspath
Wed, 09 Jun 2021 15:33:58 +0200 Pierre-Yves David copyfiles: add a way to relax the file system checking for hardlink
Tue, 08 Jun 2021 02:31:17 +0200 Pierre-Yves David copyfile: add a option callback for failed hardlinking
Mon, 07 Jun 2021 21:09:31 +0200 Pierre-Yves David copyfiles: deal with existing file when hardlinking
Sun, 30 May 2021 18:08:52 +0200 Pierre-Yves David util: add `nb_bytes` argument to `copyfile` to partially copy a file
Mon, 17 May 2021 15:05:24 +0200 Raphaël Gomès branching: merge stable into default
Fri, 07 May 2021 22:06:25 -0400 Matt Harbison merge with stable
Wed, 12 May 2021 12:41:52 -0400 Matt Harbison util: avoid echoing the password to the console on Windows py3 (issue6446) stable
Fri, 30 Apr 2021 16:13:02 -0700 Kyle Lippincott black: make codebase compatible with black v21.4b2 and v20.8b1 stable
Mon, 29 Mar 2021 01:52:06 +0200 Joerg Sonnenberger node: replace nullid and friends with nodeconstants class
Mon, 12 Apr 2021 23:31:54 -0400 Matt Harbison re2: adjust local variable assignment scope
Mon, 12 Apr 2021 03:01:04 +0200 Pierre-Yves David urlutil: extract `url` related code from `util` into the new module
Mon, 12 Apr 2021 22:42:47 -0400 Matt Harbison merge with stable
Thu, 25 Mar 2021 22:29:41 -0400 Matt Harbison typing: make minor adjustments to mercurial/util.py to pass pytype checking
Thu, 25 Mar 2021 20:22:00 -0400 Matt Harbison util: fix the signature for the pypy override of sortdict.update()
Tue, 23 Mar 2021 23:55:33 +0100 Pierre-Yves David path: forbid chaining `path://` definitions
Thu, 25 Mar 2021 18:02:08 +0100 Raphaël Gomès contributor: change mentions of mpm to olivia
Fri, 26 Mar 2021 18:37:25 +0100 Pierre-Yves David re2: feed unicode string to re2 module when necessary stable
Fri, 12 Mar 2021 13:13:13 -0500 Augie Fackler merge: with stable
Sat, 06 Mar 2021 23:41:32 -0500 Matt Harbison typing: add some type annotations to mercurial/util.py
Wed, 24 Feb 2021 15:16:22 +0100 Pierre-Yves David re2: byteify some regex used to get check re2 availability stable
Tue, 01 Dec 2020 21:54:46 +0100 Joerg Sonnenberger node: import symbols explicitly
Fri, 27 Nov 2020 17:03:29 -0500 Augie Fackler formating: upgrade to black 20.8b1
Thu, 16 Jul 2020 23:49:04 +0200 Manuel Jacob util: enhance `nullcontextmanager` to be able to return __enter__ result
Tue, 09 Jun 2020 11:22:31 +0200 Joerg Sonnenberger util: provide a helper function to estimate RAM size
Mon, 29 Jun 2020 20:53:32 +0900 Yuya Nishihara merge with stable
Sun, 28 Jun 2020 18:02:45 +0200 Manuel Jacob curses: do not initialize LC_ALL to user settings (issue6358) stable
Fri, 19 Jun 2020 20:42:14 +0530 Pulkit Goyal util: flush stderr explicitly after using warnings.warn()
Fri, 29 May 2020 04:06:16 +0200 Manuel Jacob cleanup: remove compatibility code for Python < 2.7.4
Tue, 31 Mar 2020 15:11:33 +0530 Pulkit Goyal chgserver: update the umask cache before each run
Fri, 06 Mar 2020 13:27:41 -0500 Augie Fackler cleanup: run pyupgrade on our source tree to clean up varying things
Wed, 04 Mar 2020 00:45:54 -0500 Matt Harbison phabricator: avoid a stacktrace when command arguments are missing
Mon, 13 Jan 2020 17:15:14 -0500 Augie Fackler core: migrate uses of hashlib.sha1 to hashutil.sha1
Tue, 07 Jan 2020 12:09:36 +0100 Pierre-Yves David mmap: add a size argument to mmapread
Sat, 28 Dec 2019 01:35:05 -0500 Matt Harbison cleanup: drop redundant character escapes from `[]` character sets
Tue, 31 Dec 2019 16:24:38 -0500 Matt Harbison util: avoid referencing `time.clock()` on Windows when missing (issue6238)
Sun, 15 Dec 2019 21:34:00 -0500 Matt Harbison util: move common proxyobserver attributes to the base class
Mon, 16 Dec 2019 15:58:47 -0800 Martin von Zweigbergk util: implement sortdict.insert()
Sun, 15 Dec 2019 21:43:18 -0500 Matt Harbison typing: suppress a warning that mercurial.windows.checkosfilename is missing
Sun, 15 Dec 2019 21:36:06 -0500 Matt Harbison typing: add an assertion to util.versiontuple
Sun, 15 Dec 2019 21:28:30 -0500 Matt Harbison typing: add a couple of assertions to lrucachedict to help pytype
Sun, 15 Dec 2019 21:26:21 -0500 Matt Harbison util: rename a variable to avoid confusing pytype
Sun, 15 Dec 2019 21:22:27 -0500 Matt Harbison pytype: suppress the import-error in util.py when importing re2
Sun, 17 Nov 2019 06:26:41 +0100 Pierre-Yves David util: add an optional `prefix` argument to debugstacktrace
Fri, 22 Nov 2019 21:42:04 +0900 Yuya Nishihara merge with stable
Thu, 21 Nov 2019 17:25:24 -0500 Matt Harbison util: convert an exception to bytes when passing to Abort() stable
Thu, 14 Nov 2019 13:18:22 -0800 Martin von Zweigbergk util: remove datapath and swith users over to resourceutil
Thu, 14 Nov 2019 12:41:33 -0800 Martin von Zweigbergk i18n: get datapath directly from resourceutil
Thu, 14 Nov 2019 12:33:10 -0800 Martin von Zweigbergk util: move definition of datapath to resourceutil
Thu, 14 Nov 2019 11:52:22 -0800 Martin von Zweigbergk procutil: move mainfrozen() to new resourceutil.py
Thu, 14 Nov 2019 14:14:11 -0800 Martin von Zweigbergk py3: use native string for 'macosx_app'
Thu, 14 Nov 2019 08:03:26 -0800 Martin von Zweigbergk utils: move finddirs() to pathutil
Wed, 06 Nov 2019 14:13:19 +0100 Pierre-Yves David utils: move the `dirs` definition in pathutil (API)
Fri, 08 Nov 2019 11:19:20 -0800 Augie Fackler cleanup: remove pointless r-prefixes on single-quoted strings
Thu, 17 Oct 2019 19:29:22 -0400 Augie Fackler dirs: reject consecutive slashes in paths
Wed, 06 Nov 2019 17:46:26 -0500 Augie Fackler pytype: don't warn us about ignored-on-py3 metaclasses
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 17:45:05 -0400 Gregory Szorc py3: stop normalizing 2nd argument of *attr() 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 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
Sat, 17 Aug 2019 10:25:04 +0900 Yuya Nishihara py3: do not convert rust module/attribute names to bytes
Sun, 21 Jul 2019 18:04:05 -0700 Martin von Zweigbergk py: error out if a "skip" character was given with non-dict to util.dirs() stable
Wed, 05 Jun 2019 17:58:34 +0200 Raphaël Gomès rust-dirstate: call new "dirs" rust implementation from Python
Tue, 16 May 2017 11:00:38 -0700 Martin von Zweigbergk util: make util.dirs() and util.finddirs() include root directory (API)
Wed, 27 Mar 2019 16:45:14 +0100 Pierre-Yves David util: extract compression code in `mercurial.utils.compression`
Sat, 02 Mar 2019 12:57:00 -0800 Gregory Szorc global: use raw strings for namedtuple()
Sat, 02 Mar 2019 12:51:04 -0800 Gregory Szorc global: use raw strings for __slots__
Fri, 25 Jan 2019 16:00:34 -0800 Gregory Szorc util: cast memoryview to bytes
Thu, 10 Jan 2019 14:57:01 +0100 Boris Feld update: fix edge-case with update.atomic-file and read-only files
Sun, 04 Nov 2018 16:57:05 +0900 Yuya Nishihara util: implement pop() on lrucachedict
Wed, 31 Oct 2018 22:29:05 +0900 Yuya Nishihara util: add method to peek item in lrucachedict
Thu, 22 Nov 2018 22:40:22 +0900 Yuya Nishihara py3: cast attribute name to sysstr in clearcachedproperty()
Sat, 13 Oct 2018 14:17:25 +0200 Yuya Nishihara py3: build help of compression engines in bytes
Wed, 03 Oct 2018 10:27:44 -0700 Martin von Zweigbergk cleanup: some Yoda conditions, this patch removes
Fri, 28 Sep 2018 22:18:45 -0400 Matt Harbison util: use a context manager in readlock()
Tue, 25 Sep 2018 21:16:12 -0400 Matt Harbison py3: convert os.readlink() path to native strings on Windows
Tue, 18 Sep 2018 16:47:09 -0700 Gregory Szorc global: replace most uses of RevlogError with StorageError (API)
Fri, 07 Sep 2018 10:18:20 -0700 Gregory Szorc util: update lrucachedict order during get()
Thu, 06 Sep 2018 18:04:27 -0700 Gregory Szorc util: lower water mark when removing nodes after cost limit reached
Thu, 06 Sep 2018 12:40:30 -0700 Gregory Szorc util: optimize cost auditing on insert
Thu, 06 Sep 2018 14:04:46 -0700 Gregory Szorc util: teach lrucachedict to enforce a max total cost
Fri, 07 Sep 2018 12:14:42 -0700 Gregory Szorc util: allow lrucachedict to track cost of entries
Wed, 05 Sep 2018 23:15:20 -0700 Gregory Szorc util: add a popoldest() method to lrucachedict
Thu, 06 Sep 2018 11:40:20 -0700 Gregory Szorc util: ability to change capacity when copying lrucachedict
Thu, 06 Sep 2018 11:37:27 -0700 Gregory Szorc util: make capacity a public attribute on lrucachedict
Thu, 06 Sep 2018 11:33:40 -0700 Gregory Szorc util: properly copy lrucachedict instances
Fri, 24 Aug 2018 10:13:27 -0700 Augie Fackler util: make timedcm require the label (API)
Tue, 21 Aug 2018 17:15:51 -0400 Augie Fackler cleanup: make all uses of timedcm specify what they're timing
Tue, 21 Aug 2018 17:13:35 -0400 Augie Fackler util: make timedcm context manager also emit trace events
Thu, 16 Aug 2018 05:50:49 +0200 Joerg Sonnenberger util: improve handling of truncated compressed streams
Fri, 10 Aug 2018 02:30:14 -0400 Augie Fackler util: fix signature of setsockopt in socket observer
Thu, 02 Aug 2018 20:53:03 +0100 Martijn Pieters util: make new timedcmstats class Python 3 compatible
Wed, 01 Aug 2018 16:05:41 +0200 Martijn Pieters util: create a context manager to handle timing
Thu, 12 Jul 2018 18:46:10 +0200 Joerg Sonnenberger ssh: avoid reading beyond the end of stream when using compression
Sun, 10 Jun 2018 17:07:29 +0900 Yuya Nishihara pycompat: move rapply() from util
Thu, 28 Jun 2018 18:07:22 -0700 Kyle Lippincott unlinkpath: make empty directory removal optional (issue5901) (issue5826)
Sun, 17 Jun 2018 22:57:34 -0700 Martin von Zweigbergk copystore: use progress helper
Thu, 14 Jun 2018 11:49:10 -0400 Augie Fackler tests: suppress read(-1) -> '' calls in fileobjectobserver
Sat, 26 May 2018 12:14:04 +0900 Yuya Nishihara py3: wrap tempfile.mkstemp() to use bytes path
Fri, 11 May 2018 21:53:26 +0900 Yuya Nishihara util: drop remainder of dateutil/procutil aliases (API)
Thu, 10 May 2018 21:43:32 -0400 Matt Harbison util: drop _deprecatedfunc()
Thu, 10 May 2018 21:41:19 -0400 Matt Harbison util: drop deprecated forwarding to procutil (API)
Thu, 10 May 2018 21:37:23 -0400 Matt Harbison util: drop deprecated forwarding to dateutil (API)
Thu, 10 May 2018 21:34:40 -0400 Matt Harbison util: drop deprecated forwarding to stringutil (API)
Fri, 27 Apr 2018 00:06:08 -0400 Augie Fackler util: make util.url __repr__ consistent on Python 2 and 3
Sat, 05 May 2018 18:35:16 -0700 Gregory Szorc pycompat: export queue module instead of symbols in module (API)
Fri, 20 Apr 2018 20:38:29 +0900 Yuya Nishihara version: make parser more robust for rc variants and ill-formed strings stable
Fri, 13 Apr 2018 14:18:26 -0700 Martin von Zweigbergk util: set correct stack level on deprecation warnings
Mon, 09 Apr 2018 10:18:10 -0700 Gregory Szorc util: drop write_content_size=True
Sat, 07 Apr 2018 13:21:59 +0900 Yuya Nishihara py3: silence warning about deprecation of imp module
Thu, 05 Apr 2018 10:13:01 -0400 Augie Fackler util: whitelist apfs for hardlink support
Thu, 05 Apr 2018 16:56:34 +0530 Pulkit Goyal py3: return bytes from util.removeauth()
Wed, 04 Apr 2018 23:26:49 +0900 Yuya Nishihara stringutil: drop escapedata() in favor of escapestr()
Sat, 24 Mar 2018 14:54:15 +0900 Yuya Nishihara util: deprecate procutil proxy functions (API)
Sat, 24 Mar 2018 13:38:04 +0900 Yuya Nishihara procutil: move process/executable management functions to new module
Sat, 24 Mar 2018 14:32:34 +0900 Yuya Nishihara util: stop using readfile() in tempfilter()
Sat, 24 Mar 2018 14:38:34 +0900 Yuya Nishihara util: mark filtertable as private constant
Sat, 24 Mar 2018 17:04:43 +0900 Yuya Nishihara util: mark platform-specific gethgcmd() as private
Sat, 24 Mar 2018 14:24:32 +0900 Yuya Nishihara util: make safehasattr() a pycompat function
Sat, 24 Mar 2018 14:13:37 +0900 Yuya Nishihara util: drop util.Abort in favor of error.Abort (API)
Sat, 24 Mar 2018 14:08:50 +0900 Yuya Nishihara util: use error.Abort instead of local alias
Sat, 24 Mar 2018 13:30:50 +0900 Yuya Nishihara rcutil: directly call win32.executablepath()
Thu, 22 Mar 2018 22:39:43 +0900 Yuya Nishihara util: enable deprecation warning for stringutil proxy (API)
Thu, 22 Mar 2018 21:56:20 +0900 Yuya Nishihara stringutil: bulk-replace call sites to point to new module
Thu, 22 Mar 2018 21:19:31 +0900 Yuya Nishihara stringutil: move generic string helpers to new module
Thu, 22 Mar 2018 21:32:19 +0900 Yuya Nishihara util: remove unused private constant '_hextochr'
Thu, 22 Mar 2018 21:20:47 +0900 Yuya Nishihara util: mark internal constants of escapedata() as private
Thu, 22 Mar 2018 21:14:12 +0900 Yuya Nishihara util: adjust indent level in wrap()
Thu, 22 Mar 2018 21:13:31 +0900 Yuya Nishihara util: mark MBTextWrapper as private
Thu, 22 Mar 2018 21:10:42 +0900 Yuya Nishihara util: add helper to define proxy functions to utils.*
Wed, 14 Mar 2018 15:25:06 -0700 Gregory Szorc wireproto: implement basic frame reading and processing
Tue, 13 Mar 2018 11:20:07 -0700 Gregory Szorc util: don't log low-level I/O calls for HTTP peer
Tue, 13 Mar 2018 17:42:00 -0700 Gregory Szorc util: observable proxy objects for sockets
Sat, 10 Mar 2018 23:58:01 -0500 Matt Harbison wireproto: explicitly flush stdio to prevent stalls on Windows
Wed, 14 Mar 2018 11:52:35 -0700 Gregory Szorc util: prefer "bytesio" to "stringio"
Fri, 09 Mar 2018 18:39:48 +0100 Boris Feld util: clear debugstacktrace call
Tue, 06 Mar 2018 07:45:57 -0600 Yuya Nishihara py3: wrap file object to write patch in native eol preserving byte-ness
Sat, 10 Mar 2018 15:57:16 +0900 Yuya Nishihara py3: use r'' instead of sysstr('') to get around code transformer
Sat, 10 Mar 2018 12:22:08 -0500 Matt Harbison util: forward __bool__()/__nonzero__() on fileobjectproxy
Tue, 06 Mar 2018 02:28:59 -0600 Yuya Nishihara util: add public isstdin/isstdout() functions
Tue, 06 Mar 2018 02:14:11 -0600 Yuya Nishihara ui: inline util.bytesinput() into ui._readline()
Sun, 04 Mar 2018 18:21:16 -0500 Yuya Nishihara py3: read/write plain lock file in binary mode
Mon, 05 Mar 2018 12:31:08 -0500 Augie Fackler util: stop calling os.stat_float_times()
Mon, 05 Mar 2018 12:30:20 -0500 Augie Fackler cleanup: use stat_result[stat.ST_MTIME] instead of stat_result.st_mtime
Sun, 04 Mar 2018 15:55:55 -0500 Augie Fackler util: fix unsafe url abort with bytestr() on url
Sat, 03 Mar 2018 23:49:39 -0500 Yuya Nishihara lock: block signal interrupt while making a lock file
Sun, 04 Mar 2018 11:49:33 -0500 Augie Fackler util: also silence py3 warnings from codec module
Sat, 03 Mar 2018 09:50:07 -0500 Gregory Szorc util: report integer result from write()
Sat, 03 Mar 2018 09:34:06 -0500 Gregory Szorc util: log readinto() I/O
Fri, 02 Mar 2018 22:47:18 -0500 Gregory Szorc util: teach escapedata() about bytearray
Thu, 15 Feb 2018 17:18:26 +0100 Boris Feld util: extract all date-related utils in utils/dateutil module
Thu, 01 Mar 2018 18:22:36 -0500 Yuya Nishihara py3: silence "bad escape" warning emitted by re.sub()
Fri, 02 Mar 2018 14:09:50 -0500 Augie Fackler util: work around Python 3 returning None at EOF instead of ''
Fri, 02 Mar 2018 14:09:20 -0500 Augie Fackler util: add missing r prefix on some __setattr__ calls
Thu, 01 Mar 2018 18:15:58 -0500 Yuya Nishihara py3: fix string slicing in util.parsetimezone()
Sun, 25 Feb 2018 22:31:13 -0500 Augie Fackler util: use pycompat.bytestr() on repr() in date parse abort
Sat, 24 Feb 2018 12:24:03 -0800 Gregory Szorc util: enable observing of util.bufferedinputpipe
Sat, 24 Feb 2018 12:22:20 -0800 Gregory Szorc util: add a file object proxy that can notify observers
Mon, 26 Feb 2018 00:51:41 -0500 Augie Fackler util: handle fileno() on Python 3 throwing io.UnsupportedOperation
Sun, 25 Feb 2018 23:08:41 -0500 Augie Fackler py3: hunt down str(exception) instances and use util.forcebytestr
Sun, 25 Feb 2018 22:06:53 -0500 Augie Fackler util: use pycompat.bytestr() instead of str()
Wed, 21 Feb 2018 22:20:27 +0900 Yuya Nishihara util: factor out shellsplit() function
Wed, 21 Feb 2018 13:41:20 -0800 Gregory Szorc util: add a file object proxy that can read at most N bytes
Sat, 17 Feb 2018 18:14:51 +0900 Yuya Nishihara py3: fix bytes-unicode dance while building docstring of extdiff
Fri, 16 Feb 2018 17:24:31 -0500 Augie Fackler merge with stable
Fri, 16 Feb 2018 13:25:39 -0800 Jun Wu date: fix parsing months stable
Mon, 12 Feb 2018 20:44:06 -0500 Augie Fackler util: convert traceback-related sysstrs to sysbytes in getstackframes
Mon, 12 Feb 2018 20:43:33 -0500 Augie Fackler util: format line number of stack trace using %d
Mon, 12 Feb 2018 20:43:05 -0500 Augie Fackler util: call warnings.warn() with a sysstr in nouideprecwarn
Sun, 11 Feb 2018 12:55:50 -0800 Gregory Szorc py3: pass system string to socket.getservbyname
Sat, 27 Jan 2018 13:33:31 +0900 Yuya Nishihara py3: factor out helpers to apply string conversion recursively
Fri, 19 Jan 2018 22:52:35 +0100 Gregory Szorc util: implement varint functions
Fri, 19 Jan 2018 20:51:35 +0100 Boris Feld util: move 'readexactly' in the util module
Fri, 29 Dec 2017 05:25:27 +0530 Pulkit Goyal py3: use node.hex(h.digest()) instead of h.hexdigest()
Fri, 29 Dec 2017 22:54:14 -0500 Matt Harbison util: add a function to show the mount point of the filesystem
Sat, 30 Dec 2017 21:15:12 -0500 Matt Harbison util: whitelist NTFS for hardlink creation (issue4580)
Sat, 30 Dec 2017 21:07:03 -0500 Matt Harbison util: move getfstype() to the platform modules
Wed, 20 Dec 2017 02:13:35 -0800 Jun Wu osutil: add a function to unblock signals
Wed, 29 Nov 2017 04:47:27 +0530 Pulkit Goyal py3: add b'' to regular expressions which are raw strings
Wed, 08 Nov 2017 09:18:18 -0800 Mark Thomas util: add util.clearcachedproperty
Thu, 12 Oct 2017 23:34:34 -0700 Jun Wu codemod: use pycompat.isdarwin
Thu, 12 Oct 2017 09:04:22 -0700 Jun Wu codemod: use pycompat.isposix
Thu, 12 Oct 2017 23:30:46 -0700 Jun Wu codemod: use pycompat.iswindows
Mon, 02 Oct 2017 14:05:30 -0700 Mark Thomas util: add safename function for generating safe names to rename to
Wed, 04 Oct 2017 11:58:00 -0400 Augie Fackler urllibcompat: move some adapters from pycompat to urllibcompat
Fri, 29 Sep 2017 15:49:20 +0000 Alex Gaynor style: never put multiple statements on one line
Wed, 27 Sep 2017 19:27:41 +0900 Yuya Nishihara py3: work around bytes/unicode divergence in parsedate()
Wed, 27 Sep 2017 19:13:43 +0900 Yuya Nishihara py3: replace bytes[n] with slicing in checkwinfilename()
Wed, 27 Sep 2017 19:11:28 +0900 Yuya Nishihara py3: manually escape control character to be embedded in win filename error
Wed, 27 Sep 2017 18:07:48 -0700 Jun Wu config: use copy-on-write to improve copy performance
Thu, 21 Sep 2017 05:54:34 -0700 Mark Thomas util: add an mmapread method
Sun, 03 Sep 2017 17:33:10 +0900 Yuya Nishihara doctest: coerce dict.keys() to list
Sun, 03 Sep 2017 14:56:31 +0900 Yuya Nishihara doctest: use print_function and convert bytes to unicode where needed
Sun, 03 Sep 2017 14:38:58 +0900 Yuya Nishihara doctest: replace str() with bytes()
Sun, 03 Sep 2017 14:32:11 +0900 Yuya Nishihara doctest: bulk-replace string literals with b'' for Python 3
Wed, 06 Sep 2017 12:56:19 -0700 Jun Wu checknlink: rename file object from 'fd' to 'fp'
Fri, 01 Sep 2017 17:09:53 -0700 Jun Wu checknlink: use a random temp file name for checking