Show More
@@ -1126,9 +1126,9 b' def iterhunks(ui, fp, sourcefile=None):' | |||
|
1126 | 1126 | if (empty is None and not gitworkdone) or empty: |
|
1127 | 1127 | raise NoHunks |
|
1128 | 1128 | |
|
1129 | ||
|
1129 | 1130 | def applydiff(ui, fp, changed, strip=1, sourcefile=None, eolmode='strict'): |
|
1130 | """ | |
|
1131 | Reads a patch from fp and tries to apply it. | |
|
1131 | """Reads a patch from fp and tries to apply it. | |
|
1132 | 1132 | |
|
1133 | 1133 | The dict 'changed' is filled in with all of the filenames changed |
|
1134 | 1134 | by the patch. Returns 0 for a clean patch, -1 if any rejects were |
@@ -1137,7 +1137,17 b' def applydiff(ui, fp, changed, strip=1, ' | |||
|
1137 | 1137 | If 'eolmode' is 'strict', the patch content and patched file are |
|
1138 | 1138 | read in binary mode. Otherwise, line endings are ignored when |
|
1139 | 1139 | patching then normalized according to 'eolmode'. |
|
1140 | ||
|
1141 | Callers probably want to call 'updatedir' after this to apply | |
|
1142 | certain categories of changes not done by this function. | |
|
1140 | 1143 | """ |
|
1144 | return _applydiff( | |
|
1145 | ui, fp, patchfile, copyfile, | |
|
1146 | changed, strip=strip, sourcefile=sourcefile, eolmode=eolmode) | |
|
1147 | ||
|
1148 | ||
|
1149 | def _applydiff(ui, fp, patcher, copyfn, changed, strip=1, | |
|
1150 | sourcefile=None, eolmode='strict'): | |
|
1141 | 1151 | rejects = 0 |
|
1142 | 1152 | err = 0 |
|
1143 | 1153 | current_file = None |
@@ -1165,13 +1175,13 b' def applydiff(ui, fp, changed, strip=1, ' | |||
|
1165 | 1175 | afile, bfile, first_hunk = values |
|
1166 | 1176 | try: |
|
1167 | 1177 | if sourcefile: |
|
1168 |
current_file = patch |
|
|
1169 |
|
|
|
1178 | current_file = patcher(ui, sourcefile, opener, | |
|
1179 | eolmode=eolmode) | |
|
1170 | 1180 | else: |
|
1171 | 1181 | current_file, missing = selectfile(afile, bfile, |
|
1172 | 1182 | first_hunk, strip) |
|
1173 |
current_file = patch |
|
|
1174 |
|
|
|
1183 | current_file = patcher(ui, current_file, opener, | |
|
1184 | missing=missing, eolmode=eolmode) | |
|
1175 | 1185 | except PatchError, err: |
|
1176 | 1186 | ui.warn(str(err) + '\n') |
|
1177 | 1187 | current_file, current_hunk = None, None |
@@ -1182,7 +1192,7 b' def applydiff(ui, fp, changed, strip=1, ' | |||
|
1182 | 1192 | cwd = os.getcwd() |
|
1183 | 1193 | for gp in gitpatches: |
|
1184 | 1194 | if gp.op in ('COPY', 'RENAME'): |
|
1185 |
copyf |
|
|
1195 | copyfn(gp.oldpath, gp.path, cwd) | |
|
1186 | 1196 | changed[gp.path] = gp |
|
1187 | 1197 | else: |
|
1188 | 1198 | raise util.Abort(_('unsupported parser state: %s') % state) |
General Comments 0
You need to be logged in to leave comments.
Login now