X-Git-Url: https://git.distorted.org.uk/~mdw/stgit/blobdiff_plain/7ab9ac47ffab2ff8178fae5212c54c457177bbb3..84fcbc3b78f3a0156025d4eb6f6b76df7a5df233:/gitmergeonefile.py diff --git a/gitmergeonefile.py b/gitmergeonefile.py index fe416bd..1cba193 100755 --- a/gitmergeonefile.py +++ b/gitmergeonefile.py @@ -27,10 +27,11 @@ prefix, bin = os.path.split(sys.path[0]) if bin == 'bin' and prefix != sys.prefix: major, minor = sys.version_info[0:2] - sys.path += [os.path.join(prefix, 'lib', 'python'), - os.path.join(prefix, 'lib', 'python%s.%s' % (major, minor)), - os.path.join(prefix, 'lib', 'python%s.%s' % (major, minor), - 'site-packages')] + local_path = [os.path.join(prefix, 'lib', 'python'), + os.path.join(prefix, 'lib', 'python%s.%s' % (major, minor)), + os.path.join(prefix, 'lib', 'python%s.%s' % (major, minor), + 'site-packages')] + sys.path = local_path + sys.path from stgit.config import config from stgit.utils import append_string @@ -141,12 +142,12 @@ if orig_hash: if file1_hash and file2_hash: # if modes are the same (git-read-tree probably dealed with it) if file1_hash == file2_hash: - if os.system('git-update-cache --cacheinfo %s %s %s' + if os.system('git-update-index --cacheinfo %s %s %s' % (file1_mode, file1_hash, path)) != 0: - print >> sys.stderr, 'Error: git-update-cache failed' + print >> sys.stderr, 'Error: git-update-index failed' __conflict() - if os.system('git-checkout-cache -u -f -- %s' % path): - print >> sys.stderr, 'Error: git-checkout-cache failed' + if os.system('git-checkout-index -u -f -- %s' % path): + print >> sys.stderr, 'Error: git-checkout-index failed' __conflict() if file1_mode != file2_mode: print >> sys.stderr, \ @@ -160,14 +161,14 @@ if orig_hash: 'output': path }) == 0 if merge_ok: - os.system('git-update-cache -- %s' % path) + os.system('git-update-index -- %s' % path) __remove_files() sys.exit(0) else: print >> sys.stderr, \ 'Error: three-way merge tool failed for file "%s"' % path # reset the cache to the first branch - os.system('git-update-cache --cacheinfo %s %s %s' + os.system('git-update-index --cacheinfo %s %s %s' % (file1_mode, file1_hash, path)) if keeporig != 'yes': __remove_files() @@ -178,19 +179,19 @@ if orig_hash: if os.path.exists(path): os.remove(path) __remove_files() - sys.exit(os.system('git-update-cache --remove -- %s' % path)) + sys.exit(os.system('git-update-index --remove -- %s' % path)) # file does not exist in origin else: # file added in both if file1_hash and file2_hash: # files are the same if file1_hash == file2_hash: - if os.system('git-update-cache --add --cacheinfo %s %s %s' + if os.system('git-update-index --add --cacheinfo %s %s %s' % (file1_mode, file1_hash, path)) != 0: - print >> sys.stderr, 'Error: git-update-cache failed' + print >> sys.stderr, 'Error: git-update-index failed' __conflict() - if os.system('git-checkout-cache -u -f -- %s' % path): - print >> sys.stderr, 'Error: git-checkout-cache failed' + if os.system('git-checkout-index -u -f -- %s' % path): + print >> sys.stderr, 'Error: git-checkout-index failed' __conflict() if file1_mode != file2_mode: print >> sys.stderr, \ @@ -210,12 +211,12 @@ else: else: mode = file2_mode obj = file2_hash - if os.system('git-update-cache --add --cacheinfo %s %s %s' + if os.system('git-update-index --add --cacheinfo %s %s %s' % (mode, obj, path)) != 0: - print >> sys.stderr, 'Error: git-update-cache failed' + print >> sys.stderr, 'Error: git-update-index failed' __conflict() __remove_files() - sys.exit(os.system('git-checkout-cache -u -f -- %s' % path)) + sys.exit(os.system('git-checkout-index -u -f -- %s' % path)) # Un-handled case print >> sys.stderr, 'Error: Un-handled merge conflict'