Show More
@@ -1035,7 +1035,6 b' def _histedit(ui, repo, state, *freeargs' | |||
|
1035 | 1035 | _('histedit requires exactly one ancestor revision')) |
|
1036 | 1036 | |
|
1037 | 1037 | |
|
1038 | replacements = [] | |
|
1039 | 1038 | state.keep = opts.get('keep', False) |
|
1040 | 1039 | supportsmarkers = obsolete.isenabled(repo, obsolete.createmarkersopt) |
|
1041 | 1040 | |
@@ -1050,56 +1049,7 b' def _histedit(ui, repo, state, *freeargs' | |||
|
1050 | 1049 | _abortaction(ui, repo, state) |
|
1051 | 1050 | return |
|
1052 | 1051 | else: |
|
1053 | cmdutil.checkunfinished(repo) | |
|
1054 | cmdutil.bailifchanged(repo) | |
|
1055 | ||
|
1056 | topmost, empty = repo.dirstate.parents() | |
|
1057 | if outg: | |
|
1058 | if freeargs: | |
|
1059 | remote = freeargs[0] | |
|
1060 | else: | |
|
1061 | remote = None | |
|
1062 | root = findoutgoing(ui, repo, remote, force, opts) | |
|
1063 | else: | |
|
1064 | rr = list(repo.set('roots(%ld)', scmutil.revrange(repo, revs))) | |
|
1065 | if len(rr) != 1: | |
|
1066 | raise error.Abort(_('The specified revisions must have ' | |
|
1067 | 'exactly one common root')) | |
|
1068 | root = rr[0].node() | |
|
1069 | ||
|
1070 | revs = between(repo, root, topmost, state.keep) | |
|
1071 | if not revs: | |
|
1072 | raise error.Abort(_('%s is not an ancestor of working directory') % | |
|
1073 | node.short(root)) | |
|
1074 | ||
|
1075 | ctxs = [repo[r] for r in revs] | |
|
1076 | if not rules: | |
|
1077 | comment = geteditcomment(node.short(root), node.short(topmost)) | |
|
1078 | actions = [pick(state, r) for r in revs] | |
|
1079 | rules = ruleeditor(repo, ui, actions, comment) | |
|
1080 | else: | |
|
1081 | if rules == '-': | |
|
1082 | f = sys.stdin | |
|
1083 | else: | |
|
1084 | f = open(rules) | |
|
1085 | rules = f.read() | |
|
1086 | f.close() | |
|
1087 | actions = parserules(rules, state) | |
|
1088 | warnverifyactions(ui, repo, actions, state, ctxs) | |
|
1089 | ||
|
1090 | parentctxnode = repo[root].parents()[0].node() | |
|
1091 | ||
|
1092 | state.parentctxnode = parentctxnode | |
|
1093 | state.actions = actions | |
|
1094 | state.topmost = topmost | |
|
1095 | state.replacements = replacements | |
|
1096 | ||
|
1097 | # Create a backup so we can always abort completely. | |
|
1098 | backupfile = None | |
|
1099 | if not obsolete.isenabled(repo, obsolete.createmarkersopt): | |
|
1100 | backupfile = repair._bundle(repo, [parentctxnode], [topmost], root, | |
|
1101 | 'histedit') | |
|
1102 | state.backupfile = backupfile | |
|
1052 | _newaction(ui, repo, state, revs, freeargs, opts) | |
|
1103 | 1053 | |
|
1104 | 1054 | # preprocess rules so that we can hide inner folds from the user |
|
1105 | 1055 | # and only show one editor |
@@ -1228,6 +1178,62 b' def _editplanaction(ui, repo, state, rul' | |||
|
1228 | 1178 | state.actions = actions |
|
1229 | 1179 | state.write() |
|
1230 | 1180 | |
|
1181 | def _newaction(ui, repo, state, revs, freeargs, opts): | |
|
1182 | outg = opts.get('outgoing') | |
|
1183 | rules = opts.get('commands', '') | |
|
1184 | force = opts.get('force') | |
|
1185 | ||
|
1186 | cmdutil.checkunfinished(repo) | |
|
1187 | cmdutil.bailifchanged(repo) | |
|
1188 | ||
|
1189 | topmost, empty = repo.dirstate.parents() | |
|
1190 | if outg: | |
|
1191 | if freeargs: | |
|
1192 | remote = freeargs[0] | |
|
1193 | else: | |
|
1194 | remote = None | |
|
1195 | root = findoutgoing(ui, repo, remote, force, opts) | |
|
1196 | else: | |
|
1197 | rr = list(repo.set('roots(%ld)', scmutil.revrange(repo, revs))) | |
|
1198 | if len(rr) != 1: | |
|
1199 | raise error.Abort(_('The specified revisions must have ' | |
|
1200 | 'exactly one common root')) | |
|
1201 | root = rr[0].node() | |
|
1202 | ||
|
1203 | revs = between(repo, root, topmost, state.keep) | |
|
1204 | if not revs: | |
|
1205 | raise error.Abort(_('%s is not an ancestor of working directory') % | |
|
1206 | node.short(root)) | |
|
1207 | ||
|
1208 | ctxs = [repo[r] for r in revs] | |
|
1209 | if not rules: | |
|
1210 | comment = geteditcomment(node.short(root), node.short(topmost)) | |
|
1211 | actions = [pick(state, r) for r in revs] | |
|
1212 | rules = ruleeditor(repo, ui, actions, comment) | |
|
1213 | else: | |
|
1214 | if rules == '-': | |
|
1215 | f = sys.stdin | |
|
1216 | else: | |
|
1217 | f = open(rules) | |
|
1218 | rules = f.read() | |
|
1219 | f.close() | |
|
1220 | actions = parserules(rules, state) | |
|
1221 | warnverifyactions(ui, repo, actions, state, ctxs) | |
|
1222 | ||
|
1223 | parentctxnode = repo[root].parents()[0].node() | |
|
1224 | ||
|
1225 | state.parentctxnode = parentctxnode | |
|
1226 | state.actions = actions | |
|
1227 | state.topmost = topmost | |
|
1228 | state.replacements = [] | |
|
1229 | ||
|
1230 | # Create a backup so we can always abort completely. | |
|
1231 | backupfile = None | |
|
1232 | if not obsolete.isenabled(repo, obsolete.createmarkersopt): | |
|
1233 | backupfile = repair._bundle(repo, [parentctxnode], [topmost], root, | |
|
1234 | 'histedit') | |
|
1235 | state.backupfile = backupfile | |
|
1236 | ||
|
1231 | 1237 | def bootstrapcontinue(ui, state, opts): |
|
1232 | 1238 | repo = state.repo |
|
1233 | 1239 | if state.actions: |
General Comments 0
You need to be logged in to leave comments.
Login now