mercurial@47068: 8 new changesets (8 on stable)

2021-05-12 Thread Mercurial Commits
8 new changesets (8 on stable) in mercurial:

https://www.mercurial-scm.org/repo/hg/rev/bd2ed1032b4e
changeset:   47061:bd2ed1032b4e
branch:  stable
parent:  47059:48637f926817
user:Augie Fackler 
date:Tue May 04 13:28:42 2021 -0400
summary: debugcommands: fix some plural-agreements I noticed

https://www.mercurial-scm.org/repo/hg/rev/f38bf44e077f
changeset:   47062:f38bf44e077f
branch:  stable
user:Kyle Lippincott 
date:Fri Apr 30 16:13:02 2021 -0700
summary: black: make codebase compatible with black v21.4b2 and v20.8b1

https://www.mercurial-scm.org/repo/hg/rev/1d075b857c90
changeset:   47063:1d075b857c90
branch:  stable
user:Matt Harbison 
date:Sat May 01 00:41:43 2021 -0400
summary: tests: ensure `$PYTHON` is quoted for Windows

https://www.mercurial-scm.org/repo/hg/rev/7383df4f6e19
changeset:   47064:7383df4f6e19
branch:  stable
user:Matt Harbison 
date:Sat May 01 13:04:56 2021 -0400
summary: tests: run python script through quoted interpreter instead of 
directly

https://www.mercurial-scm.org/repo/hg/rev/a12819559ccb
changeset:   47065:a12819559ccb
branch:  stable
user:Matt Harbison 
date:Sun May 02 19:54:08 2021 -0400
summary: tests: invoke some shell scripts through the shell interpreter for 
Windows

https://www.mercurial-scm.org/repo/hg/rev/9e3979a25bfe
changeset:   47066:9e3979a25bfe
branch:  stable
user:Matt Harbison 
date:Sat May 01 16:13:53 2021 -0400
summary: tests: stabilize test-persistent-nodemap.t on Windows

https://www.mercurial-scm.org/repo/hg/rev/ea563187ee7c
changeset:   47067:ea563187ee7c
branch:  stable
user:Matt Harbison 
date:Sun May 02 16:56:20 2021 -0400
summary: tests: change the fixer commands to use the buffer attribute on 
stdio objects

https://www.mercurial-scm.org/repo/hg/rev/3af293735d0f
changeset:   47068:3af293735d0f
branch:  stable
tag: tip
user:Nate Skulic 
date:Mon May 10 00:54:08 2021 +
summary: convert: update p4 for Python 3

-- 
Repository URL: https://www.mercurial-scm.org/repo/hg
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D6594: [ABANDONED] RFC dirstatemap

2021-05-12 Thread durin42 (Augie Fackler)
Herald added a subscriber: mercurial-patches.
durin42 added a comment.
durin42 added subscribers: muxator, gracinet.


  (+ infra list, some folks that I think volunteered in the past)

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D6594/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D6594

To: Alphare, #hg-reviewers
Cc: gracinet, mercurial-patches, muxator, yuja, durin42, kevincox, mjpieters, 
mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D10708: util: avoid echoing the password to the console on Windows py3 (issue6446)

2021-05-12 Thread mharbison72 (Matt Harbison)
mharbison72 created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REVISION SUMMARY
  The `getpass.getpass()` implementation on Windows first checks if `sys.stdin`
  and `sys.__stdin__` are the same object.  It's not on py3 because the former 
is
  replaced in dispatch.py with something that doesn't normalize '\n' to '\r\n'.
  When they aren't the same object, it simply calls `sys.stdin.readline()` 
instead
  of the mscvrt functions that read the input characters before they are echoed.
  
  This simply copies the `getpass.win_getpass()` implementation without the 
stdin
  check, and byteifies around the edges.  I'm not sure if there's a reasonable
  replacement for the check that we could implement.  When echoing input into 
the
  hg command, the `ui.interactive()` check causes `ui.getpass()` to bail before
  getting here.  If the proper config switches are used to bypass that and call
  this, the process stalls until '\n' is input into the console.  So there could
  be a deadlock here when run by another command if the wrong config settings 
are
  applied.

REPOSITORY
  rHG Mercurial

BRANCH
  stable

REVISION DETAIL
  https://phab.mercurial-scm.org/D10708

AFFECTED FILES
  mercurial/posix.py
  mercurial/ui.py
  mercurial/util.py
  mercurial/windows.py

CHANGE DETAILS

diff --git a/mercurial/windows.py b/mercurial/windows.py
--- a/mercurial/windows.py
+++ b/mercurial/windows.py
@@ -194,6 +194,28 @@
 return False
 
 
+def get_password():
+"""Prompt for password with echo off, using Windows getch().
+
+This shouldn't be called directly- use ``ui.getpass()`` instead, which
+checks if the session is interactive first.
+"""
+pw = ""
+while True:
+c = msvcrt.getwch()
+if c == '\r' or c == '\n':
+break
+if c == '\003':
+raise KeyboardInterrupt
+if c == '\b':
+pw = pw[:-1]
+else:
+pw = pw + c
+msvcrt.putwch('\r')
+msvcrt.putwch('\n')
+return encoding.strtolocal(pw)
+
+
 class winstdout(object):
 """Some files on Windows misbehave.
 
diff --git a/mercurial/util.py b/mercurial/util.py
--- a/mercurial/util.py
+++ b/mercurial/util.py
@@ -106,6 +106,7 @@
 expandglobs = platform.expandglobs
 getfsmountpoint = platform.getfsmountpoint
 getfstype = platform.getfstype
+get_password = platform.get_password
 groupmembers = platform.groupmembers
 groupname = platform.groupname
 isexec = platform.isexec
diff --git a/mercurial/ui.py b/mercurial/ui.py
--- a/mercurial/ui.py
+++ b/mercurial/ui.py
@@ -11,7 +11,6 @@
 import contextlib
 import datetime
 import errno
-import getpass
 import inspect
 import os
 import re
@@ -1779,7 +1778,7 @@
 raise EOFError
 return l.rstrip(b'\n')
 else:
-return encoding.strtolocal(getpass.getpass(''))
+return util.get_password()
 except EOFError:
 raise error.ResponseExpected()
 
diff --git a/mercurial/posix.py b/mercurial/posix.py
--- a/mercurial/posix.py
+++ b/mercurial/posix.py
@@ -381,6 +381,10 @@
 return getattr(osutil, 'getfstype', lambda x: None)(dirpath)
 
 
+def get_password():
+return encoding.strtolocal(getpass.getpass(''))
+
+
 def setbinary(fd):
 pass
 



To: mharbison72, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel