threads / patch / 2547

patchGive python a chance to find "backported" modules

Subject: [PATCH] Give python a chance to find "backported" modules

## tl;dr

4 messages between Nov 16, 2005 and Nov 18, 2005. Diffs are folded; open one to read it.

replies: 3people: 2as markdown or json

Johannes Schindelin· Nov 16, 2005, 02:33 UTC · lore

python 2.2.1 is perfectly capable of executing git-merge-recursive, provided that it finds heapq and sets. All you have to do is to steal heapq.py and sets.py from python 2.3 or newer, and drop them in your GIT_PYTHON_PATH.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
---
	I noted that the python modules are installed uncompiled,
	i.e. *.py but not *.pyc. Is this intended?
 git-merge-recursive.py |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

applies-to: 2a67ad9e41fc614c7848ceff43f4b60b99cf932d dfd75a554e84139ddce7b62ec82ef94254da1573

Show changes to git-merge-recursive.py +4 −2
diff --git a/git-merge-recursive.py b/git-merge-recursive.py
index 1bf73f3..d7d36aa 100755
--- a/git-merge-recursive.py
+++ b/git-merge-recursive.py
@@ -3,11 +3,13 @@
 # Copyright (C) 2005 Fredrik Kuivinen
 #
 
-import sys, math, random, os, re, signal, tempfile, stat, errno, traceback
+import sys
+sys.path.append('''@@GIT_PYTHON_PATH@@''')
+
+import math, random, os, re, signal, tempfile, stat, errno, traceback
 from heapq import heappush, heappop
 from sets import Set
 
-sys.path.append('''@@GIT_PYTHON_PATH@@''')
 from gitMergeCommon import *
 
 outputIndent = 0
---
0.99.9.GIT
Junio C Hamano· Nov 16, 2005, 03:06 UTC · re: Johannes Schindelin · lore

Re: [PATCH] Give python a chance to find "backported" modules

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> python 2.2.1 is perfectly capable of executing git-merge-recursive,
> provided that it finds heapq and sets. All you have to do is to steal
> heapq.py and sets.py from python 2.3 or newer, and drop them in your
> GIT_PYTHON_PATH. 

Fair enough. But I do not think we would want to go further than this. Especially, shipping a copy of heapq and sets like we did for subprocess.

Thanks anyway.
Johannes Schindelin· Nov 16, 2005, 08:02 UTC · re: Junio C Hamano · lore

Re: [PATCH] Give python a chance to find "backported" modules

Hi,
On Tue, 15 Nov 2005, Junio C Hamano wrote:
Show 10 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> 
> > python 2.2.1 is perfectly capable of executing git-merge-recursive,
> > provided that it finds heapq and sets. All you have to do is to steal
> > heapq.py and sets.py from python 2.3 or newer, and drop them in your
> > GIT_PYTHON_PATH. 
> 
> Fair enough.  But I do not think we would want to go further
> than this.  Especially, shipping a copy of heapq and sets like
> we did for subprocess.
Yes. That was my intention.

Ciao, Dscho

Johannes Schindelin· Nov 18, 2005, 13:18 UTC · re: Johannes Schindelin · lore

Re: [PATCH] Give python a chance to find "backported" modules

Hi,
On Wed, 16 Nov 2005, Johannes Schindelin wrote:
> python 2.2.1 is perfectly capable of executing git-merge-recursive,
Well, no.

Actually, my tests ran, but only because they were trivial, or next to it. In line 477 of git-merge-recursive.py, there is a reference to an __iter__ member of a list (the recs object). Python 2.2.1 does not know about that, but rather wants to do the iteration over the collection iter(recs). However, this does not work, as some of the contained objects have to be skipped.

So I bit the bullet, compiled Python 2.4.2, and it works. Sorry for the noise.

Ciao, Dscho

← back to recent threads