179 return cmd.lstrip("^").split("|") |
179 return cmd.lstrip("^").split("|") |
180 |
180 |
181 def setupwrapcolorwrite(ui): |
181 def setupwrapcolorwrite(ui): |
182 # wrap ui.write so diff output can be labeled/colorized |
182 # wrap ui.write so diff output can be labeled/colorized |
183 def wrapwrite(orig, *args, **kw): |
183 def wrapwrite(orig, *args, **kw): |
184 label = kw.pop('label', '') |
184 label = kw.pop(r'label', '') |
185 for chunk, l in patch.difflabel(lambda: args): |
185 for chunk, l in patch.difflabel(lambda: args): |
186 orig(chunk, label=label + l) |
186 orig(chunk, label=label + l) |
187 |
187 |
188 oldwrite = ui.write |
188 oldwrite = ui.write |
189 def wrap(*args, **kwargs): |
189 def wrap(*args, **kwargs): |
370 # patch. Now is the time to delegate the job to |
370 # patch. Now is the time to delegate the job to |
371 # commit/qrefresh or the like! |
371 # commit/qrefresh or the like! |
372 |
372 |
373 # Make all of the pathnames absolute. |
373 # Make all of the pathnames absolute. |
374 newfiles = [repo.wjoin(nf) for nf in newfiles] |
374 newfiles = [repo.wjoin(nf) for nf in newfiles] |
375 return commitfunc(ui, repo, *newfiles, **opts) |
375 return commitfunc(ui, repo, *newfiles, **pycompat.strkwargs(opts)) |
376 finally: |
376 finally: |
377 # 5. finally restore backed-up files |
377 # 5. finally restore backed-up files |
378 try: |
378 try: |
379 dirstate = repo.dirstate |
379 dirstate = repo.dirstate |
380 for realname, tmpname in backups.iteritems(): |
380 for realname, tmpname in backups.iteritems(): |
1332 m = scmutil.matchfiles(repo, files or []) |
1332 m = scmutil.matchfiles(repo, files or []) |
1333 editform = mergeeditform(repo[None], 'import.normal') |
1333 editform = mergeeditform(repo[None], 'import.normal') |
1334 if opts.get('exact'): |
1334 if opts.get('exact'): |
1335 editor = None |
1335 editor = None |
1336 else: |
1336 else: |
1337 editor = getcommiteditor(editform=editform, **opts) |
1337 editor = getcommiteditor(editform=editform, |
|
1338 **pycompat.strkwargs(opts)) |
1338 extra = {} |
1339 extra = {} |
1339 for idfunc in extrapreimport: |
1340 for idfunc in extrapreimport: |
1340 extrapreimportmap[idfunc](repo, extractdata, extra, opts) |
1341 extrapreimportmap[idfunc](repo, extractdata, extra, opts) |
1341 overrides = {} |
1342 overrides = {} |
1342 if partial: |
1343 if partial: |
2715 revmatchfn = filematcher(ctx.rev()) |
2716 revmatchfn = filematcher(ctx.rev()) |
2716 edges = edgefn(type, char, state, rev, parents) |
2717 edges = edgefn(type, char, state, rev, parents) |
2717 firstedge = next(edges) |
2718 firstedge = next(edges) |
2718 width = firstedge[2] |
2719 width = firstedge[2] |
2719 displayer.show(ctx, copies=copies, matchfn=revmatchfn, |
2720 displayer.show(ctx, copies=copies, matchfn=revmatchfn, |
2720 _graphwidth=width, **props) |
2721 _graphwidth=width, **pycompat.strkwargs(props)) |
2721 lines = displayer.hunk.pop(rev).split('\n') |
2722 lines = displayer.hunk.pop(rev).split('\n') |
2722 if not lines[-1]: |
2723 if not lines[-1]: |
2723 del lines[-1] |
2724 del lines[-1] |
2724 displayer.flush(ctx) |
2725 displayer.flush(ctx) |
2725 for type, char, width, coldata in itertools.chain([firstedge], edges): |
2726 for type, char, width, coldata in itertools.chain([firstedge], edges): |
3006 |
3007 |
3007 return ret |
3008 return ret |
3008 |
3009 |
3009 def cat(ui, repo, ctx, matcher, basefm, fntemplate, prefix, **opts): |
3010 def cat(ui, repo, ctx, matcher, basefm, fntemplate, prefix, **opts): |
3010 err = 1 |
3011 err = 1 |
|
3012 opts = pycompat.byteskwargs(opts) |
3011 |
3013 |
3012 def write(path): |
3014 def write(path): |
3013 filename = None |
3015 filename = None |
3014 if fntemplate: |
3016 if fntemplate: |
3015 filename = makefilename(repo, fntemplate, ctx.node(), |
3017 filename = makefilename(repo, fntemplate, ctx.node(), |
3048 sub = ctx.sub(subpath) |
3050 sub = ctx.sub(subpath) |
3049 try: |
3051 try: |
3050 submatch = matchmod.subdirmatcher(subpath, matcher) |
3052 submatch = matchmod.subdirmatcher(subpath, matcher) |
3051 |
3053 |
3052 if not sub.cat(submatch, basefm, fntemplate, |
3054 if not sub.cat(submatch, basefm, fntemplate, |
3053 os.path.join(prefix, sub._path), **opts): |
3055 os.path.join(prefix, sub._path), |
|
3056 **pycompat.strkwargs(opts)): |
3054 err = 0 |
3057 err = 0 |
3055 except error.RepoLookupError: |
3058 except error.RepoLookupError: |
3056 ui.status(_("skipping missing subrepository: %s\n") |
3059 ui.status(_("skipping missing subrepository: %s\n") |
3057 % os.path.join(prefix, subpath)) |
3060 % os.path.join(prefix, subpath)) |
3058 |
3061 |