32 def wrap(*args, **kwargs): |
32 def wrap(*args, **kwargs): |
33 return wrapwrite(oldwrite, *args, **kwargs) |
33 return wrapwrite(oldwrite, *args, **kwargs) |
34 setattr(ui, 'write', wrap) |
34 setattr(ui, 'write', wrap) |
35 return oldwrite |
35 return oldwrite |
36 |
36 |
37 def recordfilter(ui, originalhunks): |
37 def filterchunks(ui, originalhunks, usecurses, testfile): |
38 usecurses = ui.configbool('experimental', 'crecord', False) |
|
39 if usecurses: |
38 if usecurses: |
40 testfile = ui.config('experimental', 'crecordtest', None) |
|
41 if testfile: |
39 if testfile: |
42 recordfn = crecordmod.testdecorator(testfile, |
40 recordfn = crecordmod.testdecorator(testfile, |
43 crecordmod.testchunkselector) |
41 crecordmod.testchunkselector) |
44 else: |
42 else: |
45 recordfn = crecordmod.chunkselector |
43 recordfn = crecordmod.chunkselector |
46 |
44 |
47 return crecordmod.filterpatch(ui, originalhunks, recordfn) |
45 return crecordmod.filterpatch(ui, originalhunks, recordfn) |
48 |
46 |
49 else: |
47 else: |
50 return patch.filterpatch(ui, originalhunks) |
48 return patch.filterpatch(ui, originalhunks) |
|
49 |
|
50 def recordfilter(ui, originalhunks): |
|
51 usecurses = ui.configbool('experimental', 'crecord', False) |
|
52 testfile = ui.config('experimental', 'crecordtest', None) |
|
53 newchunks = filterchunks(ui, originalhunks, usecurses, testfile) |
|
54 return newchunks |
51 |
55 |
52 def dorecord(ui, repo, commitfunc, cmdsuggest, backupall, |
56 def dorecord(ui, repo, commitfunc, cmdsuggest, backupall, |
53 filterfn, *pats, **opts): |
57 filterfn, *pats, **opts): |
54 import merge as mergemod |
58 import merge as mergemod |
55 hunkclasses = (crecordmod.uihunk, patch.recordhunk) |
59 hunkclasses = (crecordmod.uihunk, patch.recordhunk) |