# HG changeset patch # User Abderrahim Kitouni # Date 1249726489 -3600 # Node ID 53b731d2a3e29811b134580f94b941b271c36379 # Parent 0ac974306e08687ede06a07b9fc8fe3e8a80f639 outgoing: don't crash when there are unpulled changesets diff --git a/git_handler.py b/git_handler.py --- a/git_handler.py +++ b/git_handler.py @@ -138,8 +138,12 @@ try: client.send_pack(path, changed, None) - new = [bin(self.map_hg_get(r)) for r in new_refs.values()] - old = dict((bin(self.map_hg_get(r)), 1) for r in old_refs.values()) + + changed_refs = [ref for ref, sha in new_refs.iteritems() + if sha != old_refs.get(ref)] + new = [bin(self.map_hg_get(new_refs[ref])) for ref in changed_refs] + old = dict( (bin(self.map_hg_get(old_refs[r])), 1) + for r in changed_refs) return old, new except HangupException: