view hglib/merge.py @ 180:ff6efc1ab9e4

protocol: allow hglib user to get call backs for prompts, output and errors setcbout(cbout), setcberr(cberr) and setcbprompt(cbprompt) are used to set the call back function used by the hgclient class. cb stands for call back. cbout is a function that will be called with the stdout data of the command as it runs. cbout is called with output as it is made available, which can be as partial lines or multiple lines. cberr is a function that will be called with the stderr data of the command as it runs. cberr is called with output as it is made available, which can be as partial lines or multiple lines. Command that make remote connects can prompt for username and password for HTTP/HTTPS connections. cbprompt is called when hgclient need a response to a prompt from the server. It receives the max number of bytes to return and the contents of stdout received so far. The last text sent to either cbout or cberr will contain the prompt text itself.
author Barry A. Scott <barry@barrys-emacs.org>
date Fri, 28 Oct 2016 11:33:20 +0100
parents fe74d5599539
children
line wrap: on
line source

from hglib.util import b

class handlers(object):
    """
    These can be used as the cb argument to hgclient.merge() to control the
    behaviour when Mercurial prompts what to do with regard to a specific file,
    e.g. when one parent modified a file and the other removed it.
    """

    @staticmethod
    def abort(size, output):
        """
        Abort the merge if a prompt appears.
        """
        return b('')

    """
    This corresponds to Mercurial's -y/--noninteractive global option, which
    picks the first choice on all prompts.
    """
    noninteractive = 'yes'