X-Git-Url: https://git.distorted.org.uk/~mdw/stgit/blobdiff_plain/e2d769b29016dcb4e2294646f52a09d777a724d1..510d1442b1fcabe006fcf322837980d23eaeb9c7:/stgit/git.py diff --git a/stgit/git.py b/stgit/git.py index 016bc3a..a3488ff 100644 --- a/stgit/git.py +++ b/stgit/git.py @@ -253,6 +253,9 @@ def __set_head(val): raise GitException, 'Could not update HEAD to "%s".' % val __head = val + # only allow SHA1 hashes + assert(len(__head) == 40) + def __clear_head_cache(): """Sets the __head to None so that a re-read is forced """ @@ -599,14 +602,17 @@ def switch(tree_id): __set_head(tree_id) -def reset(files = None, tree_id = 'HEAD'): +def reset(files = None, 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() + checkout(files, tree_id, True) # if the reset refers to the whole tree, switch the HEAD as well - if tree_id and not files: + if not files: __set_head(tree_id) def pull(repository = 'origin', refspec = None):