def _apply_patch(self, file_path, theirs_file): entry = self.get_entry(file_path) my_file = entry.get_file_path() origin_file = entry.get_origin_path() editor.save_current_file() view_state = editor.get_window_view_state() placeholder = utils.write_placeholder( my_file, editor.get_cursor()[0] ) merged_contents = diff.diff3(my_file, origin_file, theirs_file) with open(my_file, 'w') as file: file.write(merged_contents) line_number = utils.extract_placeholder( my_file, placeholder, ) editor.move_cursor(line_number, editor.get_cursor()[1], view_state) self._save_origin(theirs_file) os.unlink(theirs_file)
def commit(self): if not editor.is_current_file_modified(): return editor.save_current_file() entry = self.get_entry(editor.get_current_file_path()) ash.upload_review( self._review_url, editor.get_current_file_path(), entry.get_name_in_review(), entry.get_origin_path() ) ash.get_review_into_file( self._review_url, entry.get_name_in_review(), entry.get_file_path(), ) self._save_origin(entry.get_file_path()) editor.reopen_current_file() editor.redraw()