From: Eric S. Raymond Date: Fri, 28 Dec 2012 16:40:59 +0000 (-0500) Subject: Add checks to Python scripts for version dependencies. X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=a33faf2827bfc7baea5d83ef1be8fe659a963355;p=git.git Add checks to Python scripts for version dependencies. Signed-off-by: Eric S. Raymond Signed-off-by: Junio C Hamano --- diff --git a/contrib/ciabot/ciabot.py b/contrib/ciabot/ciabot.py index bd24395d4..36b5665ff 100755 --- a/contrib/ciabot/ciabot.py +++ b/contrib/ciabot/ciabot.py @@ -47,7 +47,13 @@ # we default to that. # -import os, sys, commands, socket, urllib +import sys +if sys.hexversion < 0x02000000: + # The limiter is the xml.sax module + sys.stderr.write("ciabot.py: requires Python 2.0.0 or later.\n") + sys.exit(1) + +import os, commands, socket, urllib from xml.sax.saxutils import escape # Changeset URL prefix for your repo: when the commit ID is appended diff --git a/contrib/fast-import/import-zips.py b/contrib/fast-import/import-zips.py index 82f5ed3dd..5cec9b012 100755 --- a/contrib/fast-import/import-zips.py +++ b/contrib/fast-import/import-zips.py @@ -9,10 +9,15 @@ ## git log --stat import-zips from os import popen, path -from sys import argv, exit +from sys import argv, exit, hexversion, stderr from time import mktime from zipfile import ZipFile +if hexversion < 0x01060000: + # The limiter is the zipfile module + sys.stderr.write("import-zips.py: requires Python 1.6.0 or later.\n") + sys.exit(1) + if len(argv) < 2: print 'Usage:', argv[0], '...' exit(1) diff --git a/contrib/hg-to-git/hg-to-git.py b/contrib/hg-to-git/hg-to-git.py index 046cb2b26..232625a7b 100755 --- a/contrib/hg-to-git/hg-to-git.py +++ b/contrib/hg-to-git/hg-to-git.py @@ -23,6 +23,11 @@ import os, os.path, sys import tempfile, pickle, getopt import re +if sys.hexversion < 0x02030000: + # The behavior of the pickle module changed significantly in 2.3 + sys.stderr.write("hg-to-git.py: requires Python 2.3 or later.\n") + sys.exit(1) + # Maps hg version -> git version hgvers = {} # List of children for each hg revision diff --git a/contrib/p4import/git-p4import.py b/contrib/p4import/git-p4import.py index b6e534b65..593d6a068 100644 --- a/contrib/p4import/git-p4import.py +++ b/contrib/p4import/git-p4import.py @@ -14,6 +14,11 @@ import sys import time import getopt +if sys.hexversion < 0x02020000: + # The behavior of the marshal module changed significantly in 2.2 + sys.stderr.write("git-p4import.py: requires Python 2.2 or later.\n") + sys.exit(1) + from signal import signal, \ SIGPIPE, SIGINT, SIG_DFL, \ default_int_handler diff --git a/contrib/svn-fe/svnrdump_sim.py b/contrib/svn-fe/svnrdump_sim.py index 1cfac4a6f..17cf6f961 100755 --- a/contrib/svn-fe/svnrdump_sim.py +++ b/contrib/svn-fe/svnrdump_sim.py @@ -7,6 +7,10 @@ to the highest revision that should be available. """ import sys, os +if sys.hexversion < 0x02040000: + # The limiter is the ValueError() calls. This may be too conservative + sys.stderr.write("svnrdump-sim.py: requires Python 2.4 or later.\n") + sys.exit(1) def getrevlimit(): var = 'SVNRMAX' diff --git a/git-p4.py b/git-p4.py index 551aec941..69f1452cf 100755 --- a/git-p4.py +++ b/git-p4.py @@ -8,7 +8,13 @@ # License: MIT # -import optparse, sys, os, marshal, subprocess, shelve +import sys +if sys.hexversion < 0x02040000: + # The limiter is the subprocess module + sys.stderr.write("git-p4: requires Python 2.4 or later.\n") + sys.exit(1) + +import optparse, os, marshal, subprocess, shelve import tempfile, getopt, os.path, time, platform import re, shutil diff --git a/git-remote-testgit.py b/git-remote-testgit.py index 5f3ebd244..91faabd2a 100644 --- a/git-remote-testgit.py +++ b/git-remote-testgit.py @@ -31,6 +31,11 @@ from git_remote_helpers.git.exporter import GitExporter from git_remote_helpers.git.importer import GitImporter from git_remote_helpers.git.non_local import NonLocalGit +if sys.hexversion < 0x01050200: + # os.makedirs() is the limiter + sys.stderr.write("git-remote-testgit: requires Python 1.5.2 or later.\n") + sys.exit(1) + def get_repo(alias, url): """Returns a git repository object initialized for usage. """ diff --git a/git_remote_helpers/git/__init__.py b/git_remote_helpers/git/__init__.py index e69de29bb..1dbb1b014 100644 --- a/git_remote_helpers/git/__init__.py +++ b/git_remote_helpers/git/__init__.py @@ -0,0 +1,5 @@ +import sys +if sys.hexversion < 0x02040000: + # The limiter is the subprocess module + sys.stderr.write("git_remote_helpers: requires Python 2.4 or later.\n") + sys.exit(1)