merge with stable
authorKevin Bullock <kbullock+mercurial@ringworld.org>
Sat, 24 Feb 2018 17:49:10 -0600
changeset 36398 eb73f8a6177e
parent 36397 7a3590e67868 (current diff)
parent 36386 fb39f6a8a864 (diff)
child 36399 a24c57f1f5c3
merge with stable
mercurial/commands.py
setup.py
--- a/mercurial/commands.py	Sat Feb 24 16:20:55 2018 +0530
+++ b/mercurial/commands.py	Sat Feb 24 17:49:10 2018 -0600
@@ -3304,9 +3304,10 @@
 
     With --graph the revisions are shown as an ASCII art DAG with the most
     recent changeset at the top.
-    'o' is a changeset, '@' is a working directory parent, 'x' is obsolete,
-    and '+' represents a fork where the changeset from the lines below is a
-    parent of the 'o' merge on the same line.
+    'o' is a changeset, '@' is a working directory parent, '_' closes a branch,
+    'x' is obsolete, '*' is unstable, and '+' represents a fork where the
+    changeset from the lines below is a parent of the 'o' merge on the same
+    line.
     Paths in the DAG are represented with '|', '/' and so forth. ':' in place
     of a '|' indicates one or more revisions in a path are omitted.
 
--- a/mercurial/help/urls.txt	Sat Feb 24 16:20:55 2018 +0530
+++ b/mercurial/help/urls.txt	Sat Feb 24 17:49:10 2018 -0600
@@ -24,7 +24,7 @@
 Some notes about using SSH with Mercurial:
 
 - SSH requires an accessible shell account on the destination machine
-  and a copy of hg in the remote path or specified with as remotecmd.
+  and a copy of hg in the remote path or specified with remotecmd.
 - path is relative to the remote user's home directory by default. Use
   an extra slash at the start of a path to specify an absolute path::
 
--- a/setup.py	Sat Feb 24 16:20:55 2018 +0530
+++ b/setup.py	Sat Feb 24 17:49:10 2018 -0600
@@ -67,6 +67,26 @@
     printf(error, file=sys.stderr)
     sys.exit(1)
 
+# We don't yet officially support Python 3. But we want to allow developers to
+# hack on. Detect and disallow running on Python 3 by default. But provide a
+# backdoor to enable working on Python 3.
+if sys.version_info[0] != 2:
+    badpython = True
+
+    # Allow Python 3 from source checkouts.
+    if os.path.isdir('.hg'):
+        badpython = False
+
+    if badpython:
+        error = """
+Mercurial only supports Python 2.7.
+Python {py} detected.
+Please re-run with Python 2.7.
+""".format(py=sys.version_info)
+
+        printf(error, file=sys.stderr)
+        sys.exit(1)
+
 # Solaris Python packaging brain damage
 try:
     import hashlib