Actually, the broken code was restoring but deleting them. This was because
git.reset() command was used in the past instead of git.switch(). This
patch fixed it.
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
"""Revert the tree changes relative to the given tree_id. It removes
any local changes
"""
"""Revert the tree changes relative to the given tree_id. It removes
any local changes
"""
- if not tree_id:
- tree_id = get_head()
-
- cache_files = __tree_status(files, tree_id)
- rm_files = [x[1] for x in cache_files if x[0] in ['D']]
-
checkout(files, tree_id, True)
checkout(files, tree_id, True)
- # checkout doesn't remove files
- map(os.remove, rm_files)
# if the reset refers to the whole tree, switch the HEAD as well
# if the reset refers to the whole tree, switch the HEAD as well
+ if tree_id and not files:
__set_head(tree_id)
def pull(repository = 'origin', refspec = None):
__set_head(tree_id)
def pull(repository = 'origin', refspec = None):