X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=gitMergeCommon.py;h=fdbf9e4778fd7d44667e475ba659d64986b2e097;hb=b3ca4e4ebba6915ea534c4b82cfc5d6f10b4c283;hp=7e7f317119b4a7082e9151053ad28225f151f1aa;hpb=654291a2acb1c28b884cb9376a0d7eb5f8c090b5;p=git.git diff --git a/gitMergeCommon.py b/gitMergeCommon.py index 7e7f3171..fdbf9e47 100644 --- a/gitMergeCommon.py +++ b/gitMergeCommon.py @@ -1,19 +1,22 @@ +# +# Copyright (C) 2005 Fredrik Kuivinen +# + import sys, re, os, traceback from sets import Set -if sys.version_info[0] < 2 or \ - (sys.version_info[0] == 2 and sys.version_info[1] < 4): - print 'Python version 2.4 required, found', \ - str(sys.version_info[0])+'.'+str(sys.version_info[1])+'.'+ \ - str(sys.version_info[2]) - sys.exit(1) - -import subprocess - def die(*args): printList(args, sys.stderr) sys.exit(2) +def printList(list, file=sys.stdout): + for x in list: + file.write(str(x)) + file.write(' ') + file.write('\n') + +import subprocess + # Debugging machinery # ------------------- @@ -32,12 +35,6 @@ def debug(*args): if funcName in functionsToDebug: printList(args) -def printList(list, file=sys.stdout): - for x in list: - file.write(str(x)) - file.write(' ') - file.write('\n') - # Program execution # ----------------- @@ -46,6 +43,9 @@ class ProgramError(Exception): self.progStr = progStr self.error = error + def __str__(self): + return self.progStr + ': ' + self.error + addDebug('runProgram') def runProgram(prog, input=None, returnCode=False, env=None, pipeOutput=True): debug('runProgram prog:', str(prog), 'input:', str(input)) @@ -107,7 +107,10 @@ def isSha(obj): return (type(obj) is str and bool(shaRE.match(obj))) or \ (type(obj) is int and obj >= 1) -class Commit: +class Commit(object): + __slots__ = ['parents', 'firstLineMsg', 'children', '_tree', 'sha', + 'virtual'] + def __init__(self, sha, parents, tree=None): self.parents = parents self.firstLineMsg = None @@ -217,7 +220,7 @@ def buildGraph(heads): # Write the empty tree to the object database and return its SHA1 def writeEmptyTree(): - tmpIndex = os.environ['GIT_DIR'] + '/merge-tmp-index' + tmpIndex = os.environ.get('GIT_DIR', '.git') + '/merge-tmp-index' def delTmpIndex(): try: os.unlink(tmpIndex)