def _save_marks(self): if self.export_marks_file: revision_ids = dict((m, r) for r, m in self.revid_to_mark.items()) marks_file.export_marks(self.export_marks_file, revision_ids)
def post_process(self): # Commit the current write group and checkpoint the id map self.repo.commit_write_group() self._save_id_map() if self.params.get("export-marks") is not None: marks_file.export_marks(self.params.get("export-marks"), self.cache_mgr.marks) if self.cache_mgr.reftracker.last_ref == None: """Nothing to refresh""" return # Update the branches self.note("Updating branch information ...") updater = branch_updater.BranchUpdater(self.repo, self.branch, self.cache_mgr, helpers.invert_dictset( self.cache_mgr.reftracker.heads), self.cache_mgr.reftracker.last_ref, self.tags) branches_updated, branches_lost = updater.update() self._branch_count = len(branches_updated) # Tell the user about branches that were not created if branches_lost: if not self.repo.is_shared(): self.warning("Cannot import multiple branches into " "a standalone branch") self.warning("Not creating branches for these head revisions:") for lost_info in branches_lost: head_revision = lost_info[1] branch_name = lost_info[0] self.note("\t %s = %s", head_revision, branch_name) # Update the working trees as requested self._tree_count = 0 remind_about_update = True if self._branch_count == 0: self.note("no branches to update") self.note("no working trees to update") remind_about_update = False elif self.params.get('trees', False): trees = self._get_working_trees(branches_updated) if trees: self._update_working_trees(trees) remind_about_update = False else: self.warning("No working trees available to update") else: # Update just the trunk. (This is always the first branch # returned by the branch updater.) trunk_branch = branches_updated[0] trees = self._get_working_trees([trunk_branch]) if trees: self._update_working_trees(trees) remind_about_update = self._branch_count > 1 # Dump the cache stats now because we clear it before the final pack if self.verbose: self.cache_mgr.dump_stats() if self._original_max_pack_count: # We earlier disabled autopacking, creating one pack every # checkpoint instead. We now pack the repository to optimise # how data is stored. self.cache_mgr.clear_all() self._pack_repository() # Finish up by dumping stats & telling the user what to do next. self.dump_stats() if remind_about_update: # This message is explicitly not timestamped. note("To refresh the working tree for other branches, " "use 'bzr update' inside that branch.")