def interactive_merge_conflict_handler(self, exception):
if connected_to_terminal(sys.stdin):<EOL><INDENT>logger.info(compact("""<STR_LIT>"""))<EOL>while True:<EOL><INDENT>if prompt_for_confirmation("<STR_LIT>"):<EOL><INDENT>if self.merge_conflicts:<EOL><INDENT>logger.warning("<STR_LIT>",<EOL>concatenate(self.merge_conflicts))<EOL><DEDENT>else:<EOL><INDENT>return True<EOL><DEDENT><DEDENT>else:<EOL><INDENT>break<EOL><DEDENT><DEDENT><DEDENT>return False<EOL>
Give the operator a chance to interactively resolve merge conflicts.

:param exception: An :exc:`~executor.ExternalCommandFailed` object.
:returns: :data:`True` if the operator has interactively resolved any
          merge conflicts (and as such the merge error doesn't need to
          be propagated), :data:`False` otherwise.

This method checks whether :data:`sys.stdin` is connected to a terminal
to decide whether interaction with an operator is possible. If it is
then an interactive terminal prompt is used to ask the operator to
resolve the merge conflict(s). If the operator confirms the prompt, the
merge error is swallowed instead of propagated. When :data:`sys.stdin`
is not connected to a terminal or the operator denies the prompt the
merge error is propagated.