threads / patch / 20743

patchgit-p4: Avoid modules deprecated in Python 2.6.

Subject: [PATCH] git-p4: Avoid modules deprecated in Python 2.6.

## tl;dr

3 messages between Aug 26, 2009 and Aug 26, 2009. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Reilly Grant· Aug 26, 2009, 16:52 UTC · lore

The popen2, sha and sets modules are deprecated in Python 2.6 (sha in Python 2.5). Both popen2 and sha are not actually used in git-p4. Replace usage of sets.Set with the builtin set object.

Signed-off-by: Reilly Grant <reillyeon@qotw.net>
---
 contrib/fast-import/git-p4 |   12 +++++-------
 1 files changed, 5 insertions(+), 7 deletions(-)
Show changes to contrib/fast-import/git-p4 +5 −7
diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4
index 342529d..ca58700 100755
--- a/contrib/fast-import/git-p4
+++ b/contrib/fast-import/git-p4
@@ -8,12 +8,10 @@
 # License: MIT <http://www.opensource.org/licenses/mit-license.php>
 #
 
-import optparse, sys, os, marshal, popen2, subprocess, shelve
-import tempfile, getopt, sha, os.path, time, platform
+import optparse, sys, os, marshal, subprocess, shelve
+import tempfile, getopt, os.path, time, platform
 import re
 
-from sets import Set;
-
 verbose = False
 
 
@@ -861,8 +859,8 @@ class P4Sync(Command):
 
         self.usage += " //depot/path[@revRange]"
         self.silent = False
-        self.createdBranches = Set()
-        self.committedChanges = Set()
+        self.createdBranches = set()
+        self.committedChanges = set()
         self.branch = ""
         self.detectBranches = False
         self.detectLabels = False
@@ -1627,7 +1625,7 @@ class P4Sync(Command):
 
             if len(self.changesFile) > 0:
                 output = open(self.changesFile).readlines()
-                changeSet = Set()
+                changeSet = set()
                 for line in output:
                     changeSet.add(int(line))
 
-- 
1.6.3.3
Junio C Hamano· Aug 26, 2009, 18:14 UTC · re: Reilly Grant · lore

Re: [PATCH] git-p4: Avoid modules deprecated in Python 2.6.

Reilly Grant <reillyeon@qotw.net> writes:
> The popen2, sha and sets modules are deprecated in Python 2.6 (sha in
> Python 2.5).  Both popen2 and sha are not actually used in git-p4.
> Replace usage of sets.Set with the builtin set object.

Does the code already rely on a feature not found in Python older than 2.4 before your patch? Otherwise I would have liked to see the last sentence like this:

    Replace usage of sets.Set with the builtin set object, which has
    been available since Python 2.4.
    This change makes the script unusable with Python older than 2.4,
    which was released in 2004. Hopefully nobody uses ancient 2.3.

So that I did not have to check myself to get a feel of how safe this change is.

Reilly Grant· Aug 26, 2009, 18:39 UTC · re: Junio C Hamano · lore

Re: [PATCH] git-p4: Avoid modules deprecated in Python 2.6.

Junio C Hamano wrote:
Show 21 quoted lines
> Reilly Grant <reillyeon@qotw.net> writes:
>
>   
>> The popen2, sha and sets modules are deprecated in Python 2.6 (sha in
>> Python 2.5).  Both popen2 and sha are not actually used in git-p4.
>> Replace usage of sets.Set with the builtin set object.
>>     
>
> Does the code already rely on a feature not found in Python older than 2.4
> before your patch?  Otherwise I would have liked to see the last sentence
> like this:
>
>     Replace usage of sets.Set with the builtin set object, which has
>     been available since Python 2.4.
>
>     This change makes the script unusable with Python older than 2.4,
>     which was released in 2004. Hopefully nobody uses ancient 2.3.
>
> So that I did not have to check myself to get a feel of how safe this
> change is.
>   

Thank you for the advice, this is my first patch. The existing code uses the built-in set module in other places so the 2.4 requirement already exists. I should have mentioned this in the original description.

-- 
Reilly Grant
reillyeon@qotw.net                     http://www.qotw.net/~reillyeon
GPG Key Signature: 2A41 A3E5 F3CA D3A0 F5CF  02DF B1EB CDEC 7850 E278

← back to recent threads