mercurial/patch.py
changeset 43155 a83c9c79b722
parent 43119 c9093ae8d6c4
child 43156 0e6a7ce81dde
equal deleted inserted replaced
43154:f05d10ef42e3 43155:a83c9c79b722
  1181         if skipall is not None:
  1181         if skipall is not None:
  1182             return skipall, skipfile, skipall, newpatches
  1182             return skipall, skipfile, skipall, newpatches
  1183         if skipfile is not None:
  1183         if skipfile is not None:
  1184             return skipfile, skipfile, skipall, newpatches
  1184             return skipfile, skipfile, skipall, newpatches
  1185         while True:
  1185         while True:
       
  1186             ui.flush()
  1186             resps = messages[b'help'][operation]
  1187             resps = messages[b'help'][operation]
  1187             # IMPORTANT: keep the last line of this prompt short (<40 english
  1188             # IMPORTANT: keep the last line of this prompt short (<40 english
  1188             # chars is a good target) because of issue6158.
  1189             # chars is a good target) because of issue6158.
  1189             r = ui.promptchoice(b"%s\n(enter ? for help) %s" % (query, resps))
  1190             r = ui.promptchoice(b"%s\n(enter ? for help) %s" % (query, resps))
  1190             ui.write(b"\n")
  1191             ui.write(b"\n")
  1191             ui.flush()
       
  1192             if r == 8:  # ?
  1192             if r == 8:  # ?
  1193                 for c, t in ui.extractchoices(resps)[1]:
  1193                 for c, t in ui.extractchoices(resps)[1]:
  1194                     ui.write(b'%s - %s\n' % (c, encoding.lower(t)))
  1194                     ui.write(b'%s - %s\n' % (c, encoding.lower(t)))
  1195                     ui.flush()
       
  1196                 continue
  1195                 continue
  1197             elif r == 0:  # yes
  1196             elif r == 0:  # yes
  1198                 ret = True
  1197                 ret = True
  1199             elif r == 1:  # no
  1198             elif r == 1:  # no
  1200                 ret = False
  1199                 ret = False
  1201             elif r == 2:  # Edit patch
  1200             elif r == 2:  # Edit patch
  1202                 if chunk is None:
  1201                 if chunk is None:
  1203                     ui.write(_(b'cannot edit patch for whole file'))
  1202                     ui.write(_(b'cannot edit patch for whole file'))
  1204                     ui.write(b"\n")
  1203                     ui.write(b"\n")
  1205                     ui.flush()
       
  1206                     continue
  1204                     continue
  1207                 if chunk.header.binary():
  1205                 if chunk.header.binary():
  1208                     ui.write(_(b'cannot edit patch for binary file'))
  1206                     ui.write(_(b'cannot edit patch for binary file'))
  1209                     ui.write(b"\n")
  1207                     ui.write(b"\n")
  1210                     ui.flush()
       
  1211                     continue
  1208                     continue
  1212                 # Patch comment based on the Git one (based on comment at end of
  1209                 # Patch comment based on the Git one (based on comment at end of
  1213                 # https://mercurial-scm.org/wiki/RecordExtension)
  1210                 # https://mercurial-scm.org/wiki/RecordExtension)
  1214                 phelp = b'---' + _(
  1211                 phelp = b'---' + _(
  1215                     """
  1212                     """
  1306             applied[h.filename()] += h.hunks
  1303             applied[h.filename()] += h.hunks
  1307             continue
  1304             continue
  1308         for i, chunk in enumerate(h.hunks):
  1305         for i, chunk in enumerate(h.hunks):
  1309             if skipfile is None and skipall is None:
  1306             if skipfile is None and skipall is None:
  1310                 chunk.pretty(ui)
  1307                 chunk.pretty(ui)
  1311                 ui.flush()
       
  1312             if total == 1:
  1308             if total == 1:
  1313                 msg = messages[b'single'][operation] % chunk.filename()
  1309                 msg = messages[b'single'][operation] % chunk.filename()
  1314             else:
  1310             else:
  1315                 idx = pos - len(h.hunks) + i
  1311                 idx = pos - len(h.hunks) + i
  1316                 msg = messages[b'multiple'][operation] % (
  1312                 msg = messages[b'multiple'][operation] % (