Not to be used with version of git 0.99.6 and earlier.
Using the new names with current "master" branch is OK.
The old names will be removed in 0.99.8.
if file1_hash and file2_hash:
# if modes are the same (git-read-tree probably dealed with it)
if file1_hash == file2_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:
% (file1_mode, file1_hash, path)) != 0:
- print >> sys.stderr, 'Error: git-update-cache failed'
+ print >> sys.stderr, 'Error: git-update-index failed'
- 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, \
__conflict()
if file1_mode != file2_mode:
print >> sys.stderr, \
'output': path }) == 0
if merge_ok:
'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
__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()
% (file1_mode, file1_hash, path))
if keeporig != 'yes':
__remove_files()
if os.path.exists(path):
os.remove(path)
__remove_files()
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:
# 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:
% (file1_mode, file1_hash, path)) != 0:
- print >> sys.stderr, 'Error: git-update-cache failed'
+ print >> sys.stderr, 'Error: git-update-index failed'
- 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, \
__conflict()
if file1_mode != file2_mode:
print >> sys.stderr, \
else:
mode = file2_mode
obj = file2_hash
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:
% (mode, obj, path)) != 0:
- print >> sys.stderr, 'Error: git-update-cache failed'
+ print >> sys.stderr, 'Error: git-update-index failed'
__conflict()
__remove_files()
__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'
# Un-handled case
print >> sys.stderr, 'Error: Un-handled merge conflict'
noexclude = True):
"""Returns a list of pairs - [status, filename]
"""
noexclude = True):
"""Returns a list of pairs - [status, filename]
"""
- os.system('git-update-cache --refresh > /dev/null')
+ os.system('git-update-index --refresh > /dev/null')
cache_files += [('C', filename) for filename in conflicts]
# the rest
cache_files += [('C', filename) for filename in conflicts]
# the rest
- for line in _output_lines(['git-diff-cache', '-r', tree_id] + files):
+ for line in _output_lines(['git-diff-index', '-r', tree_id] + files):
fs = tuple(line.rstrip().split(' ',4)[-1].split('\t',1))
if fs[1] not in conflicts:
cache_files.append(fs)
fs = tuple(line.rstrip().split(' ',4)[-1].split('\t',1))
if fs[1] not in conflicts:
cache_files.append(fs)
raise GitException, '%s is not a file or directory' % i
if files:
raise GitException, '%s is not a file or directory' % i
if files:
- if __run('git-update-cache --add --', files):
+ if __run('git-update-index --add --', files):
raise GitException, 'Unable to add file'
def rm(files, force = False):
raise GitException, 'Unable to add file'
def rm(files, force = False):
if os.path.exists(f):
raise GitException, '%s exists. Remove it first' %f
if files:
if os.path.exists(f):
raise GitException, '%s exists. Remove it first' %f
if files:
- __run('git-update-cache --remove --', files)
+ __run('git-update-index --remove --', files)
- __run('git-update-cache --force-remove --', files)
+ __run('git-update-index --force-remove --', files)
def update_cache(files = [], force = False):
"""Update the cache information for the given files
def update_cache(files = [], force = False):
"""Update the cache information for the given files
rm_files = [x[1] for x in cache_files if x[0] in ['D']]
m_files = [x[1] for x in cache_files if x[0] in ['M']]
rm_files = [x[1] for x in cache_files if x[0] in ['D']]
m_files = [x[1] for x in cache_files if x[0] in ['M']]
- if add_files and __run('git-update-cache --add --', add_files) != 0:
- raise GitException, 'Failed git-update-cache --add'
- if rm_files and __run('git-update-cache --force-remove --', rm_files) != 0:
- raise GitException, 'Failed git-update-cache --rm'
- if m_files and __run('git-update-cache --', m_files) != 0:
- raise GitException, 'Failed git-update-cache'
+ if add_files and __run('git-update-index --add --', add_files) != 0:
+ raise GitException, 'Failed git-update-index --add'
+ if rm_files and __run('git-update-index --force-remove --', rm_files) != 0:
+ raise GitException, 'Failed git-update-index --rm'
+ if m_files and __run('git-update-index --', m_files) != 0:
+ raise GitException, 'Failed git-update-index'
raise GitException, 'git-read-tree failed (local changes maybe?)'
# this can fail if there are conflicts
raise GitException, 'git-read-tree failed (local changes maybe?)'
# this can fail if there are conflicts
- if os.system('git-merge-cache -o -q gitmergeonefile.py -a') != 0:
+ if os.system('git-merge-index -o -q gitmergeonefile.py -a') != 0:
raise GitException, 'git-merge-cache failed (possible conflicts)'
def status(files = [], modified = False, new = False, deleted = False,
raise GitException, 'git-merge-cache failed (possible conflicts)'
def status(files = [], modified = False, new = False, deleted = False,
if rev2:
diff_str = _output(['git-diff-tree', '-p', rev1, rev2] + files)
else:
if rev2:
diff_str = _output(['git-diff-tree', '-p', rev1, rev2] + files)
else:
- os.system('git-update-cache --refresh > /dev/null')
- diff_str = _output(['git-diff-cache', '-p', rev1] + files)
+ os.system('git-update-index --refresh > /dev/null')
+ diff_str = _output(['git-diff-index', '-p', rev1] + files)
if out_fd:
out_fd.write(diff_str)
if out_fd:
out_fd.write(diff_str)
if tree_id and __run('git-read-tree -m', [tree_id]) != 0:
raise GitException, 'Failed git-read-tree -m %s' % tree_id
if tree_id and __run('git-read-tree -m', [tree_id]) != 0:
raise GitException, 'Failed git-read-tree -m %s' % tree_id
- checkout_cmd = 'git-checkout-cache -q -u'
+ checkout_cmd = 'git-checkout-index -q -u'
if force:
checkout_cmd += ' -f'
if len(files) == 0:
if force:
checkout_cmd += ' -f'
if len(files) == 0:
checkout_cmd += ' --'
if __run(checkout_cmd, files) != 0:
checkout_cmd += ' --'
if __run(checkout_cmd, files) != 0:
- raise GitException, 'Failed git-checkout-cache'
+ raise GitException, 'Failed git-checkout-index'
def switch(tree_id):
"""Switch the tree to the given id
def switch(tree_id):
"""Switch the tree to the given id
"""Apply a patch onto the current index. There must not be any
local changes in the tree, otherwise the command fails
"""
"""Apply a patch onto the current index. There must not be any
local changes in the tree, otherwise the command fails
"""
- os.system('git-update-cache --refresh > /dev/null')
+ os.system('git-update-index --refresh > /dev/null')
if filename:
if __run('git-apply --index', [filename]) != 0:
if filename:
if __run('git-apply --index', [filename]) != 0: