##// END OF EJS Templates
strip: add --keep flag to avoid modifying wc during strip...
Augie Fackler -
r12682:58a3e260 default
parent child Browse files
Show More
@@ -2522,7 +2522,18 b' def strip(ui, repo, *revs, **opts):'
2522 2522 del q.applied[start:end]
2523 2523 q.save_dirty()
2524 2524
2525 repo.mq.strip(repo, list(rootnodes), backup=backup, update=update,
2525 revs = list(rootnodes)
2526 if update and opts.get('keep'):
2527 wlock = repo.wlock()
2528 try:
2529 urev = repo.mq.qparents(repo, revs[0])
2530 repo.dirstate.rebuild(urev, repo[urev].manifest())
2531 repo.dirstate.write()
2532 update = False
2533 finally:
2534 wlock.release()
2535
2536 repo.mq.strip(repo, revs, backup=backup, update=update,
2526 2537 force=opts.get('force'))
2527 2538 return 0
2528 2539
@@ -3145,9 +3156,10 b' cmdtable = {'
3145 3156 ('b', 'backup', None, _('bundle only changesets with local revision'
3146 3157 ' number greater than REV which are not'
3147 3158 ' descendants of REV (DEPRECATED)')),
3148 ('n', 'no-backup', None, _('no backups')),
3149 ('', 'nobackup', None, _('no backups (DEPRECATED)'))],
3150 _('hg strip [-f] [-n] REV...')),
3159 ('n', 'no-backup', None, _('no backups')),
3160 ('', 'nobackup', None, _('no backups (DEPRECATED)')),
3161 ('k', 'keep', None, _("do not modify working copy during strip"))],
3162 _('hg strip [-k] [-f] [-n] REV...')),
3151 3163 "qtop": (top, [] + seriesopts, _('hg qtop [-s]')),
3152 3164 "qunapplied":
3153 3165 (unapplied,
@@ -380,3 +380,39 b' stripping ancestor of queue'
380 380 applied patches after stripping ancestor of queue
381 381
382 382 $ hg qapplied
383
384 Verify strip protects against stripping wc parent when there are uncommited mods
385
386 $ echo b > b
387 $ hg add b
388 $ hg ci -m 'b'
389 $ hg log --graph
390 @ changeset: 1:7519abd79d14
391 | tag: tip
392 | user: test
393 | date: Thu Jan 01 00:00:00 1970 +0000
394 | summary: b
395 |
396 o changeset: 0:9ab35a2d17cb
397 user: test
398 date: Thu Jan 01 00:00:00 1970 +0000
399 summary: a
400
401
402 $ echo c > b
403 $ echo c > bar
404 $ hg strip tip
405 abort: local changes found
406 [255]
407 $ hg strip tip --keep
408 saved backup bundle to * (glob)
409 $ hg log --graph
410 @ changeset: 0:9ab35a2d17cb
411 tag: tip
412 user: test
413 date: Thu Jan 01 00:00:00 1970 +0000
414 summary: a
415
416 $ hg status
417 M bar
418 ? b
General Comments 0
You need to be logged in to leave comments. Login now