git: 9front

Download patch

ref: a5c627631a8a7c70b58050d33ae81ee57e81fc87
parent: f20a61decf3c8497ee271a2fd80ac3bcb163f0d8
author: cinap_lenrek <cinap_lenrek@gmx.de>
date: Mon Aug 13 05:53:04 EDT 2012

hg: hook system_rcpath and user_rcpath instead of polluting enviroment by setting HGRCPATH

--- a/rc/bin/hg
+++ b/rc/bin/hg
@@ -17,13 +17,21 @@
     sys.stderr.write("(check your install and PYTHONPATH)\n")
     sys.exit(-1)
 
-# PLAN9 hack to keep hgrc in $home/lib
-import os
-os.environ['HGRCPATH']=os.environ['home']+'/lib/hgrc'
-
 import sys
 import mercurial.util
 import mercurial.dispatch
+
+if sys.platform == 'plan9':
+    def p9sys_rcpath():
+        return ['/sys/lib/hgrc']
+
+    def p9usr_rcpath():
+        import os
+        return [os.environ['home']+'/lib/hgrc']
+
+    import mercurial.posix
+    mercurial.posix.system_rcpath = p9sys_rcpath
+    mercurial.posix.user_rcpath = p9usr_rcpath
 
 for fp in (sys.stdin, sys.stdout, sys.stderr):
     mercurial.util.set_binary(fp)
--- a/sys/src/cmd/hg/hg
+++ b/sys/src/cmd/hg/hg
@@ -17,13 +17,21 @@
     sys.stderr.write("(check your install and PYTHONPATH)\n")
     sys.exit(-1)
 
-# PLAN9 hack to keep hgrc in $home/lib
-import os
-os.environ['HGRCPATH']=os.environ['home']+'/lib/hgrc'
-
 import sys
 import mercurial.util
 import mercurial.dispatch
+
+if sys.platform == 'plan9':
+    def p9sys_rcpath():
+        return ['/sys/lib/hgrc']
+
+    def p9usr_rcpath():
+        import os
+        return [os.environ['home']+'/lib/hgrc']
+
+    import mercurial.posix
+    mercurial.posix.system_rcpath = p9sys_rcpath
+    mercurial.posix.user_rcpath = p9usr_rcpath
 
 for fp in (sys.stdin, sys.stdout, sys.stderr):
     mercurial.util.set_binary(fp)
--