mercurial/cmdutil.py
changeset 25310 c1f5ef76d1c2
parent 25273 8e0e334bad42
child 25358 31f3636e9296
equal deleted inserted replaced
25309:b333ca94403d 25310:c1f5ef76d1c2
    43     def wrap(*args, **kwargs):
    43     def wrap(*args, **kwargs):
    44         return wrapwrite(oldwrite, *args, **kwargs)
    44         return wrapwrite(oldwrite, *args, **kwargs)
    45     setattr(ui, 'write', wrap)
    45     setattr(ui, 'write', wrap)
    46     return oldwrite
    46     return oldwrite
    47 
    47 
    48 def filterchunks(ui, originalhunks, usecurses, testfile):
    48 def filterchunks(ui, originalhunks, usecurses, testfile, operation=None):
    49     if usecurses:
    49     if usecurses:
    50         if testfile:
    50         if testfile:
    51             recordfn = crecordmod.testdecorator(testfile,
    51             recordfn = crecordmod.testdecorator(testfile,
    52                                                 crecordmod.testchunkselector)
    52                                                 crecordmod.testchunkselector)
    53         else:
    53         else:
    54             recordfn = crecordmod.chunkselector
    54             recordfn = crecordmod.chunkselector
    55 
    55 
    56         return crecordmod.filterpatch(ui, originalhunks, recordfn)
    56         return crecordmod.filterpatch(ui, originalhunks, recordfn, operation)
    57 
    57 
    58     else:
    58     else:
    59         return patch.filterpatch(ui, originalhunks)
    59         return patch.filterpatch(ui, originalhunks, operation)
    60 
    60 
    61 def recordfilter(ui, originalhunks):
    61 def recordfilter(ui, originalhunks, operation=None):
       
    62     """ Prompts the user to filter the originalhunks and return a list of
       
    63     selected hunks.
       
    64     *operation* is used for ui purposes to indicate the user
       
    65     what kind of filtering they are doing: reverting, commiting, shelving, etc.
       
    66     """
    62     usecurses =  ui.configbool('experimental', 'crecord', False)
    67     usecurses =  ui.configbool('experimental', 'crecord', False)
    63     testfile = ui.config('experimental', 'crecordtest', None)
    68     testfile = ui.config('experimental', 'crecordtest', None)
    64     oldwrite = setupwrapcolorwrite(ui)
    69     oldwrite = setupwrapcolorwrite(ui)
    65     try:
    70     try:
    66         newchunks = filterchunks(ui, originalhunks, usecurses, testfile)
    71         newchunks = filterchunks(ui, originalhunks, usecurses, testfile,
       
    72                                  operation)
    67     finally:
    73     finally:
    68         ui.write = oldwrite
    74         ui.write = oldwrite
    69     return newchunks
    75     return newchunks
    70 
    76 
    71 def dorecord(ui, repo, commitfunc, cmdsuggest, backupall,
    77 def dorecord(ui, repo, commitfunc, cmdsuggest, backupall,