diff options
author | Felipe Contreras <felipe.contreras@gmail.com> | 2013-04-26 16:12:33 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-04-26 15:20:26 -0700 |
commit | d6bb9136c93baddf0ee5052638591bd881b19f77 (patch) | |
tree | a6e0829c7988b50d2f4e75877f46815cf00c2f7e | |
parent | remote-hg: remove extra check (diff) | |
download | tgif-d6bb9136c93baddf0ee5052638591bd881b19f77.tar.xz |
remote-bzr: fix bad state issue
Carried from remote-hg.
The problem reportedly happened after doing a push that fails, the abort
causes the state of remote-hg to go bad, this happens because
remote-hg's marks are not stored, but 'git fast-export' marks are.
Ensure that the marks are _always_ stored.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | contrib/remote-helpers/git-remote-bzr | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/contrib/remote-helpers/git-remote-bzr b/contrib/remote-helpers/git-remote-bzr index 31cba64d93..bfc298b2e1 100755 --- a/contrib/remote-helpers/git-remote-bzr +++ b/contrib/remote-helpers/git-remote-bzr @@ -32,6 +32,7 @@ import os import json import re import StringIO +import atexit NAME_RE = re.compile('^([^<>]+)') AUTHOR_RE = re.compile('^([^<>]+?)? ?<([^<>]*)>$') @@ -728,6 +729,7 @@ def main(args): blob_marks = {} parsed_refs = {} files_cache = {} + marks = None gitdir = os.environ['GIT_DIR'] dirname = os.path.join(gitdir, 'bzr', alias) @@ -754,6 +756,10 @@ def main(args): die('unhandled command: %s' % line) sys.stdout.flush() +def bye(): + if not marks: + return marks.store() +atexit.register(bye) sys.exit(main(sys.argv)) |