Patchwork [1,of,9] py3: replace os.environ with encoding.environ (part 1 of 5)

login
register
mail settings
Submitter Pulkit Goyal
Date Dec. 20, 2016, 2:03 p.m.
Message ID <961ff24b8c2f9d71ff8f.1482242627@pulkit-goyal.Home>
Download mbox | patch
Permalink /patch/17973/
State Accepted
Headers show

Comments

Pulkit Goyal - Dec. 20, 2016, 2:03 p.m.
# HG changeset patch
# User Pulkit Goyal <7895pulkit@gmail.com>
# Date 1482005081 -19800
#      Sun Dec 18 01:34:41 2016 +0530
# Node ID 961ff24b8c2f9d71ff8f5d6539f760e78d88d07a
# Parent  ebca87566128e20c8f044f4e2d9aaec36efef625
py3: replace os.environ with encoding.environ (part 1 of 5)

os.environ is a dictionary which has string elements on Python 3. We have
encoding.environ which take care of all these things. This is the first patch
of 5 patch series which tend to replace the occurences of os.environ with
encoding.environ as using os.environ will result in unusual behaviour.

Patch

diff -r ebca87566128 -r 961ff24b8c2f mercurial/bookmarks.py
--- a/mercurial/bookmarks.py	Sun Dec 18 01:17:12 2016 +0530
+++ b/mercurial/bookmarks.py	Sun Dec 18 01:34:41 2016 +0530
@@ -8,7 +8,6 @@ 
 from __future__ import absolute_import
 
 import errno
-import os
 
 from .i18n import _
 from .node import (
@@ -31,7 +30,7 @@ 
     may need to tweak this behavior further.
     """
     bkfile = None
-    if 'HG_PENDING' in os.environ:
+    if 'HG_PENDING' in encoding.environ:
         try:
             bkfile = repo.vfs('bookmarks.pending')
         except IOError as inst:
diff -r ebca87566128 -r 961ff24b8c2f mercurial/dirstate.py
--- a/mercurial/dirstate.py	Sun Dec 18 01:17:12 2016 +0530
+++ b/mercurial/dirstate.py	Sun Dec 18 01:34:41 2016 +0530
@@ -67,7 +67,7 @@ 
 
     This returns '(fp, is_pending_opened)' tuple.
     '''
-    if root == os.environ.get('HG_PENDING'):
+    if root == encoding.environ.get('HG_PENDING'):
         try:
             return (vfs('%s.pending' % filename), True)
         except IOError as inst:
diff -r ebca87566128 -r 961ff24b8c2f mercurial/localrepo.py
--- a/mercurial/localrepo.py	Sun Dec 18 01:17:12 2016 +0530
+++ b/mercurial/localrepo.py	Sun Dec 18 01:34:41 2016 +0530
@@ -499,8 +499,8 @@ 
     @storecache('00changelog.i')
     def changelog(self):
         c = changelog.changelog(self.svfs)
-        if 'HG_PENDING' in os.environ:
-            p = os.environ['HG_PENDING']
+        if 'HG_PENDING' in encoding.environ:
+            p = encoding.environ['HG_PENDING']
             if p.startswith(self.root):
                 c.readpending('00changelog.i.a')
         return c
@@ -1299,7 +1299,7 @@ 
         # the contents of parentenvvar are used by the underlying lock to
         # determine whether it can be inherited
         if parentenvvar is not None:
-            parentlock = os.environ.get(parentenvvar)
+            parentlock = encoding.environ.get(parentenvvar)
         try:
             l = lockmod.lock(vfs, lockname, 0, releasefn=releasefn,
                              acquirefn=acquirefn, desc=desc,
diff -r ebca87566128 -r 961ff24b8c2f mercurial/phases.py
--- a/mercurial/phases.py	Sun Dec 18 01:17:12 2016 +0530
+++ b/mercurial/phases.py	Sun Dec 18 01:34:41 2016 +0530
@@ -103,7 +103,6 @@ 
 from __future__ import absolute_import
 
 import errno
-import os
 
 from .i18n import _
 from .node import (
@@ -114,6 +113,7 @@ 
     short,
 )
 from . import (
+    encoding,
     error,
 )
 
@@ -137,7 +137,7 @@ 
     roots = [set() for i in allphases]
     try:
         f = None
-        if 'HG_PENDING' in os.environ:
+        if 'HG_PENDING' in encoding.environ:
             try:
                 f = repo.svfs('phaseroots.pending')
             except IOError as inst:
diff -r ebca87566128 -r 961ff24b8c2f mercurial/posix.py
--- a/mercurial/posix.py	Sun Dec 18 01:17:12 2016 +0530
+++ b/mercurial/posix.py	Sun Dec 18 01:34:41 2016 +0530
@@ -462,7 +462,7 @@ 
     if sys.platform == 'plan9':
         return findexisting(os.path.join('/bin', command))
 
-    for path in os.environ.get('PATH', '').split(pycompat.ospathsep):
+    for path in encoding.environ.get('PATH', '').split(pycompat.ospathsep):
         executable = findexisting(os.path.join(path, command))
         if executable is not None:
             return executable