Without this patch, the command would fail if there are local changes
because of git-read-tree -m -u.
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
+def reset(tree_id = None):
+ """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(tree_id = tree_id)
+ rm_files = [x[1] for x in cache_files if x[0] in ['D']]
+
+ checkout(tree_id = tree_id, force = True)
+ __set_head(tree_id)
+
+ # checkout doesn't remove files
+ map(os.remove, rm_files)
+
def pull(location, head = None, tag = None):
"""Fetch changes from the remote repository. At the moment, just
use the 'git fetch' scripts
def pull(location, head = None, tag = None):
"""Fetch changes from the remote repository. At the moment, just
use the 'git fetch' scripts
assert(name)
patch = Patch(name, self.__patch_dir)
assert(name)
patch = Patch(name, self.__patch_dir)
self.pop_patch(name)
patch.restore_old_boundaries()
self.pop_patch(name)
patch.restore_old_boundaries()