Show More
@@ -2380,7 +2380,16 b' def revert(ui, repo, ctx, parents, *pats' | |||||
2380 | modified = set(changes[0]) |
|
2380 | modified = set(changes[0]) | |
2381 | added = set(changes[1]) |
|
2381 | added = set(changes[1]) | |
2382 | removed = set(changes[2]) |
|
2382 | removed = set(changes[2]) | |
2383 | deleted = set(changes[3]) |
|
2383 | _deleted = set(changes[3]) | |
|
2384 | ||||
|
2385 | # split between files known in target manifest and the others | |||
|
2386 | smf = set(mf) | |||
|
2387 | ||||
|
2388 | # determine the exact nature of the deleted changesets | |||
|
2389 | _deletedadded = _deleted - smf | |||
|
2390 | _deletedmodified = _deleted - _deletedadded | |||
|
2391 | added |= _deletedadded | |||
|
2392 | modified |= _deletedmodified | |||
2384 |
|
2393 | |||
2385 | # We need to account for the state of file in the dirstate |
|
2394 | # We need to account for the state of file in the dirstate | |
2386 | # |
|
2395 | # | |
@@ -2397,6 +2406,8 b' def revert(ui, repo, ctx, parents, *pats' | |||||
2397 | dsmodified = set(changes[0]) |
|
2406 | dsmodified = set(changes[0]) | |
2398 | dsadded = set(changes[1]) |
|
2407 | dsadded = set(changes[1]) | |
2399 | dsremoved = set(changes[2]) |
|
2408 | dsremoved = set(changes[2]) | |
|
2409 | dsadded |= _deletedadded | |||
|
2410 | dsmodified |= _deletedmodified | |||
2400 |
|
2411 | |||
2401 | # if f is a rename, update `names` to also revert the source |
|
2412 | # if f is a rename, update `names` to also revert the source | |
2402 | cwd = repo.getcwd() |
|
2413 | cwd = repo.getcwd() | |
@@ -2413,17 +2424,12 b' def revert(ui, repo, ctx, parents, *pats' | |||||
2413 | return _('forgetting %s\n') |
|
2424 | return _('forgetting %s\n') | |
2414 | return _('removing %s\n') |
|
2425 | return _('removing %s\n') | |
2415 |
|
2426 | |||
2416 | # split between files known in target manifest and the others |
|
|||
2417 | smf = set(mf) |
|
|||
2418 |
|
||||
2419 | missingmodified = dsmodified - smf |
|
2427 | missingmodified = dsmodified - smf | |
2420 | dsmodified -= missingmodified |
|
2428 | dsmodified -= missingmodified | |
2421 | missingadded = dsadded - smf |
|
2429 | missingadded = dsadded - smf | |
2422 | dsadded -= missingadded |
|
2430 | dsadded -= missingadded | |
2423 | missingremoved = dsremoved - smf |
|
2431 | missingremoved = dsremoved - smf | |
2424 | dsremoved -= missingremoved |
|
2432 | dsremoved -= missingremoved | |
2425 | missingdeleted = deleted - smf |
|
|||
2426 | deleted -= missingdeleted |
|
|||
2427 |
|
2433 | |||
2428 | # action to be actually performed by revert |
|
2434 | # action to be actually performed by revert | |
2429 | # (<list of file>, message>) tuple |
|
2435 | # (<list of file>, message>) tuple | |
@@ -2443,8 +2449,6 b' def revert(ui, repo, ctx, parents, *pats' | |||||
2443 | (missingadded, (actions['remove'], False)), |
|
2449 | (missingadded, (actions['remove'], False)), | |
2444 | (dsremoved, (actions['undelete'], True)), |
|
2450 | (dsremoved, (actions['undelete'], True)), | |
2445 | (missingremoved, (None, False)), |
|
2451 | (missingremoved, (None, False)), | |
2446 | (deleted, (actions['revert'], False)), |
|
|||
2447 | (missingdeleted, (actions['remove'], False)), |
|
|||
2448 | ) |
|
2452 | ) | |
2449 |
|
2453 | |||
2450 | for abs, (rel, exact) in sorted(names.items()): |
|
2454 | for abs, (rel, exact) in sorted(names.items()): |
General Comments 0
You need to be logged in to leave comments.
Login now