X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=gitMergeCommon.py;h=fdbf9e4778fd7d44667e475ba659d64986b2e097;hb=71b08148366bbc4d02b3477e7ded35b049206f89;hp=dfa49ff7ec95453d680020866e3c9658b1f77870;hpb=720d150c48fc35fca13c6dfb3c76d60e4ee83b87;p=git.git diff --git a/gitMergeCommon.py b/gitMergeCommon.py index dfa49ff7..fdbf9e47 100644 --- a/gitMergeCommon.py +++ b/gitMergeCommon.py @@ -1,12 +1,19 @@ +# +# 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) +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 @@ -28,12 +35,6 @@ def debug(*args): if funcName in functionsToDebug: printList(args) -def printList(list): - for x in list: - sys.stdout.write(str(x)) - sys.stdout.write(' ') - sys.stdout.write('\n') - # Program execution # ----------------- @@ -42,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)) @@ -103,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 @@ -213,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)